oracle 資料泵引數

bitifi發表於2015-09-22

ORACLE使用EXPDP和IMPDP資料泵進行匯出匯入的方法

使用expdp和impdp時應該注重的事項:

1、exp和imp是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。
2、expdp和impdp是服務端的工具程式,他們只能在oracle服務端使用,不能在客戶端使用。
3、imp只適用於exp匯出的檔案,不適用於expdp匯出檔案;impdp只適用於expdp匯出的檔案,而不適用於exp匯出檔案。
4、對於10g以上的伺服器,使用exp通常不能匯出0行資料的空表,而此時必須使用expdp匯出。


一、建立邏輯目錄,該命令不會在作業系統建立真正的目錄(請先建立真正的目錄),最好以system等管理員建立邏輯目錄。
SQL>conn system/manger@orcl as sysdba
SQL>create directory dump_dir as 'd:\test\dump';

 

二、檢視管理員目錄(同時檢視作業系統是否存在,因為oracle並不關心該目錄是否存在,假如不存在,則出錯)
SQL>select * from dba_directories;

 

三、給scott使用者賦予在指定目錄的操作許可權,最好以system等管理員賦予。
SQL>grant read,write on directory dump_dir to scott;

 

四、用expdp匯出資料

1)匯出使用者
expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp directory=dump_dir;

2)匯出表
expdp scott/tiger@orcl tables=emp,dept dumpfile=expdp.dmp directory=dump_dir;

3)按查詢條件導
expdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp tables=empquery='where deptno=20';

4)按表空間導
expdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmptablespaces=temp,example;

5)導整個資料庫
expdp system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y;


五、用impdp匯入資料

1)匯入使用者(從使用者scott匯入到使用者scott)
impdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp schemas=scott;

2)匯入表(從scott使用者中把表dept和emp匯入到system使用者中)
impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmptables=scott.dept,scott.emp remap_schema=scott:system;

3)匯入表空間
impdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmp tablespaces=example;

4)匯入資料庫
impdb system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y;

5)追加資料
impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp schemas=systemtable_exists_action


oracle資料泵備份(Expdp命令)

  Oracle備份方式主要分為資料泵匯出備份、熱備份與冷備份三種,今天首先 來實踐一下資料泵備份與還原。資料泵匯出/匯入屬於邏輯備份,熱備份與冷備份都屬於物理備份。oracle10g開始推出了資料泵(expdp /impdp),可以使用並行引數選項,因此,相對於傳統的exp命令來說,執行效率更高。

  一、知曉expdp命令

C:\>expdp -help

Export: Release 11.1.0.7.0 - Production on 星期六, 28 9月, 2013 10:21:52

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

資料泵匯出實用程式提供了一種用於在 Oracle 資料庫之間傳輸資料物件的機制。該實用程式可以使用以下命令進行呼叫:

示例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

您可以控制匯出的執行方式。具體方法是: 在 'expdp' 命令後輸入各種引數。要指定各引數, 請使用關鍵字:

   格式: expdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)

   示例: expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scot

        或 TABLES=(T1:P1,T1:P2), 如果 T1 是分割槽表

USERID 必須是命令列中的第一個引數。

關鍵字               說明 (預設)

---------------------------------------------------------------------------

ATTACH                連線到現有作業, 例如 ATTACH [=作業名]。

COMPRESSION           減小轉儲檔案內容的大小, 其中有效關鍵字  值為: ALL, (METADATA_ONLY), DATA_ONLY 和 NONE。

CONTENT               指定要解除安裝的資料, 其中有效關鍵字  值為: (ALL), DATA_ONLY 和 METADATA_ONLY。  --預設值為ALL                   

DATA_OPTIONS          資料層標記, 其中唯一有效的值為: 使用CLOB格式的 XML_CLOBS-write XML 資料型別

DIRECTORY             供轉儲檔案和日誌檔案使用的目錄物件

DUMPFILE              目標轉儲檔案 (expdat.dmp) 的列表,例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.d

ENCRYPTION            加密部分或全部轉儲檔案, 其中有效關鍵字值為: ALL, DATA_ONLY, METADATA_ONLY,ENCRYPTED_COLUMNS_ONLY 或 NONE。

ENCRYPTION_ALGORITHM  指定應如何完成加密, 其中有效關鍵字值為: (AES128), AES192 和 AES256。

ENCRYPTION_MODE       生成加密金鑰的方法, 其中有效關鍵字值為: DUAL, PASSWORD 和 (TRANSPARENT)。

ENCRYPTION_PASSWORD   用於建立加密列資料的口令關鍵字。

ESTIMATE              計算作業估計值, 其中有效關鍵字值為: (BLOCKS) 和 STATISTICS。

ESTIMATE_ONLY         在不執行匯出的情況下計算作業估計值。

EXCLUDE               排除特定的物件型別, 例如 EXCLUDE=TABLE:EMP。--EXCLUDE=[object_type]:[name_clause],[object_type]:[name_clause]
FILESIZE              以位元組為單位指定每個轉儲檔案的大小。

FLASHBACK_SCN         用於將會話快照設定回以前狀態的 SCN。 -- 指定匯出特定SCN時刻的表資料
FLASHBACK_TIME        用於獲取最接近指定時間的 SCN 的時間。--指定匯出特定時間點的表資料,注意FLASHBACK_SCN和FLASHBACK_TIME不能同時使 用
FULL                  匯出整個資料庫 (N)。

HELP                  顯示幫助訊息 (N)。

INCLUDE               包括特定的物件型別, 例如 INCLUDE=TABLE_DATA。

JOB_NAME              要建立的匯出作業的名稱。

LOGFILE               日誌檔名 (export.log)。

NETWORK_LINK          連結到源系統的遠端資料庫的名稱。

NOLOGFILE             不寫入日誌檔案 (N)。

PARALLEL              更改當前作業的活動 worker 的數目。

PARFILE               指定引數檔案

QUERY                 用於匯出表的子集的謂詞子句。--QUERY = [schema.][table_name:] query_clause
REMAP_DATA            指定資料轉換函式,例如 REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO。

REUSE_DUMPFILES       覆蓋目標轉儲檔案 (如果檔案存在) (N)。

SAMPLE                要匯出的資料的百分比;

SCHEMAS               要匯出的方案的列表 (登入方案)。

STATUS                在預設值 (0) 將顯示可用時的新狀態的情況下,要監視的頻率 (以秒計) 作業狀態。

TABLES                標識要匯出的表的列表 - 只有一個方案。--[schema_name.]table_name[:partition_name][,…]
TABLESPACES          標識要匯出的表空間的列表。

TRANSPORTABLE         指定是否可以使用可傳輸方法, 其中有效關鍵字值為: ALWAYS, (NEVER)。

TRANSPORT_FULL_CHECK  驗證所有表的儲存段 (N)。

TRANSPORT_TABLESPACES 要從中解除安裝後設資料的表空間的列表。

VERSION               要匯出的物件的版本, 其中有效關鍵字為:(COMPATIBLE), LATEST 或任何有效的資料庫版本。


下列命令在互動模式下有效。

注: 允許使用縮寫

命令               說明

---------------------------------------------------------------------------

ADD_FILE              向轉儲檔案集中新增轉儲檔案。

CONTINUE_CLIENT       返回到記錄模式。如果處於空閒狀態, 將重新啟動作業。

EXIT_CLIENT           退出客戶機會話並使作業處於執行狀態。

FILESIZE              後續 ADD_FILE 命令的預設檔案大小 (位元組)。

HELP                  總結互動命令。

KILL_JOB              分離和刪除作業。

PARALLEL              更改當前作業的活動 worker 的數目。PARALLEL=。                    
REUSE_DUMPFILES       覆蓋目標轉儲檔案 (如果檔案存在) (N)。

START_JOB             啟動/恢復當前作業。

STATUS                在預設值 (0) 將顯示可用時的新狀態的情況下,要監視的頻率 (以秒計) 作業狀態。STATUS[=interval]

STOP_JOB              順序關閉執行的作業並退出客戶機。STOP_JOB=IMMEDIATE 將立即關閉資料泵作業。


備註:紅顏色標記的字型,表示是expdp命令常用的命令選項,這個需要大家掌握理解並能靈活運用。()括號括起來的代表是expdp命令的預設選項

 二、準備工作

  1、查詢路徑資訊

   檢視已經建立的路徑資訊:

    SELECT * FROMdba_directories;

  2、建立路徑

  建立路徑需要sys許可權,需要有create any directory許可權才可以建立路徑。

  選項:DIRECTORY=directory_object

  Directory_object用於指定目錄物件名稱。需要注意,目錄物件是使用CREATE DIRECTORY語句建立的物件,而不是OS目錄。

  eg: CREATE OR REPLACEdirectory backup_path AS 'D:\APP\ORADATA\db_backup'; --建立路徑名為dackup_path的路徑,並指向硬碟的指定位置

  對新建立的路徑進行授權操作:

  eg:grant read,write on directory backup_path to orcldev; --將對路徑的讀寫許可權分配各orcldev使用者。

 三、操作例項

  執行expdp和impdp命令需要擁有exp_full_database和imp_full_database許可權,授權語句如下:

  eg:grant exp_full_database,imp_full_database to orcldev;

   1、匯出orcldev這個schema的所用物件[schemas or full]

   eg:expdp orcldev/oracle@orcldev directory=backup_pathdumpfile=orcldev_schema.dmp logfile=orcldev_schema_2013.log schemas=orcldev

   2、匯出orcldev這個使用者下的某些表[tables]

   eg:C:\>expdp orcldev/oracle directory=dackup_pathdumpfile=orcldev_table.dmp logfile=orcldev_table_2013.logtables=('TAB_TEST','TAB_A')

   3、只匯出orcldev這個使用者的後設資料[content]

   eg:C:\>expdp orcldev/oracle directory=dackup_pathdumpfile=orcldev_meta.dmp logfile=orcldev_meta_2013.log     

      SCHEMAS=orcldevCONTENT=METADATA_ONLY

    4、只匯出orcldev這個使用者50%的抽樣資料[sample]

   eg:C:\>expdp orcldev/oracle directory=dackup_pathdumpfile=orcldev_samp.dmp logfile=orcldev_samp_2013.log schemas=orcldevsample=50

    5、採用並行方式備份整庫[parallel]

    parallel引數只有在oracle10g之後的版本(包含10g)有效。

    oracle_online:you can use the DUMPFILE parameter during export operations tospecify multiple dump files, by using a substitution variable (%U) in thefilename. This is called a dump file template. The new dump files are createdas they are needed, beginning with 01 for %U, then using 02,03,and so on.

   eg:C:\>expdporcldev/oracle directory=dackup_path dumpfile=orcldev_parallel_%U.dmplogfile=orcldev_parallel_2013.log parallel=4

    "%U"表示自動生成遞增的序列號。

   6、匯出orcldev這個方案物件,但不包含索引[exclude]

   eg: --可以剔除的物件有:VIEW,PACKAGE,FUNCTION,index,constraints,table,schema,user等等

     1) C:\>expdp orcldev/oracle directory=dackup_pathdumpfile=orcldev_exclude.dmp logfile=orcldev_exclude.log SCHEMAS=orcldevEXCLUDE=index

     2) C:\>expdp orcldev/oracle directory=dackup_pathdumpfile=orcldev_exclude.dmp logfile=orcldev_exclude.log SCHEMAS=orcldevEXCLUDE=INDEX:"LIKE 'TEST%'"   --匯出這個orcldev方案,剔除以TEST開頭的索引

     3) C:\>expdp orcldev/oracle directory=dackup_pathdumpfile=orcldev_exclude.dmp logfile=orcldev_exclude.logEXCLUDE=SCHEMA:"='SCOTT'"

     C:\>expdp orcldev/oracle directory=dackup_pathdumpfile=orcldev_exclude.dmp logfile=orcldev_exclude.logEXCLUDE=USER:"='SCOTT'"

        --備份整庫但剔除SCOTT這個使用者的物件。  

   注意:include與exclude不能同時使用。

    7、PARFILE選項

    expdp命令可以呼叫parfile檔案,在parfile裡可以寫備份指令碼,可以使用query選項。

Oracle highly recommends that you place QUERY specifications in a parameter file; otherwise, you might have to useoperating system-specific escape characters on the command line before eachquotation mark.

    如expdp.txt內容如下:

         USERID=orcldev/oracledirectory=dackup_path dumpfile=orcldev_parfile.dmp logfile=orcldev_parfile.logTABLES='TAB_TEST' QUERY="WHERETRAN_DATE=TO_DATE('2013-08-31','YYYY-MM-DD')"

    執行方法:expdp parfile=expdp.txt 即可執行備份

    使用parfile好處是使用query選項是不用使用跳脫字元,如果將query引數放到外邊的話,需要將""進行轉義。

    eg:

    UNIX寫法:

     expdp orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile=2013.log schemas=orcldev INCLUDE=TABLE:\"IN\'TESTA\',\'TESTB\'\" --在Unix系統執行是需要將單引號進行轉義操作,否則會報錯。

    WINDOWS寫法:

     expdp orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile=2013.log schemas=orcldev INCLUDE=TABLE:"IN \('TEST_A','TEST_B')"

   8、TABLESPACE匯出表空間

    eg:expdp orcldev/oracle directory=backup_path dumpfile=2013.dmplogfile =2013.log tablespaces=user,orcldev

     9、Version選項

    VERSION選項預設值是COMPATIBLE,即相容模式。在我們備份的時候,可以指定版本號。

    eg:expdp orcldev/oracle directory=backup_path dumpfile=2013.dmplogfile =2013.log full=Y VERSION=10.2.0.4

   10、FLASHBACK_TIME選項

    指定匯出特定時間點的表資料,可以聯絡一下FLASHBACK功能。

     eg:C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_flash.dmplogfile=orcldev_flash.log SCHEMAS=orcldev  FLASHBACK_TIME="TO_TIMESTAMP('2013-09-28 14:30:00','DD-MM-YYYYHH24:MI:SS')"

  四、參考

        


ORACLE資料泵還原(IMPDP命令)

 Oracle資料庫還原IMPDP命令是相對於EXPDP命令的,方向是反向的。即對於資料庫備份進行還原操作。
一、知曉IMPDP命令


C:\>impdp -help

Import: Release 11.1.0.7.0 - Production on 星期六, 28 9月, 2013 15:37:03

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

資料泵匯入實用程式提供了一種用於在 Oracle 資料庫之間傳輸

資料物件的機制。該實用程式可以使用以下命令進行呼叫:

     示例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

您可以控制匯入的執行方式。具體方法是: 在 'impdp' 命令後輸入各種引數。要指定各引數, 請使用關鍵字:

     格式: impdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)

     示例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

USERID 必須是命令列中的第一個引數。

關鍵字               說明 (預設)

------------------------------------------------------------------------------

ATTACH                連線到現有作業, 例如 ATTACH [=作業名]。

CONTENT               指定要載入的資料, 其中有效關鍵字為:(ALL),DATA_ONLY和METADATA_ONLY。

DATA_OPTIONS          資料層標記,其中唯一有效的值為:SKIP_CONSTRAINT_ERRORS-約束條件錯誤不嚴重。

DIRECTORY             供轉儲檔案,日誌檔案和sql檔案使用的目錄物件。

DUMPFILE              要從(expdat.dmp)中匯入的轉儲檔案的列表,例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。

ENCRYPTION_PASSWORD   用於訪問加密列資料的口令關鍵字。此引數對網路匯入作業無效。

ESTIMATE              計算作業估計值, 其中有效關鍵字為:(BLOCKS)和STATISTICS。

EXCLUDE               排除特定的物件型別, 例如 EXCLUDE=TABLE:EMP。

FLASHBACK_SCN         用於將會話快照設定回以前狀態的 SCN。

FLASHBACK_TIME        用於獲取最接近指定時間的 SCN 的時間。

FULL                  從源匯入全部物件(Y)。

HELP                  顯示幫助訊息(N)。

INCLUDE               包括特定的物件型別, 例如 INCLUDE=TABLE_DATA。

JOB_NAME              要建立的匯入作業的名稱。

LOGFILE               日誌檔名(import.log)。

NETWORK_LINK          連結到源系統的遠端資料庫的名稱。

NOLOGFILE             不寫入日誌檔案。

PARALLEL              更改當前作業的活動worker的數目。

PARFILE               指定引數檔案。

PARTITION_OPTIONS     指定應如何轉換分割槽,其中有效關鍵字為:DEPARTITION,MERGE和(NONE)

QUERY                 用於匯入表的子集的謂詞子句。

REMAP_DATA            指定資料轉換函式,例如REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO

REMAP_DATAFILE        在所有DDL語句中重新定義資料檔案引用。

REMAP_SCHEMA          將一個方案中的物件載入到另一個方案。

REMAP_TABLE           表名重新對映到另一個表,例如 REMAP_TABLE=EMP.EMPNO:REMAPPKG.EMPNO。

REMAP_TABLESPACE      將表空間物件重新對映到另一個表空間。

REUSE_DATAFILES       如果表空間已存在, 則將其初始化 (N)。

SCHEMAS               要匯入的方案的列表。

SKIP_UNUSABLE_INDEXES 跳過設定為無用索引狀態的索引。

SQLFILE               將所有的 SQL DDL 寫入指定的檔案。

STATUS                在預設值(0)將顯示可用時的新狀態的情況下,要監視的頻率(以秒計)作業狀態。

STREAMS_CONFIGURATION 啟用流後設資料的載入

TABLE_EXISTS_ACTION   匯入物件已存在時執行的操作。有效關鍵字:(SKIP),APPEND,REPLACE和TRUNCATE。

TABLES                標識要匯入的表的列表。

TABLESPACES           標識要匯入的表空間的列表。

TRANSFORM             要應用於適用物件的後設資料轉換。有效轉換關鍵字為:SEGMENT_ATTRIBUTES,STORAGE,OID和PCTSPACE。

TRANSPORTABLE         用於選擇可傳輸資料移動的選項。有效關鍵字為: ALWAYS 和 (NEVER)。僅在 NETWORK_LINK 模式匯入操作中有效。

TRANSPORT_DATAFILES   按可傳輸模式匯入的資料檔案的列表。

TRANSPORT_FULL_CHECK  驗證所有表的儲存段 (N)。

TRANSPORT_TABLESPACES 要從中載入後設資料的表空間的列表。僅在 NETWORK_LINK 模式匯入操作中有效。

VERSION               要匯出的物件的版本, 其中有效關鍵字為:(COMPATIBLE), LATEST 或任何有效的資料庫版本。僅對 NETWORK_LINK 和 SQLFILE 有效。

下列命令在互動模式下有效。

注: 允許使用縮寫

命令               說明 (預設)

------------------------------------------------------------------------------

CONTINUE_CLIENT       返回到記錄模式。如果處於空閒狀態, 將重新啟動作業。

EXIT_CLIENT           退出客戶機會話並使作業處於執行狀態。

HELP                  總結互動命令。

KILL_JOB              分離和刪除作業。

PARALLEL              更改當前作業的活動 worker 的數目。PARALLEL=

START_JOB             啟動/恢復當前作業。START_JOB=SKIP_CURRENT 在開始作業之前將跳過作業停止時執行的任意操作。

STATUS                在預設值 (0) 將顯示可用時的新狀態的情況下,要監視的頻率 (以秒計) 作業狀態。STATUS[=interval]

STOP_JOB              順序關閉執行的作業並退出客戶機。STOP_JOB=IMMEDIATE 將立即關閉資料泵作業。


備註:紅色標記的選項是比較常用的,需知曉其用法。

二、操作例項

  1、全庫模式匯入[full]
   impdp orcldev/oracle directory=backup_pathdumpfile=orcldev_schema.dmp full=Y table_exists_action=replace --如果表已經存在則進行替換操作。
   一般來說,在還原資料庫操作的時候,首先要刪除這個使用者,然後在進行impdp還原操作。
    eg:
    (1)SQL>DROP USER orcldev CASCADE;
    (2)impdp orcldev/oracledirectory=backup_path dumpfile=orcldev_2013.dmp full=Y 
   2、Schema模式匯入[schema]
   --還原orcldev這個方案(使用者)
   impdp orcldev/oracle directory=backup_pathdumpfile=orcldev_schema.dmp schemas=orcldev table_exists_action=replace

  3、表模式匯入[table]
   --還原某個使用者下的具體的表
   (1)windows版本:
     impdp orcldev/oracledirectory=backup_path dumpfile=orcldev_table.dmp tables='TAB_TEST'table_exists_action=replace
   (2)unix版本:需要將'單引號進行轉義操作
    impdp orcldev/oracledirectory=backup_path dumpfile=orcldev_table.dmp tables=\'ius_tran\'table_exists_action=replace

  4、表空間模式匯入[tablespace]
    impdp orcldev/oracledirectory=backup_path dumpfile=orcldev_tablespace.dmp tablespace=user,orcldev

  5、傳輸表空間模式匯入[Transportable Tablespace]
   (1)Oracle_Online
    You cannot export transportable tablespacesand then import them into a database at a lower release level. The targetdatabase must be at the same or higher release level as the source database.
   The TRANSPORT_TABLESPACES is valid only whenthe NETWORK_LINK parameter is also specified.
   意思就說,目標庫的版本要等於或者高於源資料庫的版本,TRANSPORT_TABLESPACES引數選項有效前提條件是NETWORK_LINK引數需被指定。
   查詢資料庫版本號SQL語句:SELECT *FROM v$version;

  EG:impdp orcldev/oracleDIRECTORY=dackup_path NETWORK_LINK=db_link_test01TRANSPORT_TABLESPACES=test0001 TRANSPORT_FULL_CHECK=nTRANSPORT_DATAFILES='app/oradata/test0001.dbf'

  (2)建立資料庫dbLink方法:
   語法:
     CREATE [PUBLIC] DATABASE LINK LINK_NAME 
      CONNECT TO Username IDENTIFIED BYPassword
      USING 'ConnectString';

  註釋:
      1)建立dblink需要有CREATE DATABASE LINK或CREATE PUBLIC DATABASELINK的系統許可權以及用來登入到遠端資料庫的帳號必須有CREATE SESSION許可權。
      2)ConnectString指的是在tnsnames.ora檔案中配置的監聽名稱。
      3)當GLOBAL_NAME=TRUE時,dblink名必須與遠端資料庫的全域性資料庫名GLOBAL_NAME相同;否則,可以任意命名。

  (3)檢視GLOBAL_NAME引數方法:
      SQL> show parametersglobal_name;
          NAME                                   TYPE        VALUE
         ---------------------------------------------- ------------------------------
         global_names                        boolean     FALSE

 6、REMAP_SCHEMA引數
    眾所周知:IMP工具的FROMUSER和TOUSER引數可以實現將一個使用者的的資料遷移到另外一個使用者。
    (1)impdp資料泵使用REMAP_SCHEMA引數來實現不同使用者之間的資料遷移;
     語法:
      REMAP_SCHEMA=source_schema:target_schema
      eg:impdp orcldev/oracleDIRECTORY=backup_path DUMPFILE=oracldev.dmp REMAP_SCHEMA=orcldev:orcltwo
      與REMAP_SCHEMA類似的引數選項,如REMAP_TABLESPACE將源表空間的所有物件匯入目標表空間。

  7、REMAP_TABLE引數
    將源表資料對映到不同的目標表中
    eg:impdp orcldev/oracle DIRECTORY=backup_pathdumpfile=oracldev.dmp remap_table=TAB_TEST:TEST_TB
    資料匯入到TEST_TB表中,但是該表的索引等資訊並沒有相應的建立,需要手工初始化。
  8、REMAP_DATAFILE引數

  語法:REMAP_DATAFILE=source_datafile:target_datafile
    Oracle_Online:
     Remapping datafiles is useful when youmove databases between platforms that have different file naming conventions.The source_datafile and target_datafile names should be exactly as you wantthem to appear in the SQL statements where they are referenced. Oraclerecommends that you enclose datafile names in quotation marks to eliminateambiguity on platforms for which a colon is a valid file specificationcharacter.

  9、PARALLEL引數
    使用PARALLEL引數可以提高 資料泵還原的效率,前提是必須有多個expdp的檔案,如expdp01.dmp,expdp02.dmp,expdp03dmp等等,不然會有問題。執行impdp命令時,會先啟動一個WOrKER程式將METADATA匯入,然後再啟動多個WORKER程式將資料以及其他物件匯入,所以在前期只會看到一個WOrKER在匯入METADATA,而且IMPDP也需要DUMP檔案是多個,也可以使用%U來進行匯入。
    eg: impdp orcldev/oracledirectory=backup_path dumpfile=orcldev_schema_%U.dmp schemas=orcldev parallel=4

    備註:

  而在11GR2後EXPDP和IMDP的WORKER程式會在多個INSTANCE啟動,所以DIRECTORY必須在共享磁碟上,如果沒有設定共享磁碟還是指定cluster=no來防止報錯。

  
  10、CONTENT引數
    CONTENT引數選項有ALL,DATA_ONLY和METADATA_ONLY,預設情況是ALL。可以選擇只匯入後設資料或者是隻匯入資料。
    EG:impdporcldev/oracle directory=backup_path dumpfile=orcldev_schema.dmpschemas=orcldev CONTENT=DATA_ONLY

  
  11、include、exclude、parfile、query和version引數選項與EXPDP命令的引數選項一致。

  三、資料泵備份(EXPDP命令)
   (1)http://www.cnblogs.com/oracle-dba/p/3344230.html

   (2)

  
 四、參考資料
   ORACLE官網
   (1)原文:http://blog.csdn.net/haiross/article/details/27580199

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

相關文章