我试图导出oracle数据库的.dmp但是在运行exp命令时遇到了以下错误
ORA-31600:函数SET_TRANSFORM_PARAM中参数NAME的输入值EMIT_SCHEMA无效
这是我第一次尝试从此服务器导出,因为它已经设置好了。我是否需要做些什么才能让导出以正确的方式运行。
我的完整解决方案(WINDOWS MACHINE)
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)启动;
答案 0 :(得分: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。可能的原因是未完全应用的补丁集。您可能需要处于受限模式。