天天看点

[转]EXP-00056: 遇到 ORACLE 错误 31600

exp system/password full=y file=e:\20030904.dmp log=e:\20030904.log 

连接到: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production 

With the Partitioning, OLAP and Oracle Data Mining options 

JServer Release 9.2.0.4.0 - Production 

已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集 

服务器使用 AL32UTF8 字符集 (可能的字符集转换) 

即将导出整个数据库... 

. 正在导出表空间定义 

. 正在导出配置文件 

. 正在导出用户定义 

. 正在导出角色 

. 正在导出资源成本 

. 正在导出回退段定义 

. 正在导出数据库链接 

. 正在导出序号 

. 正在导出目录别名 

. 正在导出上下文名空间 

. 正在导出外部函数库名称 

. 导出 PUBLIC 类型同义词 

. 导出私有类型同义词 

. 正在导出对象类型定义 

EXP-00008: 遇到 ORACLE 错误 942 

ORA-00942: 表或视图不存在 

EXP-00024: 未安装导出视图,请通知您的 DBA 

EXP-00000: 导出终止失败 

跟踪错误得到如下: 

Current SQL statement for this session: 

SELECT TNAME, TOWNER, OWNERID, TOID, MTIME, OBJNO, AUDIT$,             TYPOBJSTATUS, TVERSION, THASHCODE      FROM   SYS.EXU9TYP      WHERE  OWNERID != 0      ORDER  BY OBJNO DESC 

SQL>conn / as sysdba; 

SQL>select * from sys.exu9typ; 

导出视图未建立,需执行 

SQL>@$ORACLE_HOME\rdbms\admin\catexp.sql 

问题解决。 

重新导出,又有一错误出现: 

...... 

. 正在导出系统过程对象和操作 

. 正在导出 pre-schema 过程对象和操作 

. 正在导出群集定义 

EXP-00056: 遇到 ORACLE 错误 31600 

ORA-31600: 输入值 EMIT_SCHEMA 无效, 它用于参数 NAME, 位于函数 SET_TRANSFORM_PARAM 中 

ORA-06512: 在"SYS.DBMS_SYS_ERROR", line 105 

ORA-06512: 在"SYS.DBMS_METADATA_INT", line 3926 

ORA-06512: 在"SYS.DBMS_METADATA_INT", line 4050 

ORA-06512: 在"SYS.DBMS_METADATA", line 836 

ORA-06512: 在line 1 

需要运行 

SQL>@$ORACLE_HOME\rdbms\admin\catpatch.sql 

该sql 必须数据库在open migrate状态下才能运行。 

否则报如下错误: 

DOC> BEGIN CATPATCH.SQL */ 

DECLARE 

ERROR 位于第 1 行:  

ORA-20000: Database is not open for MIGRATE. Shutdown and restart using 

MIGRATE. 

ORA-06512: 在line 15  

所以: 

SQL>shutdown immediate 

SQL>startup migrate 

打完patch后, 

SQL>startup 正常打开, 

重新导出,成功,但出现大量的警告信息

    本文转自风车车  博客园博客,原文链接:http://www.cnblogs.com/xray2005/archive/2010/01/28/1658388.html,如需转载请自行联系原作者