我正在尝试使用EXP命令在oracle 10数据库中导出模式。让我们调用模式“myschema”和tns名称“mydb”来保护无辜的名字。无论如何,这是我正在使用的命令行
exp myschema/mypassword@mydb file=myschema.dmp grants=y
当我尝试在其他实例上运行导出时,这有效,但是当我尝试对抗“mydb”时出现以下错误。
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production With the Partitioning, OLAP and Data Mining options Export done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set server uses UTF8 character set (possible charset conversion) . exporting pre-schema procedural objects and actions . exporting foreign function library names for user MYSCHEMA . exporting PUBLIC type synonyms EXP-00008: ORACLE error 980 encountered ORA-00980: synonym translation is no longer valid EXP-00000: Export terminated unsuccessfully
有人有什么想法吗?如果需要任何进一步的信息,请告诉我,我会相应地编辑这个问题。
答案 0 :(得分:1)
如果JVM安装已损坏,则会发生这种情况。尝试:
SELECT comp_id, schema, status, version, comp_name
FROM dba_registry
ORDER BY 1;
如果这返回一行,其中com_id为JAVAVM且状态为“INVALID”,则需要重新安装java VM。
Metalink文档276554.1具有执行此操作的过程。如果您可以轻松恢复,则可能更容易重新创建数据库并重新加载它。
编辑:我发现Oracle-base link海报声称这将卸载并重新安装JVM(在Unix上),我认为它适用于具有轻微mod的Windows:(警告!如果此处出现问题,您可能会严重阻塞数据库。首先备份!)
cd $ORACLE_HOME/javavm/install
sqlplus / as sysdba
@rmjvm.sql
@initjvm.sql
-- Recompile invalid objects
@?/rdbms/admin/utlrp
金属链接说明涉及更多。