熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle數據庫的數據遷移方法

2013-11-13 15:31:43  來源: Oracle 

  主要介紹了Oracle數據庫的數據遷移方法詳細內容請大家參考下文 隨著數據庫管理系統和操作系統平台的更新換代的速度的加快數據庫管理員經常需要在兩個不同的數據庫之間或在兩種不同的系統平台之間進行數據遷移本文介紹了數據庫數據遷移的一般步驟以及實現向Oraclei數據庫進行數據遷移的幾種方法並對它們的優缺點做了對比分析 在開發環境向運行環境轉換低版本數據庫向高版本數據庫轉換以及兩個不同數據庫之間進行轉換時數據庫中的數據(包括結構定義)需要被轉移並使之正常運行這就是數據庫中的數據遷移對於中小型數據庫如Foxpro中的*dbf這種遷移非常簡單一般只需通過簡單的Copy就能完成但對於大型數據庫系統如Oracle 數據庫數據遷移就不那麼簡單了它需要利用一定的技術和經驗有步驟按計劃地完成

  數據遷移的一般步驟 對數據庫管理人員來說數據庫數據遷移極具挑戰性一旦措施不當珍貴的數據資源將面臨丟失的危險要成功地實現數據庫數據平滑遷移需要周密計劃和充分准備並按照一定的步驟來完成

  設計數據遷移方案 設計數據遷移方案主要包括以下幾個方面工作研究與數據遷移相關的資料或在網站上查詢相關內容評估和選擇數據遷移的軟硬件平台選擇數據遷移方法選擇數據備份和恢復策略設計數據遷移和測試方案等

  進行數據模擬遷移 根據設計的數據遷移方案建立一個模擬的數據遷移環境它既能仿真實際環境又不影響實際數據然後在數據模擬遷移環境中測試數據遷移的效果數據模擬遷移前也應按備份策略備份模擬數據以便數據遷移後能按恢復策略進行恢復測試

  測試數據模擬遷移 根據設計的數據遷移測試方案測試數據模擬遷移也就是檢查數據模擬遷移後數據和應用軟件是否正常主要包括數據一致性測試應用軟件執行功能測試性能測試數據備份和恢復測試等

  准備實施數據遷移 數據模擬遷移測試成功後在正式實施數據遷移前還需要做好以下幾個方面工作進行完全數據備份確定數據遷移方案安裝和配置軟硬件等

  正式實施數據遷移 按照確定的數據遷移方案正式實施數據遷移

  測試數據遷移效果 按照數據遷移測試方案測試數據遷移效果並對數據遷移後的數據庫參數和性能進行調整使之滿足數據遷移後實際應用系統的需要

  移植系統應用軟件 將實際應用系統的應用軟件移植到數據遷移後的數據庫系統上並使之正常運行

  正式運行應用系統 在正式實施數據遷移成功並且數據庫參數和性能達到要求後就可以正式運行應用系統並投入實際使用

  實現向Oraclei數據遷移 Oracle數據庫數據遷移可以從一個版本遷移到另一個版本(即升級)也可以從一個主版本遷移到另一個主版本(即移植)例如從Oracle遷移到Oracle可以從一個系統平台遷移到另一個系統平台例如從Unix系統遷移到Windows NT系統也可以從非Oracle數據庫遷移到Oracle數據庫例如從MS SQL Server遷移到 Oracle數據庫在實現Oracle數據庫數據遷移前需要了解以下幾個方面的問題對數據庫系統的要求對 Oracle數據庫DB_Block_Size的要求對Oracle使用字符集的要求對SQL*NET版本的要求對操作系統平台的要求等 Oracle數據庫系統本身提供了實現Oracle數據庫數據遷移的多種工具我們還可以利用PowerBuilder的數據管道功能實現Oracle數據庫數據遷移

  當前Oracle數據庫的較舊版本是Oraclei以下介紹可以實現數據庫數據遷移到Oraclei的幾種方法

  方法移植實用程序(Migration Utility)

  MIG是Oracle提供的用於Oracle數據庫之間數據遷移的命令行方式實用程序使用MIG遷移Oracle的數據到Oraclei的一般步驟為

  設置 Oracle數據庫環境變量包括運行注冊表編輯器(regeditexe)和控制面板設置Oracle主目錄字符集和可執行文件路徑等並在DOS 命令提示符下設置Oracle_sid=Oracle_sid並正常關閉Oracle數據庫

  運行Oraclei的MIG應用程序生成一個轉換文件用於數據庫轉換

  從Windows NT控制面板終止Oracle數據庫服務並使用實例管理器刪除Oracle數據庫服務

  設置Oraclei數據庫環境變量包括運行注冊表編輯器(regeditexe)和控制面板設置Oraclei主目錄字符集和可執行文件路徑等由oradim 命令使用Oracle_sid和initora文件創建Oraclei服務重新命名數據庫控制文件編輯initora文件設置compatible為刪除initora文件中不再使用的參數在DOS命令提示符下設置Oracle_Sid=Oracle_sid

  實現數據遷移以內部用戶賬號連接服務器管理器以非登錄方式啟動Oraclei數據庫由alter database covert命令生成新的控制文件並把文件頭轉換為Oraclei數據庫文件格式由alter database open resetlog命令打開數據庫並且重新設置日志文件由spool migscriptslog命令創建輸出目標文件該文件保存前面命令腳本文件的運行結果運行usql當使用數據庫高級復制功能選項時運行Catrepsql當使用Oracle Parallel Server選項時運行catparrsql由spool out命令結束結果輸出並關閉數據庫和備份數據庫

  方法Oracle 數據移植助理(Oracle data Migration Assistant)

  Oracle數據移植助手用於將Oracle數據庫移植到 Oracle數據庫升級Oracle數據庫較早版本到Oracle數據庫新版本Oracle數據移植助手不用於升級較低版本Oracle數據庫到較高版本Oracle數據庫使用Oracle數據移植助手遷移Oracle數據庫數據到Oraclei的一般步驟是

  關閉Oracle數據庫終止所有Oracle數據庫服務編輯initora文件設置compatible為刪除initora文件中不再使用的參數

  運行Oracle數據移植助手在Database Instance頁選擇移植的數據庫實例輸人internal用戶賬號密碼並提供initora文件位置在Moving the Database頁指定數據庫移植的新位置如果用戶還沒有進行備份在Backup the Database 頁允許用戶進行數據庫備份在Character Set頁指定移植後的數據庫使用的字符集

  開始移植過程移植過程需要的時間取決於系統內存容量硬盤速度CPU速度等因素

  移植完成後可以查看Migration Report頁檢查移植是否成功執行如果移植沒有成功應當把數據庫系統返回到備份的Oracle數據庫

  編輯initora文件添加在Oraclei數據庫中會用到的參數刪除在移植過程中用到的舊的控制文件

  當使用數據庫高級復制功能選項時運行catrepsql當使用Oracle Parallel Server選項時運行catparrsql方法導入/導出工具(Export/Import)

  當需要從一個非PC的系統平台(例如Unix系統)遷移數據庫時導人/導出方式是一種非常有用的策略當然相同系統平台的數據遷移導人/導出方式同樣適用采用導入/導出方式遷移Oracle Database on Unix到 Oraclei Database on Windows NT數據庫的一般步驟是

  以正常方式關閉Unix系統的 Oracle數據庫系統不要立即終止或者異常終止然後冷備份數據庫打開數據庫使用導出工具(Export Utility)進行數據庫的完全導出

  在Windows NT系統安裝Oraclei數據庫軟件並創建啟動數據庫

  使用FTP將文件傳輸到Windows NT計算機必須使用FTP的binary傳輸模式否則可能造成讀導出轉儲文件錯誤

  確認目標數據庫在運行並在DOS命令提示符下設置oracle_sid=Oraclei_SID

  使用導出轉儲文件執行到目標數據庫完全的導人

  查看導入日志文件確認數據庫導入執行成功

  方法SQl*Loader工具

  SQL*Loader可以將ASCII文件中的數據裝入Oracle數據庫ASCII文件中的信息可以來自不同的數據源例如其他Oracle數據庫非Oracle數據庫以及電子表格等

  采用SQl*Loader工具將數據遷移到Oracle數據庫的一般步驟有

  使用文本文件編輯器創建控制文件

  在DOS命令行下使用sqlldr命令裝載數據文件

  驗證數據是否正確裝載方法SQL*PLUS COPY 命令

  使用SQL*PLUS COPY命令遷移Oracle數據庫到 Oraclei與導人/導出方式相似但是此時需要兩個數據庫都在線其一般步驟是

  首先安裝Oraclei數據庫並創建一個數據庫作為目標數據庫

  添加所需的表空間和用戶到目標數據庫中安裝所需的SQL*Net或者Net軟件並配置用於連接數據庫的別名

  在DOS命令提示符下設置oracle_sid=Oracle_sid

  以Internal用戶賬號連接SQL*PLUS

  創建一個從Oracle數據庫到Oraclei數據庫的數據庫鏈接使用SQL*PLUS COPY命令從Oracle數據庫復制表和表內容到Oraclei數據庫

  將視圖同義詞存儲過程等添加到目標數據庫

  方法PowerBuilder數據管道工具(Pipeline)

  PowerBuilder數據管道工具是PowerBuilder提供的一個用於轉換數據的智能對象它可以在圖形方式下實現不同類型數據庫間的數據遷移而無需SQL 編程PowerBuilder數據管道的操作是在圖形方式下實現的因此比較簡單其一般步驟是

  啟動PowerBuilder

  點擊工具欄上的DBProfile按鈕通過ODBC或專用接口配置源和目標數據庫連接同時連接到源和目標數據庫

  單擊工具欄上的Pipeline按鈕建一個新的數據管道確定好源和目標數據庫

  選擇要傳輸數據的表並根據需要選中想傳輸的列

  選擇數據遷移方式Create-AddTable(在目標庫中建立一個新表並復制數據)Replace-Drop/AddTable(刪除舊表並復制數據)Refresh -DeleteRows(刪除表中的現有數據並復制數據)Append-InsertRows(在現有數據基礎上增加新數據)Update-Update/InsertRows(新增數據的鍵值如果與現有數據某行的鍵值一樣則覆蓋現有數據否則插入新數據)

  單擊Execute按鈕運行定義好的數據管道完成數據遷移


From:http://tw.wingwit.com/Article/program/Oracle/201311/16858.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.