这节内容为impdp命令的介绍

1. 什么是Data Pump Import

Data Pump Import是一个读取expdp生成的dump文件然后将其内容导入到目标系统的工具

它除了读取dump文件也可以不需要dump文件,即Network Import

它通过data filters 和metadata filters 来过滤掉我们不想要导出的内容

2. 调用Data Pump Import

我们使用impdp命令来调用Data Pump Import工具

我们指定Import的参数来控制其行为

参数可以在命令行和或参数文件中指定

2.1 如何调用Import

后面的章节分别介绍这三个方式

  • 命令行

  • 参数文件

  • 交互式命令

2.2 Data Pump Import模式

注意目标数据库JOB的权限是由导入时用户决定的,即dba_jobs的LOG_USER 和PRIV_USER列

如需解决此问题请在导出和导入时使用相同的用户

Full Import Mode

该模式导入所有数据(dump文件或源数据库),使用full参数

必须有 EXP_FULL_DATABASE 权限

Schema Mode

导入属于schema的所有数据,使用schema参数

如果schema中对象引用的对象不包含在schema参数中,则该引用的对象不导入

Table Mode

该模式导入指定的表,使用tables参数

Tablespace Mode

该模式导入指定表空间的对象,包含其他表空间的引用对象,使用TABLESPACES参数

Transportable Tablespace Mode

该模式用于传输表空间的数据迁移,采用TRANSPORT_TABLESPACES参数

3. IMPDP过滤方式

Data Filters

使用QUERY 和 SAMPLE 参数控制需要导入的数据

每种方式在同一个JOB中只能指定一次

Metadata Filters

使用EXCLUDE and INCLUDE 参数来控制需要导入的对象

EXCLUDE and INCLUDE 不能同时使用

如果导入一个pakcage则它的grant权限也会导入

如果排除一个表,则它上面的索引,触发器,grant以及约束都不会被导入

同一个Metadata Filter参数可以被多次指定,如指定多次则他们关系为and

可以查询如下视图了解哪些对象可以被过滤

  • FULL 模式:DATABASE_EXPORT_OBJECTS
  • Schema模式:SCHEMA_EXPORT_OBJECTS
  • 表和表空间模式:TABLE_EXPORT_OBJECTS