借助 Oracle 数据泵导入,您可以将导出转储文件集加载到目标数据库中,或者直接从源数据库加载目标数据库,而无需干预文件。
什么是 Oracle Data Pump Import?
Oracle Data Pump Import 是一个实用程序,用于将 Oracle 导出转储文件集加载到目标系统中。
启动 Oracle 数据泵导入
使用该命令启动 Oracle 数据泵导入实用程序。impdp
导入操作
期间的筛选 Oracle 数据泵导入提供了数据和元数据筛选功能,可帮助您限制导入的信息类型。
Oracle 数据泵导入命令行模式
中可用的参数 使用 Oracle 数据泵参数导入 () 来管理数据导入。impdp
Oracle 数据泵导入中可用的命令 交互式命令模式
在交互式命令模式下,当前作业将继续运行,但对终端的日志记录将挂起,并显示导入提示 ()。Import>
使用 Oracle 数据泵导入
的示例 您可以使用这些常见方案示例来了解如何使用 Oracle 数据泵导入来移动数据。
Oracle 数据泵导入
的语法图 可以使用语法图来了解 Oracle 数据泵导入的有效 SQL 语法。
父主题: Oracle Data Pump
3,1 什么是 Oracle Data Pump Import?
Oracle Data Pump Import 是一个实用程序,用于将 Oracle 导出转储文件集加载到目标系统中。
导出转储文件集由一个或多个包含表数据、数据库对象元数据和控制信息的磁盘文件组成。这些文件以专有的二进制格式编写。在 Oracle 数据泵导入操作期间,导入实用程序使用这些文件在转储文件集中查找每个数据库对象。
还可以使用 Import 直接从源数据库加载目标数据库,没有中间的转储文件。这种类型的导入称为网络导入。
通过导入,您可以指定作业是否应从转储文件集或源数据库(在网络导入的情况下)移动数据和元数据的子集,具体取决于导入模式。这是通过使用数据筛选器和元数据筛选器来完成的,它们通过 Import 命令实现。
父主题: Oracle 数据泵导入
3,2 启动 Oracle Data Pump Import
使用该命令启动 Oracle 数据泵导入实用程序。impdp
导入操作的特征由您指定的导入参数确定。可以在命令行或参数文件中指定这些参数。
注意:
除非应 Oracle 技术支持的要求,否则不要启动导入。 在内部使用并具有专门的功能;它的行为与一般用户的行为不同。SYSDBA,SYSDBA
请注意,如果要将数据抽取导入到启用子句创建的表或表空间中,则仍可能生成重做日志文件。在这种情况下生成的重做通常用于维护 Data Pump 控制表,或者与需要日志记录的表上索引的基础递归空间事务、数据字典更改和索引维护相关。NOLOGGING
如果导出数据库使用的时区版本早于导入数据库使用的版本,则加载数据类型为的列所需的时间将比其他方式更长。需要额外的时间,因为数据库必须检查以确定新的时区规则是否更改了正在加载的值。TIMESTAMP WITH TIMEZONE
Oracle 数据泵导入接口
您可以使用命令行、参数文件或交互式命令模式与 Oracle 数据泵导入进行交互。
Oracle 数据泵导入模式
用于 Oracle 数据泵的导入模式决定了导入的内容。
Oracle 数据泵导入
的网络注意事项 了解 Oracle 数据泵导入实用程序如何使用 Oracle*Net 或网络服务名称在连接字符串中标识具有连接标识符的实例,以及它们与使用 NETWORK_LINK 参数的导入操作有何不同。impdp
父主题: Oracle 数据泵导入
3.2.1 甲骨文数据泵导入接口
您可以使用命令行、参数文件或交互式命令模式与 Oracle 数据泵导入进行交互。
命令行界面:允许您直接在命令行上指定导入参数。有关命令行界面中可用参数的完整说明。
参数文件接口:用于在参数文件中指定命令行参数。唯一的例外是参数,因为参数文件不能嵌套。如果使用的参数的值需要引号,则建议使用参数文件。PARFILE
交互式命令界面:停止记录到终端并显示导入提示,您可以从中输入各种命令,其中一些命令特定于交互式命令模式。在使用命令行界面或参数文件界面启动的导入操作期间,通过按 Ctrl+C 启用此模式。当您附加到正在执行或停止的作业时,也会启用交互式命令模式。
相关主题
Oracle 数据泵导入命令行模式中可用的参数
Oracle Data Pump Import Interactive 命令模式中可用的命令
父主题: 启动 Oracle 数据泵导入
3.2.2 甲骨文数据泵导入模式
用于 Oracle 数据泵的导入模式决定了导入的内容。
关于 Oracle 数据泵导入模式
了解 Oracle 数据泵导入模式在导入过程中的运行方式。
完全导入模式
要使用 Oracle Data Pump 指定完全导入,请使用该参数。FULL
架构模式
要使用 Oracle 数据泵指定架构导入,请使用该参数。SCHEMAS
表模式
要使用 Oracle 数据泵指定表模式导入,请使用该参数。TABLES
表空间模式
要使用 Oracle 数据泵指定表空间模式导入,请使用该参数。TABLESPACES
可传输表空间模式
要使用 Oracle 数据泵指定可传输表空间模式导入,请使用该参数。TRANSPORT_TABLESPACES
父主题: 启动 Oracle 数据泵导入
3.2.2.1 关于 Oracle 数据泵导入模式
了解 Oracle 数据泵导入模式在导入过程中的运行方式。
您为导入指定的 Oracle 数据泵导入模式适用于操作的源。如果指定该参数,则该源要么是转储文件集,要么是另一个数据库。NETWORK_LINK
当导入操作的源是转储文件集时,指定模式是可选的。如果未指定模式,则“导入”将尝试加载在运行导出操作的模式下的整个转储文件集。
该模式是在命令行上使用适当的参数指定的。
注:导入由全模式导出创建的转储文件时,导入操作会尝试从源数据库复制 SYS 帐户的密码。此复制有时会失败(例如,如果密码位于共享密码文件中)。如果失败,则在导入完成后,必须将目标数据库中 SYS 帐户的密码设置为您选择的密码。
父主题: Oracle 数据泵导入模式
3.2.2.2 完全导入模式
要使用 Oracle Data Pump 指定完全导入,请使用该参数。FULL
在完全导入模式下,源的全部内容(转储文件集或其他数据库)将加载到目标数据库中。此模式是基于文件的导入的默认模式。如果源是另一个包含架构的数据库,而不是您自己的架构,则您必须具有该角色。DATAPUMP_IMP_FULL_DATABASE
不会为非特权用户导入跨架构引用。例如,不会导入在导入用户架构中的表上定义的触发器,但该触发器驻留在另一个用户架构中。
该角色在目标数据库上是必需的。如果该参数用于完全导入,则源数据库上需要该角色DATAPUMP_IMP_FULL_DATABASENETWORK_LINKDATAPUMP_EXP_FULL_DATABASE
在完整模式导入期间使用可移植选项
您可以在全模式导入期间使用可移植选项来执行完全可移植导入。
基于网络的完全可移植导入需要使用 、 和 参数。FULL=YESTRANSPORTABLE=ALWAYSTRANSPORT_DATAFILES=datafile_name
基于文件的完整可移植导入只需要使用该参数。数据泵导入可推断 和 参数的存在。TRANSPORT_DATAFILES=datafile_nameTRANSPORTABLE=ALWAYSFULL=Y
执行完全可移植导入时,有几个要求:
还必须指定参数,或者必须使用可传输选项在导出期间使用可移植选项创建要导入的转储文件集。NETWORK_LINK
如果使用的是网络链接,则在参数上指定的数据库必须是 Oracle 数据库 11g 版本 2 (11.2.0.3) 或更高版本,并且 Oracle Data Pump 参数必须至少设置为 12。(在非网络导入中,是从转储文件隐式确定的。NETWORK_LINKVERSIONVERSION=12
如果源平台和目标平台具有不同的字节序,则必须转换要传输的数据,使其采用目标平台的格式。若要转换数据,可以使用包或命令。DBMS_FILE_TRANSFERRMAN CONVERT
如果源平台和目标平台不具有相同的字节序,则在网络模式或转储文件模式下不支持加密表空间的完全可传输导入
有关执行完全可移植导入的详细示例,请参阅《Oracle 数据库管理员指南》。
相关主题
满
运输
《Oracle 数据库管理员指南》中的“在数据库之间传输表空间”
父主题: Oracle 数据泵导入模式
3.2.2.3 架构模式
要使用 Oracle Data Pump 指定架构导入,请使用该参数。SCHEMAS
在架构导入中,仅加载指定架构拥有的对象。源可以是完整、表、表空间、模式导出转储文件集或其他数据库。如果您具有该角色,则可以指定架构列表,并且除了这些架构中包含的对象之外,还会在数据库中创建架构本身(包括系统特权授予)。DATAPUMP_IMP_FULL_DATABASE
不会为非特权用户导入跨架构引用,除非将其他架构重新映射到当前架构。例如,不会导入在导入用户架构中的表上定义的触发器,但驻留在另一个用户的架构中。
相关主题
模式
父主题: Oracle 数据泵导入模式
3.2.2.4 表模式
要使用 Oracle Data Pump 指定表模式导入,请使用该参数。TABLES
表模式导入是使用该参数指定的。在表模式下,仅加载指定的表、分区及其依赖对象集。源可以是完整、模式、表空间或表模式导出转储文件集,也可以是另一个数据库。您必须具有该角色才能指定不在您自己的架构中的表。TABLESDATAPUMP_IMP_FULL_DATABASE
在表模式导入期间,可以通过指定参数来使用可传输选项。如果使用此选项,则还必须使用该参数。TRANPORTABLE=ALWAYSTABLESNETWORK_LINK
要恢复表和表分区,还可以使用备份和命令。在此过程中,创建(并选择性地导入)一个包含已恢复对象的 Oracle 数据泵导出转储文件。RMANRMANRECOVER TABLERMAN
相关主题
表
运输
使用数据文件复制移动数据
Oracle 数据库备份和恢复用户指南
父主题: Oracle 数据泵导入模式
3.2.2.5 表空间模式
要使用 Oracle 数据泵指定表空间模式导入,请使用该参数。TABLESPACES
表空间模式导入是使用该参数指定的。在表空间方式下,将加载包含在指定的表空间集中的所有对象以及依赖对象。源可以是完整、模式、表空间或表模式导出转储文件集,也可以是另一个数据库。对于非特权用户,将不会处理未重新映射到当前架构的对象。TABLESPACES
相关主题
表空间
父主题: Oracle 数据泵导入模式
3.2.2.6 可移动表空间模式
要使用 Oracle 数据泵指定可传输表空间模式导入,请使用该参数。TRANSPORT_TABLESPACES
在可传输表空间模式下,通过使用数据库链接(使用参数指定)或通过指定包含元数据的转储文件来装入另一个数据库中的元数据。必须使参数指定的实际数据文件可从源系统提供,以便在目标数据库中使用,通常是通过将它们复制到目标系统来实现。NETWORK_LINKTRANSPORT_DATAFILES
执行可传输作业时,Oracle 建议您在源系统上保留数据文件的副本,直到导入作业在目标系统上成功完成。使用数据文件的副本时,如果导入作业由于某种原因而失败,则您仍然拥有数据文件的未损坏副本。
使用此模式需要角色。DATAPUMP_IMP_FULL_DATABASE
注:不能导出可传输的表空间,然后将其导入到较低发行版级别的数据库中。目标数据库必须与源数据库处于相同或更高版本的版本级别。
相关主题
Oracle Data Pump 如何处理时间戳数据?
使用数据文件复制移动数据
父主题: Oracle 数据泵导入模式
3.2.3 Oracle 数据泵导入的网络注意事项
了解 Oracle Data Pump Import 实用程序如何使用 Oracle*Net 或 net 服务名称来标识连接字符串中具有连接标识符的实例,以及它们与使用 NETWORK_LINK 参数的导入操作有何不同。impdp
启动 时,可以在连接字符串中指定一个连接标识符,该标识符可以不同于当前 Oracle 系统 ID (SID) 标识的当前实例。impdp
可以通过使用 Oracle*Net 连接描述符或使用映射到连接描述符的网络服务名称(通常在文件中定义)来指定连接标识符。使用连接标识符需要运行 Oracle 网络侦听器(要启动默认侦听器,请输入 )。tnsnames.oralsnrctl start
以下示例显示了这种类型的连接,其中的连接标识符是:inst1
impdp hr@inst1 DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp TABLES=employees
然后,导入会提示您输入密码:
Password: password
若要指定轻松连接字符串,连接字符串必须是转义的带引号字符串。最简单的形式的 Easy Connect 字符串由字符串 组成。例如,如果主机是 ,并且您运行“导出于”,则“轻松连接”字符串可以是:database_host[:port][/[service_name]inst1pdb1
impdp hr@“inst1@example.com/pdb1” DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp TABLES=employees
如果更喜欢使用不带引号的字符串,则可以在参数文件中指定 Easy Connect 连接字符串。
本地导入客户端连接到由连接标识符(网络服务名称)标识的数据库实例,并将数据从转储文件导入到 。inst1hr.dmpinst1
在启动导入实用程序时指定连接标识符与使用参数执行导入操作不同。启动导入操作并指定连接标识符时,本地 Import 客户端将连接到由连接标识符标识的数据库实例,并将数据从命令行上命名的转储文件导入该数据库实例。NETWORK_LINK
相反,当您使用该参数执行导入时,导入是使用数据库链接执行的,并且不涉及转储文件。(数据库链接是两个物理数据库服务器之间的连接,它允许客户端将它们作为一个逻辑数据库进行访问。NETWORK_LINK
相关主题
NETWORK_LINK
数据库链接
了解轻松连接命名方法
父主题: 启动 Oracle 数据泵导入




