expdp / impdp 用法詳解

來源:互聯網
上載者:User

標籤:使用   os   io   檔案   資料   art   cti   ar   

一  關於expdp和impdp     使用EXPDP和IMPDP時應該注意的事項:
EXP和IMP是用戶端工具程式,它們既可以在用戶端使用,也可以在服務端使用。
EXPDP和IMPDP是服務端的工具程式,他們只能在ORACLE服務端使用,不能在用戶端使用。
IMP只適用於EXP匯出的檔案,不適用於EXPDP匯出檔案;IMPDP只適用於EXPDP匯出的檔案,而不適用於EXP匯出檔案。
expdp或impdp命令時,可暫不指出使用者名稱/密碼@執行個體名 as 身份,然後根據提示再輸入,如:
expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;
一、建立邏輯目錄,該命令不會在作業系統建立真正的目錄,最好以system等管理員建立。
create directory dpdata1 as ‘d:\test\dump‘;
二、查看管理理員目錄(同時查看作業系統是否存在,因為Oracle並不關心該目錄是否存在,如果不存在,則出錯)
select * from dba_directories;
三、給scott使用者賦予在指定目錄的操作許可權,最好以system等管理員賦予。
grant read,write on directory dpdata1 to scott;
四、匯出資料
1)按使用者導
expdp scott/[email protected] schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;
2)並行進程parallel
expdp scott/[email protected] directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3
3)按表名導
expdp scott/[email protected] TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;
4)按查詢條件導
expdp scott/[email protected] directory=dpdata1 dumpfile=expdp.dmp Tables=emp query=‘WHERE deptno=20‘;
5)按資料表空間導
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
6)導整個資料庫
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;
五、還原資料
1)導到指定使用者下
impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;
2)改變表的owner
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
3)匯入資料表空間
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;
4)匯入資料庫
impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;
5)追加資料
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION

二  附加說明      並行操作(PARALLEL)
您可以通過 PARALLEL 參數為匯出使用一個以上的線程來顯著地加速作業。每個線程建立一個單獨的轉儲檔案,因此參數 dumpfile 應當擁有和並行度一樣多的項目。您可以指定萬用字元作為檔案名稱,而不是顯式地輸入各個檔案名稱,例如:
expdp ananda/abc123 tables=CASES directory=DPDATA1 dumpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Export
注意:dumpfile 參數擁有一個萬用字元 %U,它指示檔案將按需要建立,格式將為expCASES_nn.dmp,其中nn 從 01 開始,然後按需要向上增加。
在並行模式下,狀態螢幕將顯示四個背景工作處理序。(在預設模式下,只有一個進程是可見的)所有的背景工作處理序同步取出資料,並在狀態螢幕上顯示它們的進度。
分離訪問資料檔案和轉儲目錄檔案系統的輸入/輸出通道是很重要的。否則,與維護 Data Pump 作業相關的開銷可能超過並行線程的效益,並因此而降低效能。並行方式只有在表的數量多於並行值並且表很大時才是有效。
資料庫監控
您還可以從資料庫檢視獲得關於啟動並執行 Data Pump 作業的更多資訊。監控作業的主視圖是 DBA_DATAPUMP_JOBS,它將告訴您在作業上有多少個背景工作處理序(列 DEGREE)在工作。
另一個重要的視圖是 DBA_DATAPUMP_SESSIONS,當它與上述視圖和 V$SESSION 結合時將給出主前台進程的會話 SID。
select sid, serial# from v$session s, dba_datapump_sessions d where s.saddr = d.saddr;
這條指令顯示前台進程的會話。更多有用的資訊可以從警報日誌中獲得。當進程啟動時,MCP 和背景工作處理序在警報日誌中顯示如下:
kupprdp:master process DM00 started with pid=23, OS id=20530 to execute - SYS.KUPM$MCP.MAIN(‘CASES_EXPORT‘, ‘ANANDA‘); kupprdp:worker process DW01 started with worker id=1, pid=24, OS id=20532 to execute - SYS.KUPW$WORKER.MAIN(‘CASES_EXPORT‘, ‘ANANDA‘); kupprdp:worker process DW03 started with worker id=2, pid=25, OS id=20534 to execute - SYS.KUPW$WORKER.MAIN(‘CASES_EXPORT‘, ‘ANANDA‘);
它顯示為資料泵操作啟動的會話的 PID。您可以用以下查詢找到實際的 SID:
select sid, program from v$session where paddr in (select addr from v$process where pid in (23,24,25));
PROGRAM 列將對應警報記錄檔中的名稱顯示進程 DM (為主進程)或 DW (為背景工作處理序)。如果一個背景工作處理序使用了並行查詢,比如說 SID 23,您可以在視圖 V$PX_SESSION 中看到它,並把它找出來。它將為您顯示從 SID 23 代表的背景工作處理序中啟動並執行所有並行查詢會話:
select sid from v$px_session where qcsid = 23;
從視圖 V$SESSION_LONGOPS 中可以獲得其它的有用資訊來預測完成作業將花費的時間。
select sid, serial#, sofar, totalwork from v$session_longops where opname = ‘CASES_EXPORT‘ and sofar != totalwork;
列 totalwork 顯示總工作量,該列的 sofar 數量被加和到當前的時刻 — 因而您可以用它來估計還要花多長時間。
三 oracle 10g 和11g的互相匯入和匯出    1) 可以用10g的client串連11個匯出11g的資料庫,即可匯入10g   2)用expdp,impdp,如:
在11g伺服器上,使用expdp命令備份資料

EXPDP USERID=‘SYS/[email protected] as sysdba‘ schemas=sybj directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0

在10g伺服器上,使用impdp命令恢複資料

準備工作:1.建庫2.建資料表空間3.建使用者並授權4.將aa.dmp拷貝到10g的dpdump目錄下

IMPDP USERID=‘SYS/[email protected] as sysdba‘ schemas=sybj directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0

  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.