Myślę, że Justin jest na dobrej drodze. Myślę, że faktycznie oznacza to, że mydbowner.mytable nie istnieje.
Oto przykład:
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
myślę, co się dzieje jest to, że Oracle stara się rozwiązać mojatabela, nie ma mojatabela w mbobak schematu, więc wygląda na to publicznie, to znajdzie go i widzi, że wskazuje na mbobak.mytable. Jednak plik mbobak.mytable nie istnieje, więc szuka możliwości mytable w PUBLIC, a tam jest pętla.
I rzeczywiście, jeśli tworzysz mojatabela, błąd odchodzi:
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
Tak, zdaję sobie sprawę, że tak naprawdę nie do końca sensowne, jak kiedyś synonimem publicznego postanowili mbobak.mytable, i tego nie znaleziono, wydaje mi się, że powinien zwrócić błąd ORA-942 "tabela lub widok nie istnieje", co ma dla mnie dużo więcej sensu.
Ale wygląda na to, że to działa.
QED
Nadzieję, że pomaga.
Dwie odpowiedzi są prawidłowe. Zrobiłem coś w rodzaju literówki, a synonim nic nie wskazywał. – Joe