OBJECT_NAME? ? ? ? ? ? ? ? ? ? OWNER? ? ? ? ? ? ? ? ? ? ? ? ? OBJECT_TYPE
?------------------------------ ------------------------------ -------------------
?AQ$_KUPC$DATAPUMP_QUETAB_1_V? SYS? ? ? ? ? ? ? ? ? ? ? ? ? ? eva lUATION CONTEXT
?SQL>@?/rdbms/admin/utlrp.sql
如果不幸的是我们在出现问题的时候尝试重启数据库,就会发现数据库就起不来了。
SQL> drop table dual;
?Table dropped.
SQL> select sysdate from dual;
?select sysdate from dual
? ? ? ? ? ? ? ? ? ? *
?ERROR at line 1:
?ORA-01775: looping chain of synonyms
Total System Global Area? 313159680 bytes
?Fixed Size? ? ? ? ? ? ? ? ? 2227944 bytes
?Variable Size? ? ? ? ? ? 255852824 bytes
?Database Buffers? ? ? ? ? 50331648 bytes
?Redo Buffers? ? ? ? ? ? ? ? 4747264 bytes
?Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-01775: looping chain of synonyms
Process ID: 434
Session ID: 237 Serial number: 5
alert日志中的相关内容如下:
Undo initialization finished serial:0 start:236214754 end:236215144 diff:390 (3 seconds)
?Verifying file header compatibility for 11g tablespace encryption..
?Verifying 11g file header compatibility for tablespace encryption completed
?SMON: enabling tx recovery
?Database Characterset is AL32UTF8
?No Resource Manager plan active
?Errors in file /u03/ora11g/diag/rdbms/test01/TEST01/trace/TEST01_ora_434.trc:
?ORA-01775: looping chain of synonyms
?Errors in file /u03/ora11g/diag/rdbms/test01/TEST01/trace/TEST01_ora_434.trc:
?ORA-01775: looping chain of synonyms
?Error 1775 happened during db open, shutting down database
?USER (ospid: 434): terminating the instance due to error 1775
?Instance terminated by USER, pid = 434
?ORA-1092 signalled during: ALTER DATABASE OPEN...
?opiodr aborting process unknown ospid (434) as a result of ORA-1092
?Thu Nov 20 06:31:13 2014
?ORA-1092 : opitsk aborting process
?Thu Nov 20 06:32:02 2014
日志中提到的trace 文件的内容如下:
*** 2014-11-20 06:31:11.920
?*** SESSION ID:(237.5) 2014-11-20 06:31:11.920
?*** CLIENT ID:() 2014-11-20 06:31:11.920
?*** SERVICE NAME:(SYS$USERS) 2014-11-20 06:31:11.920
?*** MODULE NAME:(sqlplus@rac1 (TNS V1-V3)) 2014-11-20 06:31:11.920
?*** ACTION NAME:() 2014-11-20 06:31:11.920
?
?ORA-01775: looping chain of synonyms
?ORA-01775: looping chain of synonyms
*** 2014-11-20 06:31:11.947
?USER (ospid: 434): terminating the instance due to error 1775
如果确实知道问题的原因就轻车熟路的解决了,要不还需要费一番周折,开启一些更为详尽的trace来排查。
?这个错误和数据库参数replication_dependency_tracking有关,默认是TRUE,我们需要暂时绕过这个校验,先把库启动起来,然后重建表dual就可以了。在修复以后,重启数据库恢复replication_dependency_tracking的默认值TRUE
SQL> show parameter track
NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE
?------------------------------------ ---------------------------------
?VALUE
?------------------------------
?db_unrecoverable_scn_tracking? ? ? ? boolean
?TRUE
replication_dependency_tracking? ? ? boolean
TRUE
?SQL> alter system set replication_dependency_tracking=false;
?alter system set replication_dependency_tracking=false
? ? ? ? ? ? ? ? ? *
?ERROR at line 1:
?ORA-02095: specified initialization parameter cannot be modified
SQL>? alter system set replication_dependency_tracking=false scope=spfile;
?System altered.
SQL> shutdown immediate
?ORA-01507: database not mounted
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.
Databas