一个Oracle难题的解决 问题描述: 1、运行一个java程序不断报错: ... Details : java.sql.SQLException: ORA-00980: synonym translation is no longer valid 2、用system用户联入数据库,运行命令报错: SQL> desc dba_indexes; SP2-0749: Cannot resolve circular path of synonym "dba_indexes"3、使用dba身份登陆,conn / as sysdba , 可以查询dba_indexes了,因此实际问题原因找到,用户system失去了访问data dictionary的权限 问题解决: 在一个同事的帮助下,重建所有data dictionary解决了这个问题: conn / as sysdba @$ORACLE_HOME/rdbms/admin/catalog.sql@$ORACLE_HOME/rdbms/admin/catproc.sql这两个脚本就是重建data dictionary的脚本,之后再用system登陆以后,可以访问所有的data dictionary了!java程序也不再报错!