当前位置: 首页 > article >正文

Oracle impdp-ORA-39083,ORA-00942

可以使用 Oracle 数据泵导入工具 (IMPDP.EXE) 通过 REMAP_SCHEMA 选项将一种模式导入到另一种模式中。然而,存在一个问题,这种remap_schema的选项无法影响到package/procedure/view/trigger等内部引用的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 ...

原因是创建的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,解决方法是:

  • 使用impdp指令获取dump档内的DDL 命令
impdp system/** directory=test_dp DUMPFILE=export_schemas.dmp remap_schema=u1:u2 sqlfile=script.sql
  • 从写入的 SQLFILE 中提取受影响的 DDL 并更正schema引用。然后手动执行命令。
    这种方法并不可取,尤其是在存在大量导入失败对象的情况下,且需要实现自动化以合并多个模式用于现场数据库升级。
    是否有更优的解决方案能够解决此问题?所需的解决方案必须在现场应用中具备 100% 的可靠性。尽管可以通过解析生成的 SQL 文件来尝试修复,但这种方式是否能够确保完全正确?是否存在一种机制,可以在 IMPDP 执行 CREATE SQL 语句时进行拦截并在导入过程中实时修正?或者,是否可以通过直接修改 DMP 文件的方式实现所需的调整?

http://www.kler.cn/a/411780.html

相关文章:

  • fastjson不出网打法—BCEL链
  • Python数据分析实例五、US 大选捐款数据分析
  • Scala习题
  • Redis设计与实现第14章 -- 服务器 总结(命令执行器 serverCron函数 初始化)
  • 【大数据学习 | Spark-Core】Spark的改变分区的算子
  • 【通俗理解】隐变量的变分分布探索——从公式到应用
  • GitLab使用操作v1.0
  • 【设计模式】【行为型模式(Behavioral Patterns)】之策略模式(Strategy Pattern)
  • 【微服务架构】Kubernetes与Docker在微服务架构中的最佳实践(详尽教程)
  • 《免费学习网站推荐1》
  • 【JAVA】Java高级:Java网络编程——TCP/IP与UDP协议基础
  • 鸿蒙中拍照上传与本地图片上传
  • JavaWeb--JDBC
  • 如何搭建一个小程序:从零开始的详细指南
  • 过滤条件包含 OR 谓词,如何进行查询优化——OceanBase SQL 优化实践
  • C++设计模式-中介者模式
  • 【31-40期】从Java反射到SSO:深度解析面试高频问题
  • 17. 【.NET 8 实战--孢子记账--从单体到微服务】--记账模块--主币种设置
  • qt 读写文本、xml文件
  • 0 基础 入门简单 linux操作 上篇 利用apt命令装13 linux搭建自己的服务器
  • 【WEB开发.js】getElementById :通过元素id属性获取HTML元素
  • SpringMVC框架---SpringMVC概述、入门案例、常用注解
  • Flink Transformation-转换算子
  • C++设计模式之组合模式的基本结构
  • 【多线程-第一天-多线程的技术方案-pthread演示 Objective-C语言】
  • React中事件处理和合成事件:理解与使用