《甲骨文、超高速數(shù)據(jù)轉(zhuǎn)移實用工具的基礎(chǔ).ppt》由會員分享,可在線閱讀,更多相關(guān)《甲骨文、超高速數(shù)據(jù)轉(zhuǎn)移實用工具的基礎(chǔ).ppt(23頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、Oracle 數(shù)據(jù)庫 10g 中的數(shù)據(jù)泵: 超高速數(shù)據(jù)轉(zhuǎn)移實用工具的基礎(chǔ),甲骨文公司,數(shù)據(jù)泵:概述,什么是數(shù)據(jù)泵? 主要特性 體系結(jié)構(gòu) 性能 要記住的事情 對原來的 exp / imp 的一些看法,數(shù)據(jù)泵:什么是數(shù)據(jù)泵?,基于服務(wù)器的工具,用于在加載和卸載數(shù)據(jù)和元數(shù)據(jù)時獲得高性能 可調(diào)用:DBMS_DATAPUMP。在內(nèi)部使用 DBMS_METADATA 以直接路徑 (Direct Path) 流的格式寫入數(shù)據(jù)。以 XML 的格式寫入元數(shù)據(jù) 新的客戶端程序 expdp 和 impdp:原來的 exp / imp 的擴展集 流、邏輯備用、網(wǎng)格、可移動表空間和數(shù)據(jù)挖掘初始實例化的基礎(chǔ)。,特性:高性
2、能!!,自動、雙層并行化 用于分區(qū)間 并行化的直接路徑 用于分區(qū)內(nèi) 并行化的外部表 示例:parallel= 動態(tài):在企業(yè)版中可以從一個正在運行的作業(yè)中添加或刪除工作線程 自動構(gòu)建索引,使并行度達(dá)到作業(yè)數(shù) 同時進行數(shù)據(jù)和元數(shù)據(jù)卸載 單線程數(shù)據(jù)卸載:1.5-2X exp 單線程數(shù)據(jù)加載: 15X-40X imp 使用索引構(gòu)建:4-10X imp,特性:檢查點/重新啟動,作業(yè)進度記錄在一個“主表”中 可以顯式地停止并在以后重新啟動: 在當(dāng)前項目完成后停止或立即停止 異常終止的作業(yè)也可以重新啟動 如果有問題可以在重啟時跳過當(dāng)前的對象,特性:網(wǎng)絡(luò)模式,網(wǎng)絡(luò)導(dǎo)入:直接從一個數(shù)據(jù)庫加載 另一個數(shù)據(jù)庫 網(wǎng)絡(luò)
3、導(dǎo)出:將一個遠(yuǎn)程數(shù)據(jù)庫卸載至一個本地的轉(zhuǎn)儲文件集中 允許導(dǎo)出只讀數(shù)據(jù)庫 數(shù)據(jù)泵在本地運行,元數(shù)據(jù) API 遠(yuǎn)程運行。 使用數(shù)據(jù)庫鏈接,而不是管道。以 insert into select from 的方式轉(zhuǎn)移數(shù)據(jù) 直接路徑引擎在兩端均使用 很容易阻塞網(wǎng)絡(luò)帶寬:小心!,特性:細(xì)粒度的對象選擇,兩種 操作(導(dǎo)出和 導(dǎo)入)都支持 所有的 對象類型 Exclude(排除):從操作中 排除指定的對象類型 Include(包含):只 包含指定的對象類型。 例如,只包含檢索程序包、函數(shù)和過程 雖然可以指定兩者中的一個或兩個,但新的客戶端程序禁止同時使用兩者 兩者都使用一個可選的名稱過濾器,以獲得甚至更
4、高的細(xì)粒度: INCLUDE PACKAGE: “LIKE PAYROLL% “ EXCLUDE TABLE: “IN (FOO,BAR, ) “,特性:監(jiān)控,靈活的 GET_STATUS 調(diào)用 每個工作線程的狀態(tài),顯示當(dāng)前的對象和完成的百分比 初始的作業(yè)空間估計和總體完成百分比 作業(yè)狀態(tài)和描述 工作進度和錯誤,特性:轉(zhuǎn)儲文件集管理,基于目錄:例如,DMPDIR:export01.dmp 其中 DMPDIR 創(chuàng)建為: SQL create directory dmpdir as /data/dumps 支持指定多個帶通配符的文件: dumpfile=dmp1dir:full1%u.dmp,
5、dmp2dir:full2%u.dmp 根據(jù)需要從提供的文件指定中循環(huán)創(chuàng)建文件 可以限制文件大小以便管理 自動維護轉(zhuǎn)儲文件集的一致性,新的客戶端程序 expdp / impdp,類似(但不完全相同)于 exp / imp 的外觀 支持所有的模式:完整、模式、表、表空間、可傳輸。 exp / imp 的擴展集 支持閃回 expdp 和 impdp 都支持查詢,并且在每一個表的基礎(chǔ)上進行! 與正在運行的作業(yè)連接或分離 允許每個作業(yè)與多個客戶端程序連接;但一個客戶端程序一次只能與一個作業(yè)連接 如果擁有權(quán)限,可以連接并控制其他用戶的作業(yè),新的客戶端程序 expdp / impdp,通過 Ctl-C 進
6、入交互式模式: ADD_FILE:為作業(yè)添加轉(zhuǎn)儲文件和通配符文件指定 PARALLEL:動態(tài)添加或刪除工作線程 STATUS:獲取每個工作線程的詳細(xì)狀態(tài)并修改報表時間間隔 STOP_JOB=IMMEDIATE:停止作業(yè),使其為可重新啟動。IMMEDIATE 不等待工作線程完成當(dāng)前的工作項目它們將在重新啟動時重新執(zhí)行 START_JOB:重新啟動一個先前停止的作業(yè) KILL_JOB:停止作業(yè)并刪除其所有的資源 (主表、轉(zhuǎn)儲文件),使其為不可重新啟動 CONTINUE:退出交互模式,繼續(xù)記錄日志 EXIT:退出客戶端程序,使作業(yè)保持運行,特性:其他的出色特性,使用 XML 可以容易地進行 DDL
7、轉(zhuǎn)換: REMAP_SCHEMA REMAP_TABLESPACE REMAP_DATAFILE 可以隱藏段和存儲屬性 可以只提取和加載數(shù)據(jù)、或元數(shù)據(jù),或提取和加載兩者 SQLFILE 操作生成可執(zhí)行的 DDL 腳本 如果一個表在加載時已存在,那么您可以:跳過它(默認(rèn))、替換它、截取然后加載或者附加到其末尾 根據(jù)分配的塊(默認(rèn))或統(tǒng)計信息(如果提供)進行空間估計 企業(yè)管理器界面集成了 9i 和 10g 可調(diào)用!,體系結(jié)構(gòu):結(jié)構(gòu)圖,,直接路徑 API,外部表 API,,元數(shù)據(jù) API:DBMS_METADATA,數(shù)據(jù)泵,,,,,,,,,體系結(jié)構(gòu):流程圖,,無需客戶端!,轉(zhuǎn)儲文件集: 數(shù)據(jù)、元數(shù)
8、據(jù)和主表,,,,,,,數(shù)據(jù)泵:性能調(diào)整,默認(rèn)的初始化參數(shù)就非常好! 確保 disk_asynch_io 保持為 TRUE 擴展 I/O! Parallel= 不超過兩倍的 CPU 數(shù)量: 不要超過磁盤最高容量。 必然的結(jié)果:擴展 I/O?。?! 為 AQ 消息發(fā)送和元數(shù)據(jù) API 查詢提供足夠的 SGA 為長時間運行的查詢提供足夠的回滾 這就是性能調(diào)整!,大型的互聯(lián)網(wǎng)公司2 個事實表: 16.2M 行,2 Gb,Oracle 應(yīng)用程序種子數(shù)據(jù)庫:,密集的元數(shù)據(jù):392K 個對象,200 個模式,10K 個表,總共 2.1 Gb 的數(shù)據(jù) 原來的 exp / imp 總共花費:32 小時 50 分鐘
9、 exp:2 小時 13 分鐘 imp: 30 小時 37 分鐘 數(shù)據(jù)泵 expdp / impdp 總共花費:15 小時 40 分鐘 Expdp:1 小時 55 分鐘 impdp: 13 小時 45 分鐘對于 expdp 和 impdp,Parallel=2,請記?。?設(shè)計用于處理大量數(shù)據(jù)的*大型*作業(yè) 元數(shù)據(jù)性能幾乎一樣 更復(fù)雜的基礎(chǔ)架構(gòu),更長的啟動時間 XML 比 DDL 更大,但更靈活 轉(zhuǎn)儲文件中的數(shù)據(jù)格式與 exp 相比壓縮了大約 15% 通過修剪主表實現(xiàn)了子集導(dǎo)入,原來的 exp 和 imp,將永遠(yuǎn)支持原來的 imp,以允許加載 V5 V9i 的轉(zhuǎn)儲文件 原來的 exp 至少在 1
10、0g 中提供,但可能不支持所有新的功能。 9i exp 可以用于從 10g 降級 不兼容原來的轉(zhuǎn)儲文件格式和數(shù)據(jù)泵轉(zhuǎn)儲文件格式,10g Beta 反饋,英國電信: Ian Crocker,性能與存儲顧問 “我們已經(jīng)測試了新的 Oracle10g 導(dǎo)出和導(dǎo)入實用工具: Oracle 數(shù)據(jù)泵。數(shù)據(jù)泵導(dǎo)出的執(zhí)行速度是原來的兩倍,數(shù)據(jù)泵導(dǎo)入的執(zhí)行速度比原來快十倍。新的可管理性特性在監(jiān)視作業(yè)狀態(tài)時為我們提供更高的靈活性?!?Airbus Deutschland: Werner Kawollek,操作應(yīng)用程序管理 “我們已經(jīng)測試了 Oracle 數(shù)據(jù)泵導(dǎo)出和導(dǎo)入實用工具,豐富的功能給我們留下了深刻的印象。首次測試結(jié)果表明與原來的導(dǎo)出和導(dǎo)入實用工具相比性能得到了巨大的提高。”,