Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

39

积分

0

好友

5

主题
1#
发表于 2013-4-10 14:17:42 | 查看: 6613| 回复: 6
本帖最后由 makaveli 于 2013-4-10 15:30 编辑

有一套两节点11.1.0.7 rac solaris asm的数据库alert日志报如下错误:
Transaction recovery: lock conflict caught and ignored

通过查看v$fast_start_transactions视图发现一只有个transaction在recovering,但是一直都没成功.查看等待事件发现smon处于dfs lock handle,已经修改fast_start_parallel_rollback为false,想请教下现在能如何确定这些recover的事务能够rollback成功?
  1. select * from v$fast_start_transactions;
  2. --
  3. USN        SLT        SEQ        STATE        UNDOBLOCKSDONE        UNDOBLOCKSTOTAL        PID        CPUTIME        PARENTUSN        PARENTSLT        PARENTSEQ        XID        PXID        RCVSERVERS
  4. 1        10        19        9816080        RECOVERING        0        138563                683616                                000A00130095C810                0
复制代码
  1. select ktuxeusn usn,
  2.        ktuxeslt slot,
  3.        ktuxesqn seq,
  4.        ktuxesta state,
  5.        ktuxesiz undo
  6.   from x$ktuxe a
  7. where ktuxesta <> 'INACTIVE'
  8.    and ktuxecfl like '%DEAD%'
  9. order by ktuxesiz asc;
  10. --
  11. USN        SLOT        SEQ        STATE        UNDO
  12. 10        19        9816080        ACTIVE        138563


  13. select useg.segment_name,
  14.         useg.segment_id,
  15.         useg.tablespace_name,
  16.         useg.status
  17.    from dba_rollback_segs useg
  18.   where useg.segment_id in
  19.         (select ktuxeusn usn
  20.            from x$ktuxe a
  21.           where ktuxesta <> 'INACTIVE'
  22.             and ktuxecfl like '%DEAD%')
  23. --
  24. SEGMENT_NAME        SEGMENT_ID        TABLESPACE_NAME        STATUS
  25. _SYSSMU10_1265347054$        10        UNDOTBS1        ONLINE

  26. --

  27. select rl.usn,rl.name from v$rollname rl where usn in (select ktuxeusn usn
  28.            from x$ktuxe a
  29.           where ktuxesta <> 'INACTIVE'
  30.             and ktuxecfl like '%DEAD%')
  31. --
  32. USN        NAME
  33. 10        _SYSSMU10_1265347054$

  34. --
  35. select p1,chr(bitand(1413545989,-16777216)/16777215) ||
  36.        chr(bitand(1413545989,16711680)/65535) "LOCK",
  37.        to_char(bitand(1413545989,65535)) "mode",
  38.        p2,
  39.        p3,
  40.        seconds_in_wait
  41.   from v$session_wait a
  42. where a.EVENT = 'DFS lock handle';

  43. LOCK        mode        P2        P3        SECONDS_IN_WAIT
  44. 1        TA        5        3        28        0

  45. --
  46. select b.name useg,b.inst# inst#,b.status$ status,a.ktuxeusn xid_usn,a.ktuxeslt xid_slot,a.ktuxesqn xid_seq,a.ktuxesiz undoblocks,a.ktuxesta txstatus
  47.            from x$ktuxe a,undo$ b
  48.           where ktuxesta <> 'INACTIVE'
  49.             and ktuxecfl like '%DEAD%'
  50.             and a.ktuxeusn=b.us#
  51.             
  52.                          USEG        INST#        STATUS        XID_USN        XID_SLOT        XID_SEQ        UNDOBLOCKS        TXSTATUS
  53. 1                _SYSSMU10_1265347054$ 1        3        10        19        9816080        138563        ACTIVE

复制代码
_SYSSMU10_1265347054$ undo header信息上传附件了。

db1_ora_15461.rar

2.66 KB, 下载次数: 1275

undo header

2#
发表于 2013-4-10 15:25:24
select * from v$session_longops where sofar<totalwork

+

smon  trace上传 看看

回复 只看该作者 道具 举报

3#
发表于 2013-4-10 15:36:06
Maclean Liu(刘相兵 发表于 2013-4-10 15:25
select * from v$session_longops where sofar

查询v$session_longops没有返回结果。smon trace已经上传,刚才做了一个10046。

tdb1_smon_17519.rar

484.1 KB, 下载次数: 1196

smon tracefile

回复 只看该作者 道具 举报

4#
发表于 2013-4-10 15:56:09
看trace里

WAIT #0: nam='DFS lock handle' ela= 684 type|mode=1413545989 id1=3 id2=20 obj#=0 tim=12785304193330
WAIT #0: nam='DFS lock handle' ela= 566 type|mode=1413545989 id1=3 id2=28 obj#=0 tim=12785304194130

DFS lock handle 已经结束了啊

你查一下是不是回滚完了

回复 只看该作者 道具 举报

5#
发表于 2013-4-10 16:17:00
Maclean Liu(刘相兵 发表于 2013-4-10 15:56
看trace里

WAIT #0: nam='DFS lock handle' ela= 684 type|mode=1413545989 id1=3 id2=20 obj#=0 tim=1278 ...

好像没有,查看v$fast_start_transactions视图,状态还是RECOVERING,UNDOBLOCKSDONE是0,UNDOBLOCKSTOTAL是138563还,而且alert里还一直报Transaction recovery: lock conflict caught and ignored这个错误。
  1. USN        SLT        SEQ        STATE        UNDOBLOCKSDONE        UNDOBLOCKSTOTAL        PID        CPUTIME        PARENTUSN        PARENTSLT        PARENTSEQ        XID        PXID        RCVSERVERS
  2. 1        10        19        9816080        RECOVERING        0        138563                683616                                000A00130095C810                0
复制代码

回复 只看该作者 道具 举报

6#
发表于 2014-3-29 20:39:32
最近我也遇到这个问题,到现在还没解决。
搜索相关资料说要重建那几个对象,不知道可行不。

回复 只看该作者 道具 举报

7#
发表于 2014-3-29 20:45:51
参考资料
http://dba010.wordpress.com/2013/04/30/transaction-recovery-lock-conflict-caught-and-ignored/

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-21 05:53 , Processed in 0.052089 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569