问题描述
亲爱的先生,
我正在从一个系统导出数据库,然后将其导入另一个系统。导入后,显示错误ORA-00980转换不再有效,我可以看到解决方案,但我的问题是
1) 它与以前的系统配合良好,为什么在导入其显示错误后?
2) 我不想在导入后解决问题,当它引发异常时,我不想让这个问题出现
3) 导入后,我必须再次创建架构和同义词,有没有办法解决它
因此,导入后,它应该可以完美工作而不会引发异常
先生,你能帮我吗?
我正在从一个系统导出数据库,然后将其导入另一个系统。导入后,显示错误ORA-00980转换不再有效,我可以看到解决方案,但我的问题是
1) 它与以前的系统配合良好,为什么在导入其显示错误后?
2) 我不想在导入后解决问题,当它引发异常时,我不想让这个问题出现
3) 导入后,我必须再次创建架构和同义词,有没有办法解决它
因此,导入后,它应该可以完美工作而不会引发异常
先生,你能帮我吗?
专家解答
当同义词指向数据库中没有的对象时,会发生ORA-980情况!
例如:
所以我的猜测是,导入不包括你的同义词的目标。可能是因为它们处于不同的模式!
您可以通过以下查询找到哪些同义词缺少其目标:
例如:
SQL> create table t (
2 x int
3 );
Table created.
SQL>
SQL> create synonym s for chris.t;
Synonym created.
SQL>
SQL> select * from s;
no rows selected
SQL>
SQL> drop table t purge;
Table dropped.
SQL>
SQL> select * from s;
select * from s
*
ERROR at line 1:
ORA-00980: synonym translation is no longer valid
所以我的猜测是,导入不包括你的同义词的目标。可能是因为它们处于不同的模式!
您可以通过以下查询找到哪些同义词缺少其目标:
select * from user_synonyms s where not exists ( select * from dba_objects d where s.table_owner = d.owner and s.table_name = d.object_name ); SYNONYM_NAME TABLE_OWNER TABLE_NAME DB_LINK S CHRIS T
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




