Oracle 10g expdp/impdp在項(xiàng)目中實(shí)踐總結(jié) |
發(fā)布時(shí)間: 2012/7/28 17:10:30 |
自 Oracle 10g 版本開始,數(shù)據(jù)泵 (data dump) 作為一種新的數(shù)據(jù)移動(dòng)技術(shù)提供出來。使用這個(gè)技術(shù)工具分別為 expdp 和 impdp 。我們?cè)趯?shí)際項(xiàng)目中經(jīng)常使用到它們,如從生產(chǎn)庫向測試庫遷移數(shù)據(jù)。 我介紹一下這兩個(gè)工具的用途、使用方法、以及它們與 9i 的 imp/exp 的區(qū)別。 expdp 和 impdp 的主要用途有三點(diǎn),分別是: 1 、實(shí)現(xiàn)數(shù)據(jù)庫的邏輯備份和恢復(fù); 2 、在相同或不同的數(shù)據(jù)庫的不同用戶之間移動(dòng)數(shù)據(jù)庫對(duì)象如表定義和數(shù)據(jù)、函數(shù)、存儲(chǔ)過程; 3 、可以和 rman 聯(lián)合使用,實(shí)現(xiàn)表空間級(jí)別的數(shù)據(jù)快速遷移。 (注,這個(gè)用途,我專門在一文中注明了其實(shí)現(xiàn)過程: exp/expdp 傳輸表空間和 rman convert 實(shí)現(xiàn)大數(shù)據(jù)量快速遷移 http://www.linuxidc.com/Linux/2012-06/62056.htm) expdp 和 impdp 的使用中有很多參數(shù)選項(xiàng),不同的選項(xiàng)實(shí)現(xiàn)不同的功能。這里先重點(diǎn)介紹一下 expdp 的主要功能點(diǎn)。 1 、導(dǎo)出某一個(gè)用戶,加 schemas 2 、導(dǎo)出一個(gè)用戶下導(dǎo)出部分表,加 tables 3 、導(dǎo)出一個(gè)用戶下不包括某些表,加 exclude 4 、導(dǎo)出所有表的符合某個(gè)條件(如表的前 10000 行)的記錄,加 query 5 、導(dǎo)出某個(gè)時(shí)間點(diǎn)或 SCN 的數(shù)據(jù)鏡像,加 flashback_time 或 flashback_scn 這個(gè)功能用于 streams 、 ogg 等數(shù)據(jù)實(shí)時(shí)同步工具的實(shí)例化操作。 6 、導(dǎo)出數(shù)據(jù)庫的元數(shù)據(jù)或全部數(shù)據(jù),加 CONTENT={ALL | DATA_ONLY | METADATA_ONLY} 7 、導(dǎo)出數(shù)據(jù)庫某個(gè)表空間的元數(shù)據(jù),用于表空間快速遷移,加 transport_tablespace=y tablespaces=tbs_name 8 、限制每個(gè)導(dǎo)出文件的大小,加 filesize 還可以限制每個(gè)導(dǎo)出文件的大小,加并行度,統(tǒng)計(jì)導(dǎo)出對(duì)象等其他功能。這些功能我日常用的不多,可以參數(shù) expdp –help 。 expdp 工具的使用示例如下: expdp qlzq/qlzqp SCHEMAS=ebmall directory=test dumpfile=ebmall.dmp logfile=ebmall.log 這是實(shí)現(xiàn)將用戶 ebmall 下所有對(duì)象導(dǎo)出到目錄 test 下的 ebmall.dmp 文件中的操作,記錄的日志文件為 ebmall.log 。 expdp qlzq/qlzqp directory=test dumpfile=qlzq.dmp logfile=qlzq.log EXCLUDE=TABLE:\"IN \(\'CMS_DOC_BODY\',\' MAIL_QUEUE_FILE\',\'S ERVICE_LOG\',\'MSG_MAIL_HISTORY\',\'MAIL_QUEUE_FILE\'\)\" 這是實(shí)現(xiàn)導(dǎo)出一個(gè)用戶下除掉部分表之外的所有對(duì)象的操作。在 expdp 使用過程中,這三個(gè)參數(shù) directory 、 dumpfile 、 logfile 是必須加上。 impdp 工具的功能有很多,主要使用到的功能是 rmap_schema ,參數(shù)為 REMAP_SCHEMA=source_schema:target_schema 其他的功能可參考 impdp -help impdp system/oracl directory=qlzq dumpfile=qlzq.dmp logfile=qlzq.log 在目標(biāo)庫上,導(dǎo)入前沒有 qlzq 用戶,使用 impdp 導(dǎo)入時(shí)可以自動(dòng)創(chuàng)建。新建用戶的密碼都會(huì)和源庫一樣。導(dǎo)入前需要將表空間建立好,大小合適。 如果源庫的 dmp 文件是使用 system 用戶導(dǎo)出的另一個(gè)用戶,則需要加 schemas 選項(xiàng),指定導(dǎo)入用戶。 如導(dǎo)出該 dmp 文件的用戶是 qlzq, 那么導(dǎo)入時(shí)我們則需要執(zhí)行 schemals 參數(shù)值 使用方法如下: impdp system/oracl directory=qlzq schemas=ebmall dumpfile=ebmall.dmp logfile=ebmall.log 10g 的 expdp/impdp 和 exp/imp 的區(qū)別,我認(rèn)為最主要的部分是前者是只能運(yùn)行在數(shù)據(jù)庫服務(wù)器端,后者可以在客戶端或服務(wù)器端同時(shí)運(yùn)行。 這個(gè)區(qū)別就涉及到跨平臺(tái)的數(shù)據(jù)導(dǎo)入導(dǎo)出的問題。 本文出自:億恩科技【www.riomediacenter.com】 1 、實(shí)現(xiàn)數(shù)據(jù)庫的邏輯備份和恢復(fù); 2 、在相同或不同的數(shù)據(jù)庫的不同用戶之間移動(dòng)數(shù)據(jù)庫對(duì)象如表定義和數(shù)據(jù)、函數(shù)、存儲(chǔ)過程; 3 、可以和 rman 聯(lián)合使用,實(shí)現(xiàn)表空間級(jí)別的數(shù)據(jù)快速遷移。 (注,這個(gè)用途,我專門在一文中注明了其實(shí)現(xiàn)過程: exp/expdp 傳輸表空間和 rman convert 實(shí)現(xiàn)大數(shù)據(jù)量快速遷移 http://www.linuxidc.com/Linux/2012-06/62056.htm) expdp 和 impdp 的使用中有很多參數(shù)選項(xiàng),不同的選項(xiàng)實(shí)現(xiàn)不同的功能。這里先重點(diǎn)介紹一下 expdp 的主要功能點(diǎn)。 1 、導(dǎo)出某一個(gè)用戶,加 schemas 2 、導(dǎo)出一個(gè)用戶下導(dǎo)出部分表,加 tables 3 、導(dǎo)出一個(gè)用戶下不包括某些表,加 exclude 4 、導(dǎo)出所有表的符合某個(gè)條件(如表的前 10000 行)的記錄,加 query 5 、導(dǎo)出某個(gè)時(shí)間點(diǎn)或 SCN 的數(shù)據(jù)鏡像,加 flashback_time 或 flashback_scn 這個(gè)功能用于 streams 、 ogg 等數(shù)據(jù)實(shí)時(shí)同步工具的實(shí)例化操作。 6 、導(dǎo)出數(shù)據(jù)庫的元數(shù)據(jù)或全部數(shù)據(jù),加 CONTENT={ALL | DATA_ONLY | METADATA_ONLY} 7 、導(dǎo)出數(shù)據(jù)庫某個(gè)表空間的元數(shù)據(jù),用于表空間快速遷移,加 transport_tablespace=y tablespaces=tbs_name 8 、限制每個(gè)導(dǎo)出文件的大小,加 filesize 還可以限制每個(gè)導(dǎo)出文件的大小,加并行度,統(tǒng)計(jì)導(dǎo)出對(duì)象等其他功能。這些功能我日常用的不多,可以參數(shù) expdp –help 。 expdp 工具的使用示例如下: expdp qlzq/qlzqp SCHEMAS=ebmall directory=test dumpfile=ebmall.dmp logfile=ebmall.log 這是實(shí)現(xiàn)將用戶 ebmall 下所有對(duì)象導(dǎo)出到目錄 test 下的 ebmall.dmp 文件中的操作,記錄的日志文件為 ebmall.log 。 expdp qlzq/qlzqp directory=test dumpfile=qlzq.dmp logfile=qlzq.log EXCLUDE=TABLE:\"IN \(\'CMS_DOC_BODY\',\' MAIL_QUEUE_FILE\',\'S ERVICE_LOG\',\'MSG_MAIL_HISTORY\',\'MAIL_QUEUE_FILE\'\)\" 這是實(shí)現(xiàn)導(dǎo)出一個(gè)用戶下除掉部分表之外的所有對(duì)象的操作。在 expdp 使用過程中,這三個(gè)參數(shù) directory 、 dumpfile 、 logfile 是必須加上。 impdp 工具的功能有很多,主要使用到的功能是 rmap_schema ,參數(shù)為 REMAP_SCHEMA=source_schema:target_schema 其他的功能可參考 impdp -help impdp system/oracl directory=qlzq dumpfile=qlzq.dmp logfile=qlzq.log 在目標(biāo)庫上,導(dǎo)入前沒有 qlzq 用戶,使用 impdp 導(dǎo)入時(shí)可以自動(dòng)創(chuàng)建。新建用戶的密碼都會(huì)和源庫一樣。導(dǎo)入前需要將表空間建立好,大小合適。 如果源庫的 dmp 文件是使用 system 用戶導(dǎo)出的另一個(gè)用戶,則需要加 schemas 選項(xiàng),指定導(dǎo)入用戶。 如導(dǎo)出該 dmp 文件的用戶是 qlzq, 那么導(dǎo)入時(shí)我們則需要執(zhí)行 schemals 參數(shù)值 使用方法如下: impdp system/oracl directory=qlzq schemas=ebmall dumpfile=ebmall.dmp logfile=ebmall.log 10g 的 expdp/impdp 和 exp/imp 的區(qū)別,我認(rèn)為最主要的部分是前者是只能運(yùn)行在數(shù)據(jù)庫服務(wù)器端,后者可以在客戶端或服務(wù)器端同時(shí)運(yùn)行。 這個(gè)區(qū)別就涉及到跨平臺(tái)的數(shù)據(jù)導(dǎo)入導(dǎo)出的問題。 本文出自:億恩科技【www.enidc.com】 --> 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |