[oracle]使用impdp导入数据时卡在视图

前言

oracle 19c使用impdp的时候卡在导入视图的地方一点不动,也没啥提示。根据网上资料,oracle 19在导入视图的时候会有bug。

步骤

  1. 查看导入任务
sqlplus / as sysdba
select * from dba_datapump_jobs;

# 假设 SYS_IMPORT_FULL_06 的 status 为EXECUTING
  1. 进入impdp控制台。状态在变化的话说明在正常导入,不过数据量太大导致看起来像卡住了,等着就行了。如果状态没变化,说明就卡住了,根据输出结果查看卡在什么地方,然后停了导入任务。
impdp zhangsan/zspasswd attach=SYS_IMPORT_FULL_06

# 查看状态: status
# 得知卡在 VIEW_EXMP1 这个视图
# 先停止: stop_job=immediate
  1. 等停止之后,重新导入。跳过指定视图。
# 只有一个的话
impdp zhangsan/zspasswd@192.168.0.20:1521/orcl directory=DUMPDIR dumpfile=zhangsan.dmp logfile=zhangsan_impdp.log remap_schema=zhangsan:zhangsan table_exists_action=replace exclude=view:"IN('VIEW_EXMP1')"

# 多个的话
impdp zhangsan/zspasswd@192.168.0.20:1521/orcl directory=DUMPDIR dumpfile=zhangsan.dmp logfile=zhangsan_impdp.log remap_schema=zhangsan:zhangsan table_exists_action=replace exclude=view\"IN \(\'VIEW_EXMP1\',\'VIEW_EXMP2\',\'VIEW_EXMP3\'\)\"
  1. 导入结束后,获取跳过视图的ddl,手动导入。
  2. 结束。
posted @ 2022-08-04 11:05  花酒锄作田  阅读(1700)  评论(0编辑  收藏  举报