Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1428314
  • 博文数量: 556
  • 博客积分: 12626
  • 博客等级: 上将
  • 技术积分: 5799
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-11 15:56
个人简介

从事IT基础架构多年,发现自己原来更合适去当老师……喜欢关注新鲜事物,不仅限于IT领域。

文章分类

全部博文(556)

文章存档

2019年(6)

2018年(15)

2017年(17)

2016年(11)

2015年(2)

2014年(2)

2013年(36)

2012年(54)

2011年(100)

2010年(41)

2009年(72)

2008年(14)

2007年(82)

2006年(104)

分类: Oracle

2008-01-04 17:01:37

最近数据库突然出现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, ' _', ' ')
阅读(12728) | 评论(2) | 转发(0) |
0

上一篇:一年就要结束了

下一篇:Red Hat Cluster Suite

给主人留下些什么吧!~~

nocode2008-01-29 15:14:14

在这种情况下回滚段里是看不出异常的,即使有异常因为大多为bug所致也无可奈何。隐藏参数在平时是不会去用的,但当你出现上述问题,如果不重启数据库,估计就只剩下使用它了,因为你的生产应用已经被影响了。 而且这种情况下,修正错误改回原来的参数值是必须的,我文章的中间已经说明了。

itleo2008-01-23 22:15:30

可以看一下回滚段的状态,可能有出问题的,不要轻易设隐参吧,偶尔用一下处理好了赶紧调回来