ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-02068和ORA-03113的错误

ORA-02068和ORA-03113的错误

原创 Linux操作系统 作者:fengjin821 时间:2009-06-19 13:28:39 0 删除 编辑

最近数据库突然出现RECO进程不停的报ORA-02068和ORA-03113的错误:
Errors in file /oracle/admin/UBISP/bdump/ubisp_reco_23401.trc:
ORA-02068: following severe error from DBNAME
ORA-03113: end-of-file on communication channel



检查trace文件发行tran号总是那几个,执行语句:


select * from dba_2pc_pending;


可以看到记录的所有LOCAL_TRAN_ID与trace中的一样,这太奇怪了,从现象上看只能问题RECO进程无法清除这些失败后的事物,这个问题在RAC环境有可能出现,但单节点上为什么出现这个问题还不清楚。

解决方法如下:


1. select * from dba_2pc_pending;
2. alter system disable distributed recovery ;
3. alter system set "_smu_debug_mode" = 4 ;
4. execute DBMS_TRANSACTION.PURGE_LOST_DB_ENTRY('');
5. select * from dba_2pc_pending;
6. alter system enable distributed recovery;
如果有多个事物,需要在第四步后面执行commit;


_smu_debug_mode缺省是0,可以在完成之后改回来,查看该隐藏参数的命令是:


set linesize 132
column name format a30
column value format a25
select
  x.ksppinm  name,
  y.ksppstvl  value,
  y.ksppstdf  isdefault,
  decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE')  ismod,
  decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE')  isadj
from
  sys.x$ksppi x,
  sys.x$ksppcv y
where
  x.inst_id = userenv('Instance') and
  y.inst_id = userenv('Instance') and
  x.indx = y.indx and
  x.ksppinm like '%_smu_debug_mode%'
order by
  translate(x.ksppinm, ' _', ' ')

 

 

 


 

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

下一篇: oracle exp/imp问题
请登录后发表评论 登录
全部评论

注册时间:2009-04-29

  • 博文量
    191
  • 访问量
    511664