加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

有关触发器(ORA-39083,ORA-00942)的Oracle IMPDP REMAP_SCHEMA问

发布时间:2021-05-23 21:41:35 所属栏目:站长百科 来源:网络整理
导读:可以行使Oracle数据泵导入器材(IMPDP.EXE)行使REMAP_SCHEMA选项将一个模式导入另一个模式.可是,存在一个题目,即触发器未正确从头映射.这导致触发器基础没有建设错误,如下所示: ORA-39083: Object type TRIGGER failed to create with error: ORA-00942: tab

可以行使Oracle数据泵导入器材(IMPDP.EXE)行使REMAP_SCHEMA选项将一个模式导入另一个模式.可是,存在一个题目,即触发器未正确从头映射.这导致触发器基础没有建设错误,如下所示:

ORA-39083: Object type TRIGGER failed to create with error: ORA-00942: table or view does not exist Failing sql is: CREATE TRIGGER "**NEW_SCHEMA**"."METER_ALARMS_BI"   BEFORE INSERT ON
**OLD_SCHEMA**.METER_ALARMS ...

缘故起因是由于create SQL如故引用OLD_SCHEMA.它确其实Oracle文档中说:

The mapping may not be 100 percent
complete,because there are certain
schema references that Import is not
capable of finding. For example,
Import will not find schema references
embedded within the body of
definitions of types,views,
procedures,and packages.

恕我直言,这是甲骨文的一个警员,但这是另一个接头!

按照Oracle Metalink声名750783.1,办理要领是:

  1. Create a SQLFILE to include the relevant DDL command(s):
impdp system/****** directory=test_dp
      DUMPFILE=export_schemas.dmp
     remap_schema=u1:u2 sqlfile=script.sql
  1. Extract the affected DDL from the written SQLFILE and correct the
    schema reference. Then execute the command manually.

这不是一个好要领,出格是假如你有很多失败的工具,并但愿在数据库的现场进级中自动化组合多个模式的进程.

有没有人找到更好的要领来做到这一点?假如要在现场行使,我必要一个必需100%靠得住的办理方案.我可以理会天生的SQL文件,但可以100%正确吗?是否有一些要领可以拦截IMPDP执行的CREATE SQL语句并在导入时动态矫正?可以直接修补DMP文件吗?

你可以看一下DBMS_METADATA

有一个REMAP_SCHEMA选项.不确定它是否比DATAPUMP更好用(我猜疑DATAPUMP会在封面下行使DBMS_METADATA).可是“后处理赏罚”输出会更轻易.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读