ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【impdp】数据泵impdp工具选项详解及应用示例

【impdp】数据泵impdp工具选项详解及应用示例

Linux操作系统 作者:夜泊枫桥畔 时间:2015-02-09 23:45:06 0 删除 编辑
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官方文档。链接:http://download.oracle.com/docs/cd/B19306_01/server.102/b14215/dp_import.htm#sthref267
impdp作为一款非常优秀的服务器端逻辑备份工具,为我们完成数据迁移带来了极大的便利。善用之。

Good luck.

secooler
10.09.24

-- The End --

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29101923/viewspace-1431837/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-02-09

  • 博文量
    40
  • 访问量
    90518