?SQL>
SQL> select sysdate from dual;? --启动起来之后尝试,会发现问题没有修复,我们需要重建表dual
?select sysdate from dual
? ? ? ? ? ? ? ? ? ? *
?ERROR at line 1:
?ORA-01775: looping chain of synonyms
SQL>? CREATE TABLE "SYS"."DUAL"
? 2? ? ? ? ? ? (? ? ? "DUMMY" VARCHAR2(1)
? 3? ? ? ? ? ? ) TABLESPACE "SYSTEM" ;
?Table created.
SQL> GRANT SELECT ON "SYS"."DUAL" TO PUBLIC WITH GRANT OPTION;
?Grant succeeded.
SQL> insert into dual values('X');
?1 row created.
SQL> commit;
?Commit complete.
SQL> select sysdate from dual;? --修复以后问题似乎就解决了。
SYSDATE
?------------------
?20-NOV-14
SQL> show parameter track
?NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE
?------------------------------------ ----------- ------------------------------
?db_unrecoverable_scn_tracking? ? ? ? boolean? ? TRUE
replication_dependency_tracking? ? ? boolean? ? FALSE
SQL> alter system set replication_dependency_tracking=TRUE scope=spfile;
?System altered.
SQL> shutdown immediate
?Database closed.
?Database dismounted.
?ORACLE instance shut down.
?SQL> startup
?ORACLE instance started.
Total System Global Area? 313159680 bytes
?Fixed Size? ? ? ? ? ? ? ? ? 2227944 bytes
?Variable Size? ? ? ? ? ? 255852824 bytes
?Database Buffers? ? ? ? ? 50331648 bytes
?Redo Buffers? ? ? ? ? ? ? ? 4747264 bytes
?Database mounted.
?Database opened.
?SQL> select sysdate from dual;
?SYSDATE
?------------------
?20-NOV-14
然后可以重新编译失效对象,这个问题的解决就告一段落了。