Jeg tror, at Justin er på rette vej. Hvad jeg tror, det faktisk betyder, er, at mydbowner.mytable ikke eksisterer.
Her er et eksempel:
SQL> conn mbobak
Enter password:
Connected.
SQL> drop table mytable;
drop table mytable
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> create public synonym mytable for mbobak.mytable;
Synonym created.
SQL> select * from mytable;
select * from mytable
*
ERROR at line 1:
ORA-01775: looping chain of synonyms
Jeg tror, at det, der sker, er, at Oracle forsøger at løse mytable, der er ingen mytable i mbobak-skemaet, så det leder efter det i PUBLIC, det finder det og ser, at det peger på mbobak.mytable. Men mbobak.mytable eksisterer ikke, så den leder efter mytable i PUBLIC, og der er løkken.
Og faktisk, hvis du opretter mytable, forsvinder fejlen:
SQL> create table mytable as select * from dual;
Table created.
SQL> select * from mytable;
D
-
X
1 row selected.
SQL> drop table mytable;
Table dropped.
SQL> select * from mytable;
select * from mytable
*
ERROR at line 1:
ORA-01775: looping chain of synonyms
Ja, jeg er klar over, at det ikke rigtig giver mening, da når først det offentlige synonym blev løst til mbobak.mytable, og det ikke er fundet, forekommer det mig, det burde returnere en fejl ORA-942 "tabel eller visning eksisterer ikke ", hvilket giver langt mere mening for mig.
Men det ser ud til at være sådan, det virker.
QED
Håber det hjælper.