天天看點

oracle 資料庫備份還原 EXPDP IMPDP

一、expdp/impdp和exp/imp的差別

1、exp和imp是用戶端工具程式,它們既可以在用戶端使用,也可以在服務端使用。

2、expdp和impdp是服務端的工具程式,他們隻能在oracle服務端使用,不能在用戶端使用。

3、imp隻适用于exp導出的檔案,不适用于expdp導出檔案;impdp隻适用于expdp導出的檔案,而不适用于exp導出檔案。

4、對于10g以上的伺服器,使用exp通常不能導出0行資料的空表,而此時必須使用expdp導出。

二、expdp導出步驟

(1)建立邏輯目錄:

   第一步:在伺服器上建立真實的目錄;(注意:第三步建立邏輯目錄的指令不會在OS上建立真正的目錄,是以要先在伺服器上建立真實的目錄。如下圖:)

oracle 資料庫備份還原 EXPDP IMPDP

  第二步:用sys管理者登入sqlplus;

oracle 資料庫備份還原 EXPDP IMPDP

  第三步:建立邏輯目錄;

SQL> create directory data_dir as '/home/oracle/dmp/user';

Directory created.

  第四步:檢視管理者目錄,檢查是否存在;

SQL> select * from dba_directories;

OWNER DIRECTORY_NAME

DIRECTORY_PATH

SYS DATA_DIR

/home/oracle/dmp/user

  第五步:用sys管理者給你的指定使用者賦予在該目錄的操作權限。

SQL> grant read,write on directory data_dir to user;

Grant succeeded.

(2)用expdp導出dmp,有五種導出方式:

第一種:“full=y”,全量導出資料庫;

expdp user/passwd@orcl dumpfile=expdp.dmp directory=data_dir full=y logfile=expdp.log;

第二種:schemas按使用者導出;

expdp user/passwd@orcl schemas=user dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;

第三種:按表空間導出;

expdp sys/passwd@orcl tablespace=tbs1,tbs2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;

第四種:導出表;

expdp user/passwd@orcl tables=table1,table2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;

第五種:按查詢條件導;

expdp user/passwd@orcl tables=table1='where number=1234' dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;

繼續閱讀