设为首页 收藏本站
查看: 1584|回复: 0

[经验分享] Oracle EXP导出报错的解决办法

[复制链接]

尚未签到

发表于 2016-7-23 08:47:27 | 显示全部楼层 |阅读模式
  前段时间上海某保险客户IT主管打电话过来,说他们的开发人员在开发环境中执行EXP报错,让我过去检查下。本着“客户为本,服务为根”的宗旨,第一时间赶到客户现场。
  和客户开发人员沟通下,查看EXP报错的具体信息:
  正在导出 pre-schema 过程对象和操作
  EXP-00008: 遇到 ORACLE 错误 4063
  ORA-04063: package body "DMSYS.DBMS_DM_IMP_INTERNAL" has errors
  ORA-06508: PL/SQL: could not find program unit being called: "DMSYS.DBMS_DM_IMP_INTERNAL"
  ORA-06512: at "DMSYS.DBMS_DM_MODEL_EXP", line 303
  ORA-06512: at line 1
  EXP-00083: 调用 DMSYS.DBMS_DM_MODEL_EXP.schema_info_exp 时出现前一问题
  第一时间怀疑是不是因为DMSYS用户下面的DBMS_DM_IMP_INTERNAL对象无效导致EXP报错的,通过PL/SQL Develop连接到数据库,查看该对象,结果证实的我的猜测。
  DMSYS用户下面存在部分编译失败的package,包含这个与EXP操作有关DBMS_DM_IMP_INTERNAL的package, (至于为什么系统存在编译失败的package,他们也不清楚是什么原因导致的,现在也无法追溯了)由于系统DMSYS(这个用户是DATA MINING组件使用的)下的package是加密的,无法对其下面的package进行重新编译。我尝试下了下,编译不成功。
  解决方案: 用户删除后重建
  删除DMSYS用户:
  SQL>drop user dmsys cascade;
  用户重建:通过以下脚本重建用户
  SQL>@?/rdbms/admin/dminst.sql
  用户建好后,果然该用户下面所有的package对象都是有效的,于是让开发人员测试EXP导出,悲剧继续发生了,原先的错误解决了,但出现新的错误:
  EXP-00008: ORACLE error 4063 encountered
  ORA-04063: package body "EXFSYS.DBMS_EXPFIL_EXP" has errors
  ORA-06508: PL/SQL: could not find program unit being called: "EXFSYS.DBMS_EXPFIL_EXP"
  ORA-06512: at "EXFSYS.DBMS_EXPFIL_DEPASEXP", line 61
  ORA-06512: at line 1
  EXP-00083: The previous problem occurred when calling EXFSYS.DBMS_EXPFIL_DEPASEXP.schema_info_exp
  . exporting statistics
  报错信息里面报的是EXFSYS(Oracle Expression Filter 组件)用户下面的package又存在无效的,继续采用上述解决方案,对该用户进行重建,
  解决方案:删除DMSYS用户:
  SQL>drop user exfsys cascade;
  用户重建:通过以下脚本重建用户
  SQL>@?/rdbms/admin/catexf.sql
  上述工作完成后,让开发人员测试EXP导出,EXP导出正常,问题解决。
  总结:
  通过Oracle自带脚本对系统用户进行重建,将该系统用户下面的失效对象(这些对象是加密的)进行重新编译,从而解决EXP报错。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-248080-1-1.html 上篇帖子: oracle 使用plsql 导入.sql文件数据 下篇帖子: oracle表关联删除重复记录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表