expdb匯出資料庫使用者的資料,可以限制含(include), 或排除(exclude)某些表名,或按sql查詢表名, 使用時需要用配置檔案,如下:
--假設oracle使用者為wisg,需排除一些_his結尾的表. %u為並行度的多個檔案編號
[oracle@redhat-inux1 ~]$ more expdb_cfg_wisg.par
directory=wisgdump
dumpfile=wisg_expdb20200727_%u.dmp
schemas=wisg
logfile=wisg_expdb20200727.log
parallel=5
exclude=table:"in(select table_name from user_tables where table_name like '%_his' )"
[oracle@edhat-inux1 ~]$ expdp wisg/password@wisgdb parfile=expdb_cfg_wisg.par
其中directory要提前用sql建立,用於存放匯入或匯出的dump檔案,例如這個目錄/dmp/expdp
sql> create or replace directory wisgdump as '/dmp/expdp';
sql> grant read,write on directory wisgdump to wisg;
匯出時引數content=metadata_only,指定匯出內容為只匯出表結構,不匯出資料。匯入impdp用同樣的include和content引數。
需要注意 : include ,exclude引數值在命令列中時,其中表名mytable_a和mytable_b必須大寫, 必須用\來轉義除逗號以外的符號; 如果寫在par檔案中則不需要轉義(例如上文)。
expdp wisg/password@wisgdb schemas=wisg include=table:\"in\(\'mytable\_a\', \'mytable\_b\'\)\"
匯入示例: 匯入到wisg2使用者( 該使用者對應的表空間為tbs2)
[oracle@redhat-inux2 ~]$ impdp wisg2/wisg2@orcl directory=wisgdump dumpfile=wisg_expdb20200727_%u.dmp logfile=wisg_expdb20200727_impdp.log parallel=5 remap_schema=wisg:wisg2 remap_tablespace=tbs1:tbs2
如果匯入時的使用者名稱相同,表空間名也相同,則簡單一些
[oracle@redhat-inux2 ~]$ impdp wisg/wisg@orcl directory=wisgdump dumpfile=wisg_expdb20200727_%u.dmp logfile=wisg_expdb20200727_impdp.log parallel=5 schemas=wisg
以下3條命令依次是:匯入dmp並排除4個表;匯入1個表結構;匯入3個表的p_cur分割槽(其餘分割槽也會建好,資料為空)
impdp wisg/wisg@orcl directory=wisgdump dumpfile=wisg_expdb20200727_%u.dmp logfile=wisg_expdb20200727_impdp.log parallel=5 schemas=wisg exclude=table:\"in\(\'tincome\'\,\'tconfirm\'\,\'tconfirmdetail\'\,\'tsharecurrents\'\,\'tdividenddetail\'\)\"
impdp wisg/wisg@orcl directory=wisgdump dumpfile=wisg_expdb20200727_%u.dmp logfile=wisg_expdb20200727_impdp.log parallel=5 schemas=wisg include=table:\"in\(\'tincome\'\)\" content=metadata_only
impdp wisg/wisg@orcl directory=wisgdump dumpfile=wisg_expdb20200727_%u.dmp logfile=wisg_expdb20200727_impdp.log parallel=5 tables=tconfirm:p_cur,tconfirmdetail:p_cur,tsharecurrents:p_cur,tdividenddetail:p_cur
EXPDB和IMPDB使用詳解
expdb和impdb是日常維護經常會用到的命令,例如系統遷移和備份等。下面 1.建立邏輯目錄,該命令不會再作業系統建立真正的目錄,最好以system等管理員建立 create directory exppath as home oracle 檢視管理員目錄 select from dba dire...
expdb和impdb使用方法
一 關於expdp和impdp 使用expdp和impdp時應該注意的事項 exp和imp是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。expdp和impdp是服務端的工具程式,他們只能在oracle服務端使用,不能在客戶端使用。imp只適用於exp匯出的檔案,不適用於expdp匯出...
oracle 資料幫浦使用
1 建立directory create or replace directory ekltrustdirectory as home oracle eklxt restoredb 注意 1 要確保路徑在服務上存在 2 如果linux環境要有目錄要有讀寫許可權 2 匯出備份 export oracl...