【impdp】資料泵impdp工具選項詳解及應用示例

secooler發表於2010-09-24
1.資料泵impdp匯入工具與傳統的imp匯入工具的區別
1)imp是客戶端程式,既可以在客戶端使用,也可以在伺服器端使用;
2)impdp是伺服器端工具,只能在ORACLE伺服器端使用,不能在客戶端使用;
3)這兩個工具無法匯入對方與之對應的匯出工具生成的轉儲檔案;
4)impdp在靈活性和功能上與exp相比,有質的飛躍。

2.impdp命令列選項列表
ora10g@linux5 /impdp$ impdp -help
……
Keyword               Description (Default)
------------------------------------------------------------------------------
ATTACH                Attach to existing job, e.g. ATTACH [=job name].
CONTENT               Specifies data to load where the valid keywords are:
                      (ALL), DATA_ONLY, and METADATA_ONLY.
DIRECTORY             Directory object to be used for dump, log, and sql files.
DUMPFILE              List of dumpfiles to import from (expdat.dmp),
                      e.g. DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp.
ENCRYPTION_PASSWORD   Password key for accessing encrypted column data.
                      This parameter is not valid for network import jobs.
ESTIMATE              Calculate job estimates where the valid keywords are:
                      (BLOCKS) and STATISTICS.
EXCLUDE               Exclude specific object types, e.g. EXCLUDE=TABLE:EMP.
FLASHBACK_SCN         SCN used to set session snapshot back to.
FLASHBACK_TIME        Time used to get the SCN closest to the specified time.
FULL                  Import everything from source (Y).
HELP                  Display help messages (N).
INCLUDE               Include specific object types, e.g. INCLUDE=TABLE_DATA.
JOB_NAME              Name of import job to create.
LOGFILE               Log file name (import.log).
NETWORK_LINK          Name of remote database link to the source system.
NOLOGFILE             Do not write logfile.
PARALLEL              Change the number of active workers for current job.
PARFILE               Specify parameter file.
QUERY                 Predicate clause used to import a subset of a table.
REMAP_DATAFILE        Redefine datafile references in all DDL statements.
REMAP_SCHEMA          Objects from one schema are loaded into another schema.
REMAP_TABLESPACE      Tablespace object are remapped to another tablespace.
REUSE_DATAFILES       Tablespace will be initialized if it already exists (N).
SCHEMAS               List of schemas to import.
SKIP_UNUSABLE_INDEXES Skip indexes that were set to the Index Unusable state.
SQLFILE               Write all the SQL DDL to a specified file.
STATUS                Frequency (secs) job status is to be monitored where
                      the default (0) will show new status when available.
STREAMS_CONFIGURATION Enable the loading of Streams metadata
TABLE_EXISTS_ACTION   Action to take if imported object already exists.
                      Valid keywords: (SKIP), APPEND, REPLACE and TRUNCATE.
TABLES                Identifies a list of tables to import.
TABLESPACES           Identifies a list of tablespaces to import.
TRANSFORM             Metadata transform. to apply to applicable objects.
                      Valid transform. keywords: SEGMENT_ATTRIBUTES, STORAGE
                      OID, and PCTSPACE.
TRANSPORT_DATAFILES   List of datafiles to be imported by transportable mode.
TRANSPORT_FULL_CHECK  Verify storage segments of all tables (N).
TRANSPORT_TABLESPACES List of tablespaces from which metadata will be loaded.
                      Only valid in NETWORK_LINK mode import operations.
VERSION               Version of objects to export where valid keywords are:
                      (COMPATIBLE), LATEST, or any valid database version.
                      Only valid for NETWORK_LINK and SQLFILE.

The following commands are valid while in interactive mode.
Note: abbreviations are allowed

Command               Description (Default)
------------------------------------------------------------------------------
CONTINUE_CLIENT       Return to logging mode. Job will be re-started if idle.
EXIT_CLIENT           Quit client session and leave job running.
HELP                  Summarize interactive commands.
KILL_JOB              Detach and delete job.
PARALLEL              Change the number of active workers for current job.
                      PARALLEL=.
START_JOB             Start/resume current job.
                      START_JOB=SKIP_CURRENT will start the job after skipping
                      any action which was in progress when job was stopped.
STATUS                Frequency (secs) job status is to be monitored where
                      the default (0) will show new status when available.
                      STATUS[=interval]
STOP_JOB              Orderly shutdown of job execution and exits the client.
                      STOP_JOB=IMMEDIATE performs an immediate shutdown of the
                      Data Pump job.


3.impdp命令列選項的註釋
impdp的大部分選項與expdp選項含義相同,具體參考《【expdp】10g資料泵expdp工具選項詳解及應用示例》(http://space.itpub.net/?uid-519536-action-viewspace-itemid-557370)。
下面給出impdp與expdp含義不同的那些引數的含義。

1)REMAP_DATAFILE
當在不同平臺之間搬移表空間時,對應的資料檔案目錄格式會不一樣,此時該引數便會派上用場(CREATE LIBRARY和CREATE DIRECTORY也會涉及此類問題)。該引數用於將源資料檔名轉化為目標資料的檔名。因為該引數內容涉及到引號,為了避免不必要的轉義,建議使用這個引數是將其放到引數檔案中使用。
REMAP_DATAFILE=source_datafile:target_datafile

2)REMAP_SCHEMA
用於不同SCHEMA之間的資料遷移。支援多個SCHEMA遷移到同一個SCHEMA中。
保證匯入使用者具有足夠的許可權,因為匯入的SCHEMA若不存在,會在匯入的過程中自動完成建立。
注意,如若帶入的使用者是自動建立的,在完成匯入後記得重置使用者的密碼。
REMAP_SCHEMA=source_schema:target_schema

3)REMAP_TABLESPACE
將源表空間的所有物件匯入到目標表空間。
REMAP_TABLESPACE=source_tablespace:target_tablespace

4)REUSE_DATAFILES
該選項指定建立表空間時是否覆蓋已存在的資料檔案,預設為N。
在使用引數值為“y”的時候一定要注意,對應的資料檔案會被重新初始化,因此可能會導致資料的丟失。慎用。
REUSE_DATAFILES={y | n}

5)SKIP_UNUSABLE_INDEXES
指定匯入是否跳過不可使用的索引,預設值與資料庫中引數SKIP_UNUSABLE_INDEXES內容保持一致(資料庫中該引數預設值為TRUE)。
SKIP_UNUSABLE_INDEXES={y | n}

6)SQLFILE
將匯入過程中需要執行的DDL語句匯出到檔案。
SQLFILE=[directory_object:]file_name

7)STREAMS_CONFIGURATION
標誌是否匯入流後設資料(Streams metadata),預設值為y。
STREAMS_CONFIGURATION={y | n}

8)TABLE_EXISTS_ACTION
該選項用於指定當表已經存在時匯入作業要執行的操作,預設為SKIP。
TABLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | REPLACE}
當設定該選項為SKIP時,匯入作業會跳過已存在表處理下一個物件;當設定為APPEND時,會向表中繼續追加資料;為TRUNCATE時,匯入作業會截斷表,然後再追加新資料;當設定為REPLACE時,匯入作業會先刪除已存在表中的資料,重建表並追加資料。注意,TRUNCATE選項不適用於簇表和NETWORK_LINK選項。

9)TRANSFORM
該選項用於修改建立物件的DDL語句。
TRANSFORM=transform_name:value[:object_type]
transform_name用於指定轉換名,其中SEGMENT_ATTRIBUTES用於標識段屬性(物理屬性,儲存屬性,表空間,日誌等資訊),STORAGE用於標識段儲存屬性,VALUE用於指定是否包含段屬性或段儲存屬性,object_type用於指定物件型別。
transform=segment_attributes:n:table表示在匯入時不匯入表物件的儲存屬性。

10)TRANSPORT_DATAFILES
指定被傳輸的表空間在匯入資料庫中資料檔案對應的路徑。
TRANSPORT_DATAFILES=datafile_name

4.impdp工具簡單應用
1)匯入表
(1)將test和test1表匯入到SEC使用者
impdp sec/sec DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=test,test1 TABLE_EXISTS_ACTION=TRUNCATE
(2)將test和test1表匯入的SYSTEM使用者
impdp system/sys DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=sec.test,sec.test1 REMAP_SCHEMA=SEC:SYSTEM
2)匯入方案
impdp sec/sec DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=sec TABLE_EXISTS_ACTION=TRUNCATE
impdp system/sys DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=sec REMAP_SCHEMA=sec:system TABLE_EXISTS_ACTION=TRUNCATE
3)匯入表空間
impdp sec/sec DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=sec_d TABLE_EXISTS_ACTION=TRUNCATE
4)匯入資料庫
impdp system/sys DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y

5.小結
有關10g版本impdp工具選項的詳細解釋最佳參考資料是Oracle官方文件。連結:
impdp作為一款非常優秀的伺服器端邏輯備份工具,為我們完成資料遷移帶來了極大的便利。善用之。

Good luck.

secooler
10.09.24

-- The End --

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

相關文章