Creo que Justin está en el camino correcto. Lo que creo que realmente significa es que mydbowner.mytable no existe.
He aquí un ejemplo:
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
Creo que lo que está sucediendo es que Oracle intenta resolver mitabla, no hay mitabla en el esquema mbobak, para que se vea por ello en público, lo encuentra, y ve que apunta a mbobak.mytable. Pero, mbobak.mytable no existe, por lo tanto, busca mytable en PUBLIC, y está el bucle.
Y de hecho, si se crea mitabla, el error desaparece:
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í, me doy cuenta de que en realidad no del todo tiene sentido, ya que, una vez que el sinónimo público resolvió mbobak.mytable, y eso no se encuentra, me parece, debería devolver un error ORA-942 "tabla o vista no existe", lo cual tiene mucho más sentido para mí.
Pero, parece ser así como funciona.
QED
Espero que ayude.
Las dos respuestas son correctas. Hice algún tipo de error tipográfico y el sinónimo no se refirió a nada. – Joe