




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Oracle 數據遷移技術與方案姓 名:學 號:指導老師:系 名:軟件學院專 業:計算機科學與技術班 級: 11 級 12 班2012年 5月 21 日目錄摘要 - 1 -第 1 章 ORACLE 數據遷移技術 - 1 -1.1 數據遷移技術 - 11.2 數據遷移的一般步驟 - 11.3 ORACLE 數據遷移方法 -3-第 2 章 ORACLE 數據遷移方案 - 6 -2.1 使用可移動表空間 -62.2 數據泵導出與導入工具 -62.3 拖出表空間 -7-第 3 章 總結 - 8 -摘要在企業級應用系統中 ,新系統的開發 , 新舊系統的升級換代 ,以及正常的系統維護 , 不可避免地涉及到
2、大量的遷移工作。而在一個以數據為核心的業務系統中 , 數據的遷移 更是無處不在。比如:在以數據倉庫為架構原型的系統設計中 ,ETL( 抽取, 轉換, 裝載)部 分的實現就是一種數據遷移;對大型數據系統的分布式實施 , 數據遷移就是整個實施過 程的主要部分。而在實踐中 ,漸進式的數據庫開發 ,更是涉及到大量的數據遷移和同步工 作。Oracle 數據庫是當今世界上應用訪問最為廣泛的數據庫之一 , 是關系型數據庫的創 作者,也是客戶/服務器結構、分布式數據庫和網格計算的倡導者和領導者。 基于 Oracle 數據庫平臺的商品化應用軟件包 , 已經廣泛應用于國內的政府部門、電信、郵政、公安、 金融、保險
3、、能源電力、交通、科教、石化、航空航天、民航等各行各業 , 當這些系統 進行系統升級時 , 不可避免的要進行數據遷移 ,因此研究 Oracle 環境的數據遷移很有價 值。第 1 章 Oracle 數據遷移技術1.1 數據遷移技術數據遷移 (又稱分級存儲管理, hierarchical storage managemen,t hsm)是一種將離線 存儲與在線存儲融合的技術。它將高速、高容量的非在線存儲設備作為磁盤設備的下一 級設備,然后將磁盤中常用的數據按指定的策略自動遷移到磁帶庫(簡稱帶庫)等二級 大容量存儲設備上。當需要使用這些數據時,分級存儲系統會自動將這些數據從下一級 存儲設備調回到上一
4、級磁盤上。對于用戶來說,上述數據遷移技術操作完全是透明的, 只是在訪問磁盤的速度上略有怠慢,而在邏輯磁盤的容量上明顯感覺大大提高了。通俗 地講,數據遷移技術是一種可以把大量不經常訪問的數據存放在帶庫、盤庫等離線介質 上,只在盤陣上保存少量訪問頻率高的數據的技術。 當那些磁帶等介質上數據被訪問時, 系統自動的把這些數據回遷到盤陣中;同樣,盤陣中很久未訪問的數據被自動遷移到磁 帶介質上,從而大大降低投入和管理成本。1.2 數據遷移的一般步驟在開發環境向運行環境轉換、 低版本數據庫向高版本數據庫轉換以及兩個不同數據 庫之間進行轉換時,數據庫中的數據(包括結構定義)需要被轉移并使之正常運行,這 就是數
5、據庫中的數據遷移。對于中小型數據庫,如 Foxpro 中的 .dbf ,這種遷移非常 簡單,一般只需通過簡單的 Copy就能完成。但對于大型數據庫系統, 如 Oracle 數據庫, 數據遷移就不那么簡單了,它需要利用一定的技術和經驗,有步驟按計劃地完成。對數據庫管理人員來說,數據庫數據遷移極具挑戰性,一旦措施不當,珍貴的數據 資源將面臨丟失的危險, 要成功地實現數據庫數據平滑遷移, 需要周密計劃和充分準備, 并按照一定的步驟來完成。1. 設計數據遷移方案 設計數據遷移方案主要包括以下幾個方面工作:研究與數據遷移相關的資料,或在 網站上查詢相關內容、評估和選擇數據遷移的軟硬件平臺、選擇數據遷移方
6、法、選擇數 據備份和恢復策略、設計數據遷移和測試方案等。2. 進行數據模擬遷移 根據設計的數據遷移方案,建立一個模擬的數據遷移環境,它既能仿真實際環境又 不影響實際數據,然后在數據模擬遷移環境中測試數據遷移的效果。數據模擬遷移前也 應按備份策略備份模擬數據,以便數據遷移后能按恢復策略進行恢復測試。3. 測試數據模擬遷移根據設計的數據遷移測試方案測試數據模擬遷移, 也就是檢查數據模擬遷移后數據 和應用軟件是否正常, 主要包括:數據一致性測試、 應用軟件執行功能測試、 性能測試、 數據備份和恢復測試等。4. 準備實施數據遷移 數據模擬遷移測試成功后,在正式實施數據遷移前還需要做好以下幾個方面工作:
7、 進行完全數據備份、確定數據遷移方案、安裝和配置軟硬件等。5. 正式實施數據遷移 按照確定的數據遷移方案,正式實施數據遷移。6. 測試數據遷移效果按照數據遷移測試方案測試數據遷移效果, 并對數據遷移后的數據庫參數和性能進 行調整,使之滿足數據遷移后實際應用系統的需要。7. 移植系統應用軟件 將實際應用系統的應用軟件移植到數據遷移后的數據庫系統上,并使之正常運行。8. 正式運行應用系統 在正式實施數據遷移成功并且數據庫參數和性能達到要求后,就可以正式運行應用系統,并投入實際使用。1.3 Oracle 數據遷移方法Oracle 數據庫系統本身提供了實現 Oracle 數據庫數據遷移的多種工具,我們
8、還可 以利用 PowerBuilder 的數據管道功能實現 Oracle 數據庫數據遷移。,以下介紹可以實 現數據庫數據遷移的幾種方法:移植實用程序( Migration Utility ),Oracle 數據移 植助理 (Oracle data Migration Assistant) ,導入 / 導出工具( Export/Import ), SQl Loader 工具, SQLPLUS COPY命 令, PowerBuilder 數據管道工具( Pipeline )。1:移植實用程序( Migration Utility)MIG是 Oracle 提供的用于 Oracle 數據庫之間數據遷移
9、的命令行方式實用程序。使 用 MIG 遷移 Oracle7 的數據到 Oracle8i 的一般步驟為:設置 Oracle7 數據庫環境變量,包括運行注冊表編輯器( regedit.exe )和控制面 板,設置 Oracle7 主目錄、字符集和可執行文件路徑等,并在 DOS命 令提示符下設置 Oracle_sid=Oracle7_sid ,并正常關閉 Oracle7 數據庫。運行 Oracle8i 的 MIG應用程序,生成一個轉換文件,用于數據庫轉換。從 Windows NT控制面板終止 Oracle7 數據庫服務 , 并使用實例管理器刪除 Oracle7 數據庫服務。設置 Oracle8i 數
10、據庫環境變量,包括運行注冊表編輯器( regedit.exe )和控制面 板,設置 Oracle8i 主目錄、字符集和可執行文件路徑等;由 oradim 命令使用 Oracle7_sid 和 init.ora 文件創建 Oracle8i 服務;重新命名數據庫控制文件;編輯 init.ora 文件,設置 compatible 為 .0 ;刪除 init.ora 文件中不再使用的參數; 在 DOS命令提示符下設置 Oracle_Sid=Oracle8_sid 。實現數據遷移,以內部用戶賬號連接服務器管理器;以非登錄方式啟動 Oracle8i 數據庫;由 alter database
11、covert 命令生成新的控制文件, 并把文件頭轉換為 Oracle8i 數據庫文件格式;由 alter database open resetlog命令打開數據庫并且重新設置日志文件;由 spool migscripts.log 命令創建輸出目標文件,該文件保存前面命令腳本 文件的運行結果;運行 u0703030.sql ,當使用數據庫高級復制功能選項時,運行 Catrep.sql ,當使用 Oracle Parallel Server 選項時, 運行 catparr.sql ;由 spool out 命令結束結果輸出,并關閉數據庫和備份數據庫。查看 migscripts.out spool
12、 文件,確認腳本文件執行成功,如果腳本文件沒有成 功執行,返回到腳本文件,檢查可能出現的問題。2: Oracle 數據移植助理 (Oracle data Migration Assistant)Oracle 數據移植助手用于將 Oracle7 數據庫移植到 Oracle8 數據庫。升級 Oracle8 數據庫較早版本到 Oracle8 數據庫新版本。 Oracle 數據移植助手不用于升級較低版本 Oracle7 數據庫到較高版本 Oracle7 數據庫。使用 Oracle 數據移植助手遷移 Oracle7 數據庫數據到 Oracle8i 的一般步驟是:關閉 Oracle7 數據庫,終止所有 O
13、racle 數據庫服務;編輯 init.ora 文件,設置 compatible 為 .0 ;刪除 init.ora 文件中不再使用的參數。運行 Oracle 數據移植助手,在 Database Instance 頁,選擇移植的數據庫實例, 輸人 internal 用戶賬號密碼,并提供 init.ora 文件位置;在 Moving the Database 頁, 指定數據庫移植的新位置;如果用戶還沒有進行備份 , 在 Backup the Database 頁,允 許用戶進行數據庫備份;在 Character Set 頁,指定移植后的數據庫使用的字符集。開始移植過程。移植過程需要
14、的時間取決于系統內存容量、硬盤速度、 CPU速度等 因素。移植完成后,可以查看 Migration Report 頁,檢查移植是否成功執行。如果移植 沒有成功,應當把數據庫系統返回到備份的 Oracle7 數據庫。編輯 init.ora 文件,添加在 Oracle8i 數據庫中會用到的參數。刪除在移植過程中 用到的舊的控制文件。當使用數據庫高級復制功能選項時,運行 catrep.sql ;當使用 Oracle Parallel Server 選項時,運行 catparr.sql 。3:導入 / 導出工具( Export/Import )當需要從一個非 PC的系統平臺(例如, Unix 系統)遷
15、移數據庫時,導人導出方 式是一種非常有用的策略,當然相同系統平臺的數據遷移導人導出方式同樣適用。采 用導入導出方式遷移 Oracle7 Database on Unix 到 Oracle8i Database on Windows NT數據庫的一般步驟是:以正常方式關閉 Unix 系統的 Oracle7 數據庫系統,不要立即終止或者異常終止, 然后冷備份數據庫。打開數據庫,使用導出工具( Export Utility )進行數據庫的完全 導出。在 Windows NT 系統安裝 Oracle8i 數據庫軟件并創建啟動數據庫。使用 FTP,將文件傳輸到 Windows NT計算機。必須使用 FT
16、P的 binary 傳輸模式, 否則,可能造成讀導出轉儲文件錯誤。確認目標數據庫在運行,并在 DOS命令提示符下設置 oracle_sid=Oracle8i_SID 。使用導出轉儲文件,執行到目標數據庫完全的導人查看導入日志文件,確認數據庫導入執行成功。4: SQlLoader 工具SQLLoader 可以將 ASCII 文件中的數據裝入 Oracle 數據庫。 ASCII 文件中的信息 可以來自不同的數據源,例如其他 Oracle 數據庫、非 Oracle 數據庫以及電子表格等。采用 SQl Loader 工具將數據遷移到 Oracle 數據庫的一般步驟有: 使用文本文件編輯器創建控制文件。
17、在 DOS命令行下使用 sqlldr 命令裝載數據文件。驗證數據是否正確裝載。5: SQLPLUS COPY命 令使用 SQLPLUSC OPY命令,遷移 Oracle7 數據庫到 Oracle8i 與導人導出方式相 似,但是,此時需要兩個數據庫都在線,其一般步驟是:首先安裝 Oracle8i 數據庫,并創建一個數據庫作為目標數據庫。添加所需的表空間和用戶到目標數據庫中; 安裝所需的 SQLNet2或者 Net8軟件, 并配置用于連接數據庫的別名。在 DOS命令提示符下設置 oracle_sid=Oracle7_sid 。以 Internal 用戶賬號連接 SQL PLUS。創建一個從 Ora
18、cle7 數據庫到 Oracle8i 數據庫的數據庫鏈接; 使用 SQLPLUSC OPY 命令從 Oracle7 數據庫復制表和表內容到 Oracle8i 數據庫。將視圖、同義詞、存儲過程等添加到目標數據庫。6: PowerBuilder 數據管道工具( Pipeline )PowerBuilder 數據管道工具是 PowerBuilder 提供的一個用于轉換數據的智能對 象,它可以在圖形方式下實現不同類型數據庫間的數據遷移而無 需 SQL 編程。 PowerBuilder 數據管道的操作是在圖形方式下實現的,因此比較簡單,其一般步驟是: 啟動 PowerBuilder 。點擊工具欄上的“
19、DBProfile" 按鈕,通過 ODBC或專用接口配置源和目標數據庫連 接,同時連接到源和目標數據庫。單擊工具欄上的“ Pipeline" 按鈕,建一個新的數據管道,確定好源和目標數據庫。 選擇要傳輸數據的表,并根據需要選中想傳輸的列。選擇數據遷移方式, Create AddTable(在目標庫中建立一個新表并復制數據) 、 Replace Drop/AddTable (刪除舊表并復制數據) 、Refresh DeleteRows(刪除表中 的現有數據并復制數據) 、Append InsertRows(在現有數據基礎上增加新數據) 、Update Update/Inser
20、tRows (新增數據的鍵值如果與現有數據某行的鍵值一樣則覆蓋現有數 據,否則插入新數據) 。單擊“ Execute" 按鈕運行定義好的數據管道完成數據遷移。第 2 章 Oracle 數據遷移方案為了有效地實現數據集市的方法,數據專家必須能將數據快速、有效地放入數據集 市中。如何用數據倉庫中的數據快速刷新數據集市中的數據,而這些數據集市又運行在 各個結構不同的平臺上。以下是 Oracle 數據遷移技術的幾種方案。2.1 使用可移動表空間把整個表空間移動到目標系統的最快速方法是用 FTP(文件傳輸協議)或 rcp(遠 程復制)來簡單地轉移表空間的基本文件。但是,僅僅復制 Oracle
21、數據文件還不夠,目 標數據庫必須識別出并導入文件以及相應的表空間,最終用戶才能使用表空間數據。使 用可移動表空間包括復制表空間文件和使它們中的數據在目標數據庫中可用。要移動表空間,使用 Oracle 數據庫 10g 中的數據泵導出( Data Pump Export)工具。 數據泵是 Oracle 的新一代數據轉移工具,它替換了早期的 Oracle Export (EXP)和 Import (IMP)工具。這些老的工具使用正則 SQL 來提取和插入數據,而數據泵則與它們不同, 它使用能繞過 SQL 緩沖區的專用 API ,從而使操作過程速度變得極快。 此外,數據泵可 以提取特定的對象,如特定的
22、存儲過程或特定表空間的表集合。 數據泵的導出和導入 可以由作業控制,數據庫管理員可以隨時暫停、重啟或終止這些作業。2.2 數據泵導出與導入工具選擇可移動表空間的限制之一是在轉移文件時源表空間必須是只讀模式。 在現實世 界中,并不總是能滿足這一要求。例如,在 OLTP 數據庫中,可能對表要經常進行讀寫 操作。使用 Oracle 數據庫 10g 中的數據泵實用工具來轉移表空間。 對這種方法進行的測試 包括移動 TS1和 TS2表空間內容的以下步驟:(1)創建一個目錄對象來存放轉儲的文件。CREATE DIRECTORY dump_dir AS '/u01/dumps'(2)用數據泵
23、導出工具導出數據。expdp lora/lora123 TABLESPACES=/(ts1,ts2/) DUMPFILE=ts1_ts2.dmp DIRECTORY=dump_dir這一步創建一個包含 TS1和 TS2表空間內容的文件 /u01/dumps/ ts1_ts2.dmp。(3)將文件 ts1_ts2.dmp 轉移到遠程系統中,放在目錄 /u01/dumps 下(用文件傳輸的 方法如 FTP 或 rcp)。(4)在目標數據庫中創建一個目錄對象。CREATE DIRECTORY dump_dirAS '/u01/dumps'(5)使用數據泵導入工具將該文件導入到該數據庫
24、中。impdp lora/lora123 DIRECTORY=dump_dir DUMPFILE=ts1_ts2.dmp 如果表空間內的數據量相對較小,則 Lora 可以只用一條命令執行上面的所有步驟: impdp lora/lora123 DIRECTORY=dump_dir NETWORK_LINK='srcdb' TABLESPACES=/(ts1,ts2/)這條命令使用數據泵導入工具將通過數據庫鏈接 srcdb(在以前的章節中已討論過) 檢索到的數據加載到表中。但是,由于網絡帶寬通常是受到限制的,因此這種方法可能 比使用導出 /傳輸 /導入周期方法要慢一些。如果 只需
25、將特 定的 表或 表集合進行 轉移 ,那 么可以 在 expdp 命 令中使用 TABLES=<tablelist>子句來只下載特定的表或表集合。2.3 拖出表空間使用 Oracle數據庫 10g中的新工具, 它簡化了可移動表空間的移動方法, 因此只涉 及執行一個打包過程。在這種方法中,用戶利用所提供的 DBMS_STREAMS_TABLESPACE_ADM 包從源系統中 "拖?quot;表空間。這個包使用數 據泵轉移表空間并將數據文件轉換成目標系統的格式。 它還自動執行任何所需的字節 順序變換。下面給出在最簡單的情況下使用這種方法的過程 -涉及單個簡單表空間(更復雜的
26、情況在下一節介紹) 。 如果一個表空間只有一個數據文件,則這個表空間稱為簡單表空 間。 DBMS_STREAMS_TABLESPACE_ADM 包中 PULL_SIMPLE_TABLESPACE 過程 的使用方法:(1)在存放數據文件的目錄所在的(遠程)數據倉庫數據庫中創建一個目錄對象。CREATE DIRECTORY dbf_dir AS '/u01/oradata/dw'( 2)設置遠程數據庫中的表空間 TS1 為只讀。ALTER TABLESPACE TS1 READ ONLY;剩下的一些步驟在本地(數據集市)數據庫中完成。( 3)創建一個連接到遠程(數據倉庫)數據庫(在
27、 Lora 的例子中是 dwdb)的數 據庫鏈接。CREATE DATABASE LINK dwdb USING 'dwdb'(4)創建一個數據文件將被轉移到其中的目錄對象。CREATE DIRECTORY dbf_dir AS '/u01/oradata/mart'(5)從遠程數據庫中拖出表空間。BEGINDBMS_STREAMS_TABLESPACE_ADM.PULL_SIMPLE_TABLESPACE ( tablespace_name => 'TS1', database_link => 'dwdb', dir
28、ectory_object => 'DBF_DIR', conversion_extension => 'linux');END;該操作在后臺完成了許多步驟:設置源表空間為只讀;用數據泵導出工具進行一次 表空間的元數據轉儲;用 DBMS_FILE_TRANSFER 包移動數據文件和轉儲的文件;把 源表空間恢復到其最初的讀寫狀態;使用數據泵導入工具將表空間插入到本地數據庫 中。由于源數據庫運行在 Linux 上,而目標數據庫運行在 Solaris 上,因此這一操作首先 復制原始數據文件( Linux 的文件格式),然后將它轉換到目標平臺上( Solar
29、is)的文件 格式。復制過程保持最初被轉移的文件,而創建一個新文件用于轉換。新文件與最初的 文件同名,但具有 CONVERSION_EXTENSION 參數指定的 linux 擴展名。在目標數據 庫中創建的表空間為只讀表空間。該操作還在與數據文件相同的目錄下創建一個名為 ts1_01.plg 的日志文件。如果執 行該過程返回錯誤信息,則檢查該文件的內容可能有助于找到錯誤的原因。拖出多個表空間 上面的例子針對的是單個簡單表空間的情況。但如果想移動一組表空間,或者一些 表空間的數據文件多于一個,該怎么辦呢?在這種情況下,她可以使用同一個包中的另 一個過程 PULL_TABLESPACES 。代碼清單 2 給出的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀行業務案例分析導論試題及答案
- 2024年畜牧師職稱考試全解析試題及答案
- 學習成熟度2025年特許金融分析師考試試題及答案
- 2024年供應鏈與畜牧師試題及答案
- 2024年畜牧師市場需求試題及答案
- 畜牧師職稱考試參與學習的心理動因分析及試題及答案
- 2025年特許金融分析師考試評估機制試題及答案
- 2025年特許金融分析師考試知識導讀試題及答案
- 2025年特許金融分析師考試新變化分析試題及答案
- 2025年銀行從業資格考試的實操測試試題及答案
- MT-T 1199-2023 煤礦用防爆柴油機無軌膠輪運輸車輛安全技術條件
- 睡眠呼吸暫停低通氣綜合征課件
- Scratch電子學會等級考試四級模擬題
- 2024年中考數學模擬考試試卷-帶答案(北師大版)
- 含油污水處理操作規程
- 基于STM32的停車場智能管理系統
- 中藥飲片處方審核培訓課件
- 客戶回訪表完整版本
- 2024年天貓運營月度計劃
- 毒蛇咬傷事故專項應急預案
- 巖溶地區建筑地基基礎技術規范
評論
0/150
提交評論