oracle impdp的TABLE_EXISTS_ACTION参数测试

(1)测试表数据

(2)expdp导出表ORACLE_TEST的数据

expdp system/oracle directory=DUMP_APP_BASE dumpfile=DUMP_APP_BASE_ORACLE_TEST.dmp tables=SCOTT.ORACLE_TEST   logfile=DUMP_APP_BASE_ORACLE_TEST.log

(3)测试 impdp TABLE_EXISTS_ACTION参数取不同值导入时的效果

a.TABLE_EXISTS_ACTION=skip (默认值)

impdp system/oracle directory=DUMP_APP_BASE dumpfile=DUMP_APP_BASE_ORACLE_TEST.dmp  logfile=DUMP_APP_BASE_ORACLE_TEST.log
Processing object type TABLE_EXPORT/TABLE/TABLE
ORA-39151: Table "SCOTT"."ORACLE_TEST" exists. All dependent metadata and data will be skipped due to table_exists_action of skip
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Job "SYSTEM"."SYS_IMPORT_FULL_01" completed with 1 error(s) at Sun Oct 25 18:16:08 2020 elapsed 0 00:00:01

b.TABLE_EXISTS_ACTION=replace

impdp system/oracle directory=DUMP_APP_BASE dumpfile=DUMP_APP_BASE_ORACLE_TEST.dmp  logfile=DUMP_APP_BASE_ORACLE_TEST.log TABLE_EXISTS_ACTION=replace

 c.TABLE_EXISTS_ACTION=append

impdp system/oracle directory=DUMP_APP_BASE dumpfile=DUMP_APP_BASE_ORACLE_TEST.dmp  logfile=DUMP_APP_BASE_ORACLE_TEST.log TABLE_EXISTS_ACTION=append

 查看表ORACLE_TEST的数据:

可以看到表中多了两条数据,追加的效果。

d.TABLE_EXISTS_ACTION=truncate

impdp system/oracle directory=DUMP_APP_BASE dumpfile=DUMP_APP_BASE_ORACLE_TEST.dmp  logfile=DUMP_APP_BASE_ORACLE_TEST.log TABLE_EXISTS_ACTION=truncate

 查看表ORACLE_TEST的数据:

可以看到表ORACLE_TEST的数据现在只有2条,truncate的动作先清空了表后导入数据。

注意事项:

(1)如果CONTENT设置了DATA_ONLY,则不能使用TABLE_EXISTS_ACTION=REPLACE。

(2) 如果CONTENT设置了DATA_ONLY参数,则不能使用TABLE_EXISTS_ACTION=SKIP。

(3)查看现在表ORACLE_TEST的数据

impdp system/oracle directory=DUMP_APP_BASE dumpfile=DUMP_APP_BASE_ORACLE_TEST.dmp  logfile=DUMP_APP_BASE_ORACLE_TEST.log  CONTENT=DATA_ONLY

 再次查看表ORACLE_TEST的数据

可以得到如果加了参数 CONTENT=DATA_ONLY,则impdp不指定TABLE_EXISTS_ACTION参数时,默认是append。

猜你喜欢

转载自blog.csdn.net/weixin_41561862/article/details/109276736
今日推荐