【问题标题】:IMPDP : How to import only Table dataIMPDP:如何只导入表数据
【发布时间】:2018-10-04 17:05:36
【问题描述】:

我尝试从转储文件导入(表、过程、函数等)。我犯了一个错误 在导入仍在进行时执行KILL -9 <PROCESS_ID>

所以,我又开始导入了。现在,我又犯了一个错误,没有提及 TABLE_EXISTS_ACTION=TRUNCATE 。因此,表已导入重复记录。

我想删除重复数据。涉及的表超过 500 张。 我打算通过先截断表然后仅导入数据来再次导入。

下面是我想出的导入命令。此命令是否会首先导入表数据(记录) 截断表格然后只插入数据?

impdp DIRECTORY=MY_DIRECTORY  dumpfile=EXP_MY_DUMP.dmp INCLUDE=TABLE_DATA TABLE_EXISTS_ACTION=TRUNCATE

我可以尝试执行自己,看看是否可行。但是,我已经尝试了两次,都失败了。

另外,我不想再次导入 INDEX、SEQUENCES 等。只是表记录。

【问题讨论】:

    标签: oracle import impdp


    【解决方案1】:

    删除 INCLUDE=TABLE_DATA。那不会执行创建表..应该可以工作。

    【讨论】:

    • 如何排除INDEX,序列重新创建?
    • 我不想明确写出这么多排除对象,例如EXCLUDE=INDEX EXCLUDE=PROCEDURE EXCLUDE=SYNONYM EXCLUDE=GRANTS 等。通过仅包含 TABLE,我想说排除所有其他对象。
    • 在这种情况下添加 INCLUDE= TABLE 而不是 TABLE_DATA。
    • 我用 INCLUDE= TABLE 测试过。但是,注意到它也在导入索引、同义词、序列和所有其他对象。并因错误 ORA-31684: Object type .. already exists 而失败
    • 但是,为什么该命令甚至选择索引、同义词等?通过 'failure' ,我的意思是说它通过尝试导入 Tables 以外的对象而失败。
    猜你喜欢
    • 2018-06-28
    • 2010-10-15
    • 2016-05-19
    • 2017-01-10
    • 2012-06-30
    • 2022-01-14
    • 1970-01-01
    • 2020-10-20
    • 2014-09-23
    相关资源
    最近更新 更多