expdp 遷移測試

shawnloong發表於2017-09-05
以下操作需要資料庫伺服器上操作,如果需要遠端操作請參閱http://blog.itpub.net/24486203/viewspace-2132814/
1.源庫建立directory目錄
sqlplus / as sysdba
create directory dumpdir as '/u01/dumpdir'; ---/u01/dumpdir為系統已經建立好的目錄

2.源庫相關資料查詢
查詢源庫的表空間
select tablespace_name from dba_segments where owner='TEST' group by tablespace_name;---TEST為需要遷移的使用者
查詢源庫的使用者物件資料量
select count(*),object_type from dba_objects where owner='TEST' group by object_type; ---統計遷移使用者物件資料量

3.源庫匯出
expdp directory=dumpdir dumpfile=test20170905.dmp logfile=test20170905.log schemas=TEST
輸入 / as sysdba

相關引數說明
dumpdir 為之前建立directory目錄
dumpfile為匯出檔名,匯出後檔案路徑在/u01/dumpdir下也就是之前建立directory目錄下
logfile 匯出日誌名,可檢視是否匯出成功
schemas匯出schema名可理解為使用者名稱

另還有以下常用引數可供使用
tables 可指定匯出表名如匯出test下的aa表,這裡引數為tables=test.aa用逗號分開
content 可指定只需要匯出資料(content=data_only)或只需要匯出表結構(content=metadata_only)
exclude 可過濾不需要匯出資料 
exclude=index 不匯出索引 
exclude=statistics 不匯出統計資訊
parallel=4 指定並行度為4 資料庫過大可以加快匯出速度要跟filesize 結合使用如果匯出資料為10G parallel =4那麼filesize=2G 檔名dumpfile=test%U.dmp %U有遞增生成的檔名
version 指定匯出版本,如果高版本匯入到低版本一般要加低版本對應的 version如果12c匯入到11g 指定version=11.2.0
還可以將這些引數寫入到parfile檔案
cat test.par

directory=dumpdir1
dumpfile=product_20170821.dmp
logfile=product_20170821.log
tables=(pwb.CATEGORY_CORPORATION_RELATION,pwb.test,pwb.order_detail)

expdp parfile=test.par

匯入端資料庫操作
建立表空間可與源表空間不一致
create tablespace tbs_test datafile '/u01/app/oracle/oradata/orcl/tbs_test01.dbf' size 2G autoextend on next 20M maxsize 8G;
建立目錄
create directory dumpdir '/u01/dumpdir'--這個目錄隨意。但是oralce系統使用者一定要有寫許可權
匯入資料
將源伺服器/u01/dumpdir/test20170905.dmp複製到新伺服器/u01/dumpdir(剛剛建立directory目錄)下
impdp directory=dumpdir dumpfile=test20170902.dmp logfile=test20170902.log 
/ as sysdba

如果新表空間名稱跟原來不一致
impdp directory=dumpdir dumpfile=test20170902.dmp logfile=test20170902.log  remap_tablespace=tbs_old:tbs_new
tbs_old為從源庫查出來的表空間名,如果有多個都要寫一下,中間逗號分隔
tbs_new為新表空間名









來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24486203/viewspace-2144524/,如需轉載,請註明出處,否則將追究法律責任。

相關文章