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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/856773/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-18 18:13:48  来源:igfitidea点击:

Oracle Export: ORA-31600: invalid input value EMIT_SCHEMA for parameter NAME in function SET_TRANSFORM_PARAM

oracle

提问by AJM

Im trying to export a .dmp of an oracle database but am getting the follwoing error when I run the exp command

我试图导出一个 oracle 数据库的 .dmp,但是当我运行 exp 命令时出现以下错误

ORA-31600: invalid input value EMIT_SCHEMA for parameter NAME in function SET_TRANSFORM_PARAM

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

This is the first time I've tried to export from this server since it has been set up. Is there something I need to do to allow export to function in the correct manner.

这是我第一次尝试从这台服务器导出,因为它已经设置好了。我需要做些什么才能让导出以正确的方式运行。

THE FULL SOLUTION FOR ME WAS (WINDOWS MACHINE)

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

1) Open command prompt at C:\Oracle\Ora92\rdbms\admin

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

2) Logon to sqlplus as sysdba, to do this in command prompt you need to execute command sqlplus "sys as sysdba"

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

3) Run catexp.sql - this gets rid of some errors (to run type @@catexp.sql in command prompt)

3) 运行 catexp.sql - 这会消除一些错误(在命令提示符中运行类型 @@catexp.sql)

4) Run catproc.sql

4) 运行 catproc.sql

5) Run catmeta.sql this requires to shutdown oracle, run the patch and restart as described below.

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

1)logon sqlpus sysdba 2)shutdown immediate; 3)startup migrate; 4)@@catpatch.sql; 5)Shutdown immediate; 6)Startup;

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

采纳答案by DCookie

Which version of Oracle are you using? Version 9.2 has the following issue if a patchset is not properly applied:

您使用的是哪个版本的 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

This is detailed in Metalink document ID 257986.1.

这在 Metalink 文档 ID 257986.1 中有详细说明。

Unless you're running RAC, the fix is to run /rdbms/admin/catpatch.sql. Likely cause is an incompletely applied patchset. You may need to be in restricted mode.

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