【问题标题】:Oracle Export: ORA-31600: invalid input value EMIT_SCHEMA for parameter NAME in function SET_TRANSFORM_PARAMOracle 导出:ORA-31600:函数 SET_TRANSFORM_PARAM 中参数 NAME 的输入值无效 EMIT_SCHEMA
【发布时间】:2010-10-25 19:12:30
【问题描述】:

我正在尝试导出 oracle 数据库的 .dmp,但运行 exp 命令时出现以下错误

ORA-31600: 函数 SET_TRANSFORM_PARAM 中参数 NAME 的输入值 EMIT_SCHEMA 无效

这是我自该服务器设置以来第一次尝试从该服务器导出。我需要做些什么才能让导出以正确的方式运行。

我的完整解决方案是(WINDOWS 机器)

1) 在 C:\Oracle\Ora92\rdbms\admin 打开命令提示符

2) 以 sysdba 身份登录到 sqlplus,要在命令提示符下执行此操作,您需要执行命令 sqlplus "sys as sysdba"

3) 运行 catexp.sql - 这消除了一些错误 (在命令提示符下运行@@catexp.sql)

4) 运行 catproc.sql

5) 运行 catmeta.sql 这需要关闭 oracle,运行补丁并重新启动,如下所述。

1)登录sqlpus sysdba 2)立即关机; 3)启动迁移; 4)@@catpatch.sql; 5)立即关机; 6)启动;

【问题讨论】:

  • 哇。我有点惊讶你可以用那个数据库做任何事情:-) 我发现阅读补丁附带的 readme.html 文件是一项非常值得的练习。一般来说,您需要先修补软件,然后再修补数据库对象。

标签: oracle


【解决方案1】:

您使用的是哪个版本的 Oracle?如果未正确应用补丁集,9.2 版会出现以下问题:

Symptom(s)
~~~~~~~~~~
You are performing a database export against your 9.2 database.  The database 
export abnormally ends with the following errors:

EXP-00056: ORACLE error 31600 encountered
ORA-31600: invalid input value EMIT_SCHEMA for parameter NAME in function 
SET_TRANSFORM_PARAM
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: at "SYS.DBMS_METADATA_INT", line 3926
ORA-06512: at "SYS.DBMS_METADATA_INT", line 4050
ORA-06512: at "SYS.DBMS_METADATA", line 836
ORA-06512: at line 1
EXP-00000: Export terminated unsuccessfully

Metalink 文档 ID 257986.1 对此进行了详细说明。

除非您正在运行 RAC,否则修复方法是运行 /rdbms/admin/catpatch.sql。可能的原因是未完全应用的补丁集。您可能需要处于受限模式。

【讨论】:

  • 是的,除此之外我还必须运行 catproc.sql 和 catmeta.sql
猜你喜欢
  • 1970-01-01
  • 2018-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-09
  • 2018-03-31
  • 2018-06-25
相关资源
最近更新 更多