Oracle 邏輯恢復工具IMPDP詳解

531968912發表於2016-05-06
資料泵匯入分為匯入表、匯入方案、匯入表空間、匯入資料庫四種模式: *** 匯入表: 普通使用者可以將表匯入其自身方案。但是如果以其他使用者身份匯入表,則要求該使用者必須具有IMP_FULL_DATABASE角色或者DBA角色。當匯入表時,既可以將表匯入到源方案中,也可將
 


資料泵匯入分為匯入表、匯入方案、匯入表空間、匯入資料庫四種模式:
***匯入表:
普通使用者可以將表匯入其自身方案。但是如果以其他使用者身份匯入表,則要求該使用者必須具有IMP_FULL_DATABASE角色或者DBA角色。當匯入表時,既可以將表匯入到源方案中,也可將表匯入到其他方案中。注意,如果要將表匯入其他方案,則必須指定REMAP_SCHEMA選項。


1
impdp scott/tiger DIRECTORY=dump DUMPFILE=tab.dmp TABLES=dept,emp
---將dept和emp表匯入到scott方案中


1
impdp system/manager DIRECTORY=dump DUMPFILE=tab.dmp TABLES=scott.dept,scott.emp REMAP_SCHEMA=SCOTT:SYSTEM
---將dept和emp表匯入到SYSTEM方案中
***匯入方案:


1
impdp scott/tiger DIRECTORY=dump DUMPFILE=schema.dmp SCHEMAS=scott
----將scott方案的所有物件匯入到其自身方案中


1
impdp system/manager DIRECTORY=dump DUMPFILE=schema.dmp SCHEMAS=scott REMAP_SCHEMA=scott:system
----將scott方案的所有物件匯入到SYSTEM方案中
***匯入表空間:


1
impdp system/manager DIRECTORY=dump DUMPFIEL=tablespace.dmp TABLESPACES=user01
***匯入資料庫:


1
impdp system/manager DIRECTORY=dump DUMPFILE=full.dmp FULL=y
IMPDP命令列選項:
1. ATTACH。該選項用於在客戶會話和已存在匯入作業之間建立關聯。注意,如果使用此選項,那麼在命令列除了ATTACH選項和連線串(username/password)之外將不能指定其他任何選項,並要求使用者必須具有DBA角色和IMP_FULL_DATABASE角色。語法如下:


1
ATTACHE = [schema_name.] job_name
如上所示,schema_name用於指定方案名,job_name用於指定已存在的匯入作業名。示例如下:


1
impdp scott/tiger ATTACHE=import_job
2. CONTENT。該選項用於指定要匯入的內容,預設值為ALL。語法如下:


1
CONTENT = {ALL | DATA_ONLU | METADATA_ONLY}
如上所示,當設定為ALL時,會匯入物件結構及其資料;當設定為DATA_ONLY時,只會匯入物件資料;當設定為METADATA_ONLY時,只會匯入物件結構。示例如下:


1
impdp scott/tiger DIRECTORY=dump DUMPFILE=scott.dmp CONTENT=data_onlu tables=dept,emp
3. DIRECTORY。該選項用於指定被轉儲檔案所在的位置,語法如下:


1
DIRECTORY = directory_object
如上所示:directory_object用於指定目錄物件的名稱。注意,目錄物件是使用create directory命令建立的物件,而不是OS目錄。示例如下:


1
impdp scott/tiger DIRECTORY=dmp DUMPFILE=scott.dmp tables=emp
4.DUMPFILE。該選項用於指定轉儲檔案的名稱。
 
5. ESTIMATE。用於指定估算執行網路匯入操作時要生成的資料量,預設值為BLOCKS。語法如下:


1
ESTIMATE={BLOCKS | STATISTICS}
如上所示,當設定該選項為BLOCKS時,Oracle會按照目標物件所佔用的資料塊個數乘以資料塊尺寸估算物件佔用的空間;當設定該選項為STATISTICS時,Oracle會根據最近的統計值估算物件佔用的空間。
注意:該選項必須與NETWORK_LINK選項同時使用。
示例如下:


1
impdp scott/tiger TABLES=sales NETWORK_LINK=db_link DIRECTORY=dump ESTIMATE=statistics
6. EXCLUDE。用於指定當執行匯入操作時要被過濾的物件型別或特定物件。語法如下:


1
EXCLUDE=object_type[:name_clause][,….]
如上所示,object_type用於指定要排除的物件型別,name_clause用於指定要排除的具體物件。注意,EXCLUDE和INCLUDE不能同時使用。示例如下;


1
impdp scott/tiger DIRECTORY=dump DUMPFILE=scott.dmp EXCLUDE=cluster
 
7. FLASHBACK_SCN。該選項用於指定匯入特定SCN時刻的表資料。語法如下:


1
FLASHBACK_SCN=scn_value
如上所示,scn_value用於標識SCN值。當設定該選項時,Oracle會啟用FlashBack特徵。
注意:FLASHBACK_SCN和FLASHBACK_TIME不能同時使用。示例如下:


1
impdp soctt/tiger DIRECTORY=dump DUMPFILE=scott.dmp FLASHBACK_SCN=385823 NETWORK_TIME=db_link
 
8. FLASHBACK_TIME。該選項用於指定匯入特定時間點的表資料。語法如下:
FLASHBACK_TIME=”TO_TIMESTAMP(time-value)”
如上所示,time_value用於制定日期時間值。當設定該選項時,Oracle會啟用FlashBack特徵。注意,FLASHBACK_TIME和FLASHBACK_SCN不能同時使用。示例如下:


1
impdp scott/tiger DIRECTORY=dump DUMPFILE=scott.dmp FLASHBACK_TIME=”TO_TIMESTAMP(’07-12-2012 14:35:00’,’DD-MM-YYYY HH24:MT:SS’)”
 
9. FULL。該選項用於指定是否要匯入轉儲檔案的所有內容,其預設值為N。語法如下:
FULL={Y | N}


1
impdp system/manager DIRECTORY=dump DUMPFILE=full.dmp FULL=y
 
10.HELP。該選項用於指定是否顯示IMPDP命令列選項的幫助資訊,其預設值為N。語法如下:
HELP={y | n}
如上所示,當設定該選項為Y時,會顯示匯出選項的幫助資訊。示例如下:
impdp help=y
 
11. INCLUDE。該選項用於指定要匯入的物件型別及相關物件。示例如下:
INCLUDE = object_type[:name_clause][,..]
如上所示,object_type用於指定要匯出的物件型別,name_clause用於指定要匯出的物件名。注意,INCLUDE和EXCLUDE選項不能同時使用。示例如下:


1
impdp scott/tiger DIRECTORY=dump DUMPFILE=scott.dmp INCLUDE=VIEW
 
12. JOB_NAME。該選項用於指定匯入操作的作業名。語法如下:
JOB_NAME=jobname_string
如上所示,jobname_string用於指定匯入作業的名稱。注意,作業名不能超過30個字元。示例如下:


1
impdp scott/tiger DIRECTORY=dump DUMPFILE=scott.dmp JOB_NAME=whl
 
13. LOGFILE。該選項用於指定匯入日誌檔案的名稱,預設名稱為import.log。語法如下:
LOGFILE=[directory_object:]file_name
如上所示,directory_object用於指定目錄物件名稱,file_name用於指定匯出日誌檔名。
注意:如果不指定directory_object,那麼匯出作業會自動使用DIRECTORY的相應選項值。示例如下:


1
impdp scott/tiger DIRECTORY=dump DUMPFILE=scott.dmp logfile=scott_imp.log
 
14. NETWORK_LINK。用於指定在執行網路匯入操作時的資料庫鏈名。語法如下:
NETWORK_LINK=source_database_link
如上所示,source_database_link用於制定資料庫鏈名。注意,當使用此選項時,匯入工具會將遠端資料庫物件匯入到本地資料庫,並且使用該選項時不能指定DUMPFILE。示例如下:


1
Expdp scott/tiger DIRECTORY=dump TABLES=emp NETWORK_LINK=orcl
 
15. NOLOGFILE。該選項用於指定禁止生成匯入日誌檔案,預設值為N。語法如下:
NOLOGFILE={y | n}
 
16. PARALLEL。該選項用於指定執行匯入操作的並行程式個數,預設值為1。語法如下:
PARALLEL = integer
如上所示,integer用於指定並行程式的個數。透過執行並行匯出操作,可以加快匯出速度。
注意:該選項只適用於Oracle Database 10g Enterprise Edition。示例如下:


1
impdp scott/tiger DIRECTORY=dump DUMPFILE=scott.dmp PARALIEL=3
 
17. PARFILE。該選項用於指定匯入引數檔案的名稱。語法如下:
PARFILE=[directory_path]file_name
如上所示,directory_path用於指定引數檔案所在目錄,file_name用於指定引數檔名。引數檔案示例如下:
TABLES=dept,emp
DIRECTORY=dump
DUMPFILE=tab.dmp
注意:在impdp引數檔案中不能包含PARFILE選項。另外,如果在使用引數檔案時不指定directory_path,那麼匯入工具會將當前目錄作為引數檔案的路徑。使用引數檔案的示例如下:


1
impdp scott/tiger PARFILE=/datas/parm.txt
 
18. QUERY。該選項用於指定過濾匯入資料的WHERE條件。語法如下:
QUERY = [schema.][table_name;]query_clause
如上所示,schema用於指定方案名,table_name用於指定表名,query_clause用於指定條件限制子句。注意:QUERY選項不能與CONNECT=METADATA_ONLY、ESTIMATE_ONLY、TRANSPORT_TABLESPACES等選項同時使用。示例如下:


1
impdp scott/tiger DIRECTORY=dump DUMPFILE=scott.dmp TABLES=emp query=' "WHERE deptno=10" '
 
19. REMAP_DATAFILE。該選項用於將源資料檔案的名稱轉變為目標資料檔名,當在不同平臺之間搬遷表空間時可能需要使用該選項。語法如下:
REMAP_DATAFILE=source_datafile:target_datafile
如上所示,source_datafile用於指定源資料檔案的名,target_datafile用於指定目標資料庫的資料檔名。示例如下:


1
impdp scott/tiger FULL=y DIRECTORY=dump DUMPFILE=full.dmp REMAP_DATAFILE='DB1$:tbs6.dbf':'/u01/hrdata/tbs6.dbf'
 
20. REMAP_SCHEMA。該選項用於將源方案的所有物件裝載到目標方案中,語法如下:
REMAP_SCHEMA=source_schema:target_schema
示例如下:


1
impdp system/manager DIRECTORY=dump DUMPFILE=tab.dmp REMAP_SCHEMA=scott:system
 
21. REMAP_TABLESPACE。該選項用於將源表空間的所有物件匯入到目標表空間。語法如下:
REMAP_TABLESPACE=source_tablespace:target_tablespace
示例如下:


1
impdp system/manager DIRECTORY=dump DUMPFILE=tab.dmp REMAP_TABLESPACE=user01:user02
 
22. REUSE_DATAFILES。該選項用於指定在建立表空間時是否要覆蓋已存在的資料檔案,預設值為N。語法如下:
REUSE_DATAFILES={y | n}
如上所示:當設定該選項為Y時,在執行CREATE TABLESPACE命令時會覆蓋已存在的資料檔案;當設定該選項為N時,如果檔案已經存在,那麼在執行CREATE TABLESPACE命令時會顯示錯誤資訊。示例如下:


1
impdp system/manager DIRECTORY=dump DUMPFILE=tab.dmp REUSE_DATAFILES=y
 
23. SCHEMAS。該選項用於指定執行方案模式匯入,預設為當前使用者方案。語法如下:
SCHEMAS = schema_name[,....]
如上所示,schema_name用於指定方案名。使用者可以匯出自身方案,但如果要匯出其他方案,則要求使用者必須具有EXP_FULL_DATABASE角色或DBA角色。示例如下:


1
impdp system/manager DIRECTORY=dump DUMPFILE=table.dmp SCHEMAS=scott
 


24. SKIP_UNUSEABLE_INDEXES 。該選項用於指定在匯入時是否要跳過不可使用的索引,其預設值為N。語法如下:
SKIP_UNUSEABLE_INDEXES={Y | N}
示例如下:


1
impdp system/manager DIRECTORY=dump DUMPFILE=full.dmp  SKIP_UNUSEABLE_INDEXES=Y
 
25. SQLFILE。該選項用於指定將匯入操作需要執行的所有DDL語句寫入到SQL指令碼檔案中。語法如下:
SQLFILE=[directory_object:]file_name
directory_object:目錄物件名
file_name:sql指令碼名
示例如下:


1
impdp scott/tiger DIRECTORY=dump DUMPFILE=tab.dmp SQLFILE=tab_scott.sql
 
26. STATUS。該選項用於指定顯示匯入作業程式的詳細狀態,其預設值為0.語法如下:
STATUS=integer
如上所示,integer用於指定顯示匯入作業狀態的時間間隔(單位:秒)。當指定了該選項之後,每隔特定時間間隔就會顯示作業完成的百分比。示例如下:


1
impdp system/manager DIRECTORY=dump DUMPFILE=system.dmp FULL=y status=10
 
27. STREAMS_CONFIGURATION。該選項用於指定是否要匯入流後設資料(stream matadata),預設值為Y。語法如下:
STREAMS_CONFIGURATION={Y | N}
示例如下:


1
impdp system/manager directory=dump dumpfile=full.dmp tables=scott.emp streams_configuration=n
 
28. TABLE_EXISTS_ACTION。該選項用於指定當表已經存在時匯入作業應該執行的操作,預設值為SKIP。語法如下:
TABLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | REPLACE}
SKIP:匯入作業會跳過已存在表並處理下一個物件;
APPEND:匯入作業會為表追加資料;
TRUNCATE:匯入作業會截斷表,然後為其追加新資料;
REPLACE:匯入作業會刪除已存在表,重新建表並追加資料。注意,TRUNCATE選項不適用於簇表和NETWORK_LINK選項。示例如下:


1
impdp scott/tiger directory=dump dumpfile=tab.dmp TABLE_EXISTS_ACTION=append
 
29. TABLES。該選項用於指定表模式匯入。語法如下:
TABLES=[schema_name.]table_name[:partition_name][,...]
如上所示,schema_name用於指定方案名,table_name用於指定要匯入的表名,partition_name用於指定要匯入的分割槽名。注意,使用者可以直接匯出其自身方案的表,但如果要匯出其他方案的表,則要求使用者必須具有EXP_FULL_DATABASE角色或DBA角色。示例如下:


1
impdp scott/tiger DIRECTORY=dump DUMPFILE=tab.dmp TABLES=emp
 
30. TABLESPACES。該選項用於指定要匯入的表空間列表。語法如下:
TABLESPACES=tablespace_name[,...]
如上所示,tablespace_name用於指定要匯入的表空間。當指定該選項時,會匯入該表空間的所有表。示例如下:


1
impdp system/manager DIRECTORY=dump DUMPFILE=user01.dmp tablespaces=user01
 
31. TRANSFORM。該選項用於指定是否要修改建立物件的DDL語句,語法如下:
TRANSFORM=transform_name:value[:object_type]
transform_name:轉換名,其中SEGMENT_ATTRIBUTES用於標識段屬性(物理屬性,儲存屬性,表空間,日誌等資訊),STORAGE用於標識段儲存屬性;value用於指定是否要包含段屬性或段儲存屬性(Y:包含,N:不包含);object_type用於指定物件型別。示例如下:


1
impdp scott/tiger DIRECTORY=dump DUMPFILE=tab.dmp TRANSFORM=segment_attributes:n:table
 
32. TRANSPORT_DATAFILES。該選項用於指定當搬遷表空間時要被匯入到目標資料庫的資料檔名稱,語法如下:
TRANSPORT_DATAFILES=datafile_name
示例如下:


1
impdp system/manager DIRECTORY=dump DUMPFILE=df.dmp TRANSPORT_DATAFILES='/u01/oradata/df.dbf'
 
33. TRANSPORT_FULL_CHECK。該選項用於指定被搬移表空間和未搬移表空間關聯關係的檢查方式,其預設值為N。語法如下:
TRANSPORT_FULL_CHECK={Y | N}
如上所示,當設定該選項為Y時,匯入作業會檢查表空間之間的完整關聯關係,如果表所在表空間或其索引所在表空間只有一個表空間被搬移,則會顯示錯誤資訊;當設子該選項為N時,匯入作業只會檢查單端依賴,如果要搬移索引所在表空間,但是未搬移表所在表空間,那麼會顯示錯誤資訊,如果要搬移表所在表空間,未搬移索引所在表空間,則不會顯示錯誤資訊。示例如下:


1
impdp system/manager DIRECTORY=dump TRANSPORT_TABLESPACES=tbs NETWORK_LINK=source_database_link TRANSPORT_FULL_CHECK=y TRANSPORT_DATAFILES='/u01/oradata/tbs.dbf'
 
34. TRANSPORT_TABLESPACE。該選項用於指定遷移表空間模式匯入,語法如下:
TRANSPORT_TABLESPACE=tablespace_name[,.....]
示例如下:


1
impdp system/manager DIRECTORY=dump TRANSPORT_TABLESPACES=tbs NETWORK_LINK=source_database_link TRANSPORT_FULL_CHECK=y TRANSPORT_DATAFILES='/u01/oradata/tbs.dbf'
 
35. VERSION。該選項用於指定被匯入物件的資料庫版本,其預設值為COMPATIBLE。語法如下:
VERSION={COMPATIBLE | LATEST | version_string}
如上所示,當設定為COMPATIBLE時,會根據初始化引數COMPATIBLE生成物件後設資料;當設定該想想為LATEST時,會根據資料庫的實際版本生成物件後設資料;version_string用於指定資料庫版本字串(不能低於9.2)。示例如下:


1
impdp scott/tiger DIRECTORY=dump DUMPFILE=c.dmp VERSION=LATEST

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

相關文章