Penso che Justin sia sulla strada giusta. Quello che penso significhi effettivamente è che mydbowner.mytable non esiste.
Ecco un esempio:
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
Penso che quello che sta succedendo è che Oracle cerca di risolvere mytable, non c'è mytable nello schema mbobak, quindi lo cerca in PUBLIC, lo trova e vede che punta a mbobak.mytable. Ma mbobak.mytable non esiste, quindi cerca mytable in PUBLIC e c'è il loop.
E infatti, se crei mytable, l'errore scompare:
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
Sì, mi rendo conto che non ha del tutto senso, poiché, una volta che il sinonimo pubblico ha risolto mbobak.mytable, e non è stato trovato, mi sembra, dovrebbe restituire un errore ORA-942 "tabella o vista non esiste ", che per me ha molto più senso.
Ma sembra che funzioni così.
QED
Spero di esserti stato d'aiuto.