[转]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: 导出终止失败
跟踪错误得到如下:
ORA-00942: 表或视图不存在
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;
ORA-00942: 表或视图不存在
导出视图未建立,需执行
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
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
EXP-00000: 导出终止失败
需要运行
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
SQL>@$ORACLE_HOME\rdbms\admin\catpatch.sql
打完patch后,
SQL>shutdown immediate
SQL>startup 正常打开,
重新导出,成功,但出现大量的警告信息