oracle中块的状态分为,oracle 数据块的格式(一)

我们可以查看表记录是存放在哪个数据块里,通过以下语句:select dbms_rowid.rowid_block_number(rowid) from tablename,接下来,我们查询当前连接的spid信息.select p.spid,s.username from v$process p inner join v$session s on p.addr=s.paddr

这样我们就可以在udump目录下找到当前连接的trace文件信息了。接下来,对数据块进行dump.alter system dump datafile block .在trace中生成的信息如下。

第一部分如下:

buffer tsn: 0 rdba: 0x0040d9b2 (1/55730)

scn: 0x0000.0005951e seq: 0x02 flg: 0x06 tail: 0x951e0602

frmt: 0x02 chkval: 0xd3e0 type: 0x06=trans data

Block header dump:  0x0040d9b2

rdba代表块号,scn代表块的SCN号,seq,代表在块的状态,一般FF代表块是坏的,一般在offset 0X14的位置,BBED工具就是通功强行修改这

个位置的数据来达到改变块的状态。flg,代表块的标志位。tail用来检查一致性的值,frmg代表块的格式,在oracle 8i以上,一般为02

chkval,数据块的校验位,在db_block_checksum设为true有效。type,代表块的类型。

第二部分:

seg/obj: 0xc0c9  csc: 0x00.58d5a  itc: 2  flg: O  typ: 1 - DATA

fsl: 0  fnx: 0x0 ver: 0x01

Itl           Xid                  Uba         Flag  Lck        Scn/Fsc

0x01   0x0004.000.00000040  0x008000cc.004e.13  --U-    2  fsc 0x0000.00058d9d

0x02   0x0005.020.00000035  0x008009eb.002f.04  --U-    5  fsc 0x0000.0005951e

seg/boj代表块的对像号。csc代表最后一次block cleanout SCN号,itc代表块的transaction slot最大数

typ代表数据块的类型。itl代表当前对块进行操作的事务编号,xid代表该事务的事务号,UBA代表该事务

对应的undo block address.flg代表事务状态。u代表未提交,c代表提交,T代表活动的。LCK代表事务影响的

行数。FSC代表在事务提交时生成的SCN号。FCL和FNX在auto segment space management总为0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值