设置10046跟踪处理数据库不能open一例

最近有个数据库不能open:
Errors in file /oracle/admin/zsjy/udump/zsjy_ora_18129.trc:
ORA-00980: synonym translation is no longer valid
Error 980 happened during db open, shutting down database
USER: terminating instance due to error 980
Instance terminated by USER, pid = 18129
ORA-1092 signalled during: alter database open...

[@more@]查看相关TRACE文件,没有发现任何具体信息,决定跟踪errorstack
在pfile中增加*.event="980 trace name errorstack level 12",用PFILE重新启动数据库,udump中没有发现新的TRACE文件产生,决定使用10046进行跟踪:PFILE中增加参数event="10046 trace name context forever,level 12",并重新使用PFILE启动数据库,数据库产生了跟踪文件,下面是与出错相关的信息:
=====================
PARSE ERROR #14:len=130 dep=1 uid=0 oct=3 lid=0 tim=78972245446 err=980
select 1 from dual where exists (select 1 from system.repcat$_repprop prop where prop.type in (-1,2,9,-4) and prop.how in (1,3))
ORA-00980: synonym translation is no longer valid
EXEC #1:c=590000,e=2623088,p=640,cr=7215,cu=610,mis=0,r=0,dep=0,og=4,tim=78972420030
ERROR #1:err=1092 tim=8086775
认定语句select 1 from dual where exists (select 1 from system.repcat$_repprop prop where prop.type in (-1,2,9,-4) and prop.how in (1,3))出错,出错的同义词很可能是DUAL,决定重建DUAL:
1、设置参数replication_dependency_tracking = FALSE
2、启动数据库
3、CREATE TABLE "SYS"."DUAL"
( "DUMMY" VARCHAR2(1)
) PCTFREE 10 PCTUSED 4;
Insert Into Dual Values ('X');
Commit;
Grant Select On Dual To Public;
4、删除上面设置的参数,然后重新启动数据库
经过上面的处理,数据库被成功启动

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/85922/viewspace-1030502/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/85922/viewspace-1030502/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值