zoukankan      html  css  js  c++  java
  • 一则Oracle EXP导出报错的解决办法(转载)

     

    前段时间上海某保险客户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报错。

  • 相关阅读:
    上传下载---上传
    分页中的难点
    分页的实现
    c3p0-config连接池
    判断
    客户关系管理增删改
    转发和重定向
    dbUtils结果集处理器
    加载配置文件.properties,及面向接口编程的DaoFactory
    jdbc链接数据库mysql
  • 原文地址:https://www.cnblogs.com/hy1988/p/5773898.html
Copyright © 2011-2022 走看看