Oracle 逻辑恢复工具IMPDP详解

数据泵导入分为导入表、导入方案、导入表空间、导入数据库四种模式: *** 导入表: 普通用户可以将表导入其自身方案。但是如果以其他用户身份导入表,则要求该用户必须具有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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25462274/viewspace-2095022/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值