oracle 16003,EXP挂起与ora-31600

兄弟在尝试备份开发环境的数据库时遇到 ora-31600 错误,导致EXP导出失败。问题出现在使用开发用户和system用户进行导出时。经过分析,可能是由于数据库升级后未运行catpatch脚本。执行了shutdown immediate; startup migrate; catpatch.sql;等步骤后,导出恢复正常。这是一个关于Oracle数据库管理及故障排除的案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一兄弟准备备份开发环境的数据库,在做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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值