`

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报错。

分享到:
评论

相关推荐

    Oracle报错问题.docx

    Oracle 登录 报错No matching authentication protocol 文档

    解决Oracle导出dmp文件空表导不出问题.docx

    ### 解决Oracle导出DMP文件空表导不出问题 #### 背景与问题描述 在使用Oracle数据库的过程中,可能会遇到一个常见的问题:当尝试使用工具如PL/SQL Developer导出包含空表的DMP文件时,这些空表无法被正确地导出。...

    oracle11G-解决空表导出的问题

    Oracle 11g版本提供了多种数据导出工具,包括SQL*Plus的`exp`和`expdp`命令,以及Oracle Data Pump。针对空表导出的问题,本教程将深入探讨如何在Oracle 11g中正确执行这一操作,并提供具体的操作步骤。 1. **理解...

    Oracle10g导入导出

    ### Oracle 10g 数据导入导出详解 #### 一、概述 Oracle 10g 引入了一项新技术——**数据泵**(Data Pump),它为数据库管理员(DBA)及开发人员提供了一种高效的方式,可以快速地在不同的 Oracle 数据库之间迁移数据...

    ORACLE8I数据库应用EXP工具时ORA-06553报错的解决方法.pdf

    ORACLE8I数据库应用EXP工具时ORA-06553报错的解决方法 摘要:本文主要解决ORACLE 8I数据库应用EXP工具时ORA-06553报错的问题,分析出现问题的原因,并提供了正确的解决方法和措施。 知识点1:Oracle 8I数据库EXP...

    Java导出Oracle数据库数据

    exp 命令用于将 Oracle 数据库数据导出到文件中,而 imp 命令用于将数据从文件中导入到 Oracle 数据库中。这些命令可以在命令行中使用,例如,在 Windows 中,可以打开命令行窗口,输入 exp 用户名/密码@标识 file=d...

    Oracle不能导出空表问题解决办法

    数据库导出时候因为版本问题,导出空表时候会报错,这里有解决办法。

    exp、imp导入数据乱码、plsql中文乱码,显示问号

    在日常工作中,我们经常遇到数据库操作时中文显示不正确的问题,尤其是在使用 Oracle 的 `exp` 和 `imp` 命令进行数据导入导出以及通过 PL/SQL Developer 工具查询数据时出现中文乱码的情况尤为常见。本文将详细探讨...

    Oracle exp、imp注意和使用

    在Oracle数据库管理中,`exp` 和 `imp` 是两个非常重要的工具,用于数据的导出(Export)和导入(Import)。它们为数据库管理员提供了一种简便的方式来备份或迁移数据。了解这些工具的正确用法对于确保数据安全性和...

    Oracle数据导入导出技巧之imp/exp命令

    ### Oracle数据导入导出技巧之imp/exp命令 #### 数据导入详解 ##### 1. 基础导入命令 - **基本语法**: ```shell imp 用户名/密码@数据库名 file=文件路径 ``` - **示例**: ```shell imp system/manager@...

    oracle11G数据库导出和导入工具

    数据库做备份exp 或imp 命令导出或导入文件的时候报错,很多情况下是缺少exp.exe 和imp.exe工具或者该工具出行问题,下载好后,将该文件放在D:\development\Oracle\product\11.2.0\dbhome_1\BIN该目录替换即可

    oracle经典导入导出语句

    Oracle 数据导入导出工具 imp 和 exp 是用于在数据库之间传输数据的重要工具,它们在数据库管理和维护中扮演着关键角色,特别是在备份和恢复场景下。Oracle 数据库提供了多种方式来实现数据的导入导出,其中 imp 和 ...

    如何处理错误ORA-29275:部分多字节字符

    当尝试查询这些被截断的多字节字符时,Oracle数据库将报错ORA-29275。 2. **字符集设置不当**:如果数据库服务器的字符集设置与客户端的应用程序或操作系统使用的字符集不匹配,也可能引发此错误。 3. **数据...

    Oracle DMP备份文件导入(impdp)导出(expdp)方法

    它提供了比传统EXP/IMP更快的导出和导入性能,同时支持并行处理和压缩选项,使得数据操作更加高效。本篇文章将详细讲解如何使用DMP文件进行数据的导出与导入。 ### 一、导出(expdp) 1. **命令格式**: ``` expdp...

    oracle12c ORA-01017: 用户名/口令无效; 登录被拒绝 解决方案

    oracle12c程序连接时异常: ORA-01017: 用户名/口令无效; 登录被拒绝 的解决方案。

    Oracle中如何使用imp语句导入不同表空间?

    在实际工作中,有时需要将exp导出的历史备份dmp文件进行恢复,若之前的建表语句及表空间名无法找到,则直接用imp语句进行导入的话可能报错表空间不存在,且导入数据占用空间可能会非常大。使用本文方法可将exp导出的...

    第19章 Oracle数据备份与还原.ppt

    如果数据库中 fruits 表已经存在,此时会报错,解决方式是在上面代码后加上:ignore=y 即可。 Oracle 数据备份与还原是数据库管理员必须掌握的重要知识,通过本章的学习,大家可以熟悉 Oracle 数据备份与还原的概念...

    oracle数据库导入导出命令解析

    Oracle数据库作为一款成熟的商业数据库系统,提供了强大的数据导入导出功能,通过imp和exp命令实现数据的备份和迁移。在详细解释这些命令之前,需要了解一些基础知识。 首先,Oracle数据导入导出是数据库管理员常用...

Global site tag (gtag.js) - Google Analytics