select * from v$rollstat;
找出回滚段名。
SQL> alter system dump undo header “_SYSSMU48$”;
找state不为9的,2为未决的分布式的事务prepared。
10为活动事务
根据dba(0×00800554), 找block。
10bit+22bit
可以算出二进制为
0000000010 0000000000010101010100
十进制 2 1364 <–block_no
SQL> select dbms_utility.data_block_address_block(to_number(’00800554′,’xxxxxxxx’)) from dual;
返回block号
SQL> select dbms_utility.data_block_address_file(to_number(’00800554′,’xxxxxxxx’)) from dual;
返回文件号
alter system dump datafile <file_id> block <block_no>;
可以找到obj_id,然后处理对应的obj即可。
————
+)identify the TRANSACTION TABLE |
in the trace file |index state dba
and analyze it . |————————
| 0×00 9 0×08001595
| 0×01 9 0x080015ab
Transaction Table | 0×02 9 0x080015cc
state 0 = IDLE | 0×03 9 0x080015b4
1 = Collecting |
2 = Prepared | 0×04 9 0x080015ca
3 = Committed | 0×05 9 0x0800158c
4 = Forced Abort |
5 = Forced Commit | 0×06 9 0x080015bf
6 = Forced Mixed | 0×07 9 0×08001589
7 = try again later | 0×08 9 0x080015c6
9 = No TX (Committed) | 0×09 9 0x080015cc
10= Active local TX | 0x0a 9 0x0800158d
cflags 1 = TX has started storing | 0x0b 9 0x080015b2
collecting information | 0x0c 9 0x080015c4
| 0x0d 9 0x080015c5
2 = TX has forced the coll. | 0x0e 9 0x080015b6
information | 0x0f 9 0x080015c9
4 = Prepared TX needs | 0×10 9 0x080015cb
distributed recovery | 0×11 9 0x080015ca
10= Rollback failed on this TX | 0×12 9 0x080015ca
mark SMON for recover | 0×13 9 0x0800159b
20= TX has rolled back its up | 0×14 9 0x080015c9
wrap# is incremented TX slot reuse. | 0×15 9 0x080015cb
uel ? | 0×16 9 0x080015c5
scn SCN for the TX prepare / commit | 0×17 9 0x080015ca
dba is DBA of HEAD of the REDO - | 0×18 9 0x080015cb
Ie: The MOST RECENT CHANG | 0×19 9 0x080015a3
| 0x1a 9 0x080015c9
— 0x1b 10 0x080015cc
| | 0x1c 9 0x080015c9
| | 0x1d 9 0x080015b0
The ‘state’ is <———– | 0x1e 9 0x080015cc
’10′ -> Active Local Tran | 0x1f 9 000 0×00000
Related posts:

