一兄弟准备备份开发环境的数据库,在做EXP导出时失败,症状如下:
使用开发用户导出,报ora-31600
使用system用户导出,正在导出对象类型定义的时候挂起[@more@]
C:>exp mjjj/oracle file=d:mjjj.dmp rows=n owner=mjjj
EXP-00056: 遇到 ORACLE 错误 31600
ORA-31600: 输入值 EMIT_SCHEMA 无效, 它用于参数 NAME, 位于函数 SET_TRANSFORM_PARA
M 中
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: 导出终止失败
C:>exp system/oracle file=d:mjjj.dmp rows=n full=y
Export: Release 9.2.0.6.0 - Production on 星期五 7月 24 15:42:14 2009
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
连接到: Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production
已导出 ZHS16GBK 字符集和 UTF8 NCHAR 字符集
服务器使用 UTF8 字符集 (可能的字符集转换)
注: 将不会导出表数据(行)
即将导出整个数据库...
. 正在导出表空间定义
. 正在导出配置文件
. 正在导出用户定义
. 正在导出角色
. 正在导出资源成本
. 正在导出回退段定义
. 正在导出数据库链接
. 正在导出序号
. 正在导出目录别名
. 正在导出上下文名空间
. 正在导出外部函数库名称
. 导出 PUBLIC 类型同义词
. 导出私有类型同义词
. 正在导出对象类型定义^C
估计是升级9206之后,没有运行catpatch,重新运行之后,导出正常
sqlplus /nolog
shutdown immediate;
startup migrate;
@$ORACLE_HOME/rdbms/admin/catpatch.sql;
shutdown immediate;
startup;
其它三个脚本文件
catexp.sql
-- catpatch.sql
catmeta.sql
utlrp.sql