web-dev-qa-db-ja.com

ベーステーブルが存在しないときに、「ORA-01775:シノニムのループチェーン」という誤ったエラーが発生するのはなぜですか?

Informaticaを使用して、データをOracle 9iデータウェアハウスにロードするETLプロセスを管理しています。

今日、Informaticaセッションログに以下のエラーが発生しました:

Message: Database driver error...
CMN_1022 [DELETE FROM SOME_TABLE 
WHERE PERIOD_NAME = 'OCT-12'

ORA-01775: looping chain of synonyms

Database driver error...
Function Name : executeDirect
SQL Stmt : DELETE FROM SOME_TABLE 
WHERE PERIOD_NAME = 'OCT-12'
Oracle Fatal Error
Database driver error...
Function Name : ExecuteDirect

Oracle Fatal Error
]

今は誤植でした、テーブル名が間違っていました。 Oracleエラーは明らかに間違った方向に私たちを送りました...したがって、同義語に問題がないときにこのエラーが表示された理由を理解したかっただけです。

3
Kent Pawar

これは、「ぶら下がり」同義語がある場合に発生します。

例えば:

SQL> create table blah ( a number );

Table created.

SQL> create public synonym blah for blah;

Synonym created.

SQL> drop table blah;

Table dropped.

SQL> select * from blah;
select * from blah
              *
ERROR at line 1:
ORA-01775: looping chain of synonyms


SQL>
5
Philᵀᴹ