ORA-00980 同義詞轉換不再有效(ORA-00980: synonym translation is no longer valid) (轉)


今天測試部在跑系統時,老是會報ORA-00980錯誤。發現同義詞有問題。原因是用表的同義詞對表查詢時報錯,表找不到,同義詞無效了。

同義詞創建時,不會去檢測內容的准確性,即如果表不存在,也可以創建該表的同義詞,但是select時會報ORA-00980 同義詞轉換不再有效(ORA-00980: synonym translation is no longer valid)的錯誤。

 

Tom對此錯誤的解釋:

 

That error

simply means "synonym is still here, but the object it points to is inaccessible".  It

could be inaccessible due to a missing grant, or due to the object not being there.

 

You need to find out what synonym it is, query the data dictionary to figure out what

object it points to and figure out why you no longer have access to that object.

 

ops$tkyte@ORA920> create synonym s for t;

Synonym created.

 

ops$tkyte@ORA920> select * from s where rownum = 1;

 

C

----------

1

 

ops$tkyte@ORA920> drop table t;

Table dropped.

 

ops$tkyte@ORA920> select * from s where rownum = 1;

select * from s where rownum = 1

              *

ERROR at line 1:

ORA-00980: synonym translation is no longer valid

 

TOM解釋:http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:7095288486502


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM