Posted by & filed under troubleshooting.

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:

  1. Move all database objects from one tablespace to another
  2. 数据库坏块处理-无对象的坏块
  3. Cross-Platform Migration Using Transportable Database/Tablespace in 10g or later