暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle 导入参数 -1

原创 不吃草的牛_Nick 2023-07-10
299

与数据泵导出实用程序的情形一样,调用impdp实用程序时,可借助于各种参数控制数据泵导入作业。为了便于讨论,将参数分成以下几类:
★ 与文件有关的和与目录有关的参数;
★ 过滤参数:
★ 与作业有关的参数;
★ 与导入方式有关的参数;
★ 重映射参数;
★ TRANSFORM参数;
★ NETWORK_LINK参数;
★ 闪回参数。

1.与文件和目录有关的参数
数据泵导入实用程序与数据泵导出实用程序以同样的方法使用PARFILE、DIRECTORY、DUMPFILE,LOGFILE和NOLOGFILE命令。但是,SQLFILE是一个唯一针对导入实用程序、与文件有关的参数。

SQLFILE参数类似于旧的导入实用程序的INDEXFILE参数。在执行数据泵导入作业时,有时会希望从导出转储文件中提取DDL。SQLFILE参数可以轻易做到这一点,如下例所示:
$ impdp system/sammyyl DIRECTORY=dpump_dirl DUMPFILE=scott.dmp SQLFILE=dpump_dir2:finance.sql SCHEMAS=scott

在本例中,SQLFILE参数指示数据泵导入作业将与scott模式相关的所有DDL写入位于dpump_dir2目录中的finance.sql文件。当然,必须在发布此命令前用CREATE DIRECTORY AS命令创建dpump_dir2目录。DIRECTORY=dpump_dirl参数值指示数据泵导入实用程序在哪里找到转储文件scott.dmp,数据泵导入作业将从哪里为用户scott的模式提取DDL.本例还说明了如何在单个数据泵作业中使用多个目录。

要记住,SQLFILE参数只为特定的文件提取SQL DDL--并不发生实际的数据导入。使用此参数,可以从导出转储文件中提取带有全部DDL的SQL脚本。SQLFILE中的DDL允许浏览导入作业将执行什么。

如果你打开finance.sql文件,将看到用于重新创建用户scott模式的没有注释的SQL DDL语句。

请注意,SQL将不仅重新创建表和索引,还创建所有对象,其中包括用户scott的模式中的函数和过程。

另一个重要的与文件有关的数据泵导入参数是新的REUSE_DATAFILES参数。此参数指定数据泵在导入过程中是否使用己有的数据文件来创建表空间。如果指定REUSE_DATAFILES=Y,则数据泵导入实用程序将改写已有的数据文件。

2.过滤参数
与数据泵导出的情形一样,使用CONTENT参数确定是否只装载行(CONTENT=DATA_ONLY),或行和元数据(CONTENT=ALL),或元数据(CONTENT=METADATA_ONLY).

EXCLUDE和INCLUDE参数在导出作业中的有相同而作用,它们是对立的:
使用INCLUDE参数列出希望导入的对象;
使用EXCLUDE参数列出不想导入的对象。

以下是使用INCLUDE参数的例子,参数说明限制只导入表对象。只有persons表被导入。
INCLUDE=TABLE:"= 'persons'"
可以使用子句INCLUDE=TABLE:"LIKE 'PER%'"只导入名字以PER开头的表。也可以通过将所有带某种语法的对象忽略,以否定方式使用INCLUDE参数,如下所示:
INCLUDE=TABLE:"NOT LIKE 'PER%'"

请注意,如果使用CONTENT=DATA_ONLY选项,则在导入过程中既不能使用EXCLUDE也不能使用INCLUDE参数。

可以使用QUERY参数在导入中过滤数据(在旧的导出和导入实用程序中,只能在导出过程中使用QUERY参数)。可以使用QUERY参数指定整个模式或单个表。请注意,如果在导入过程中使用QUERY参数,数据条将只使用外部表数据方法来访问数据,而非直接路径方法。

可以使用TABLE_EXISTS_ACTION参数指定数据泵导入实用程序当表已经存在时做什么。可以给TABLE_EXISTS_ACTION参数提层4个不同的值:
★ SKIP(默认值),数据泵跳过一个表(如果表存在的话):
★ APPEND值将行追加到表中;
★ TRUNCATE值截除表并从导出转储文件中重新装载数据;
★ REPLACE值删除表(若表存在),重新创建此表,并重新装载。

3.与作业有关的参数
JOB_NAME、STATUS和PARALLEL参数与对应的数据泵导出部分有相同的含义。请注意,如果有多个转储文痛,应该明确指定或通过和表示法指定它们。

4.与导入方式有关的参数
可以像数据泵导出实用程序那样,用TABLE、SCHEMAS、TABLESPACES和FULL参数,以不同方式执行数据泵导入。如果希望在数据库之间传送表空间,可以使用TRANSPORTABLE_TABLESPACES参数。

执行可移植表空间操作时,可以像数据泵导出中那样使用TRANSPORT_FULL_CHECK参数。如果使用NETWORK_LINK参数,贝ljTRANSPORT_FULL_CHECK参数只适合于表空间的传送。

TRANSPORT_DATAFILES导入参数在奇移植表空间操作中使用,以指定作业应该导入目标数据库的数据文件列表。必须首先将这些文件从源系统复制到目标服务器中。下例说明如何使用与传送表空间有关的导入参数:
$ impdp salapati/sammyyl DIRECTORY=dpump_dir1
NETWORK_LINK=source_database_link
TRANSPORT_TA8LESPACES=users TRANSPORT_FULL_CHECK=Y
TRANSPORT_DATAFILES='/wkdiir/data/tbs6.f'



「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论