Let’s now look at the contents of dumping one block.
现在我们可以看看一个dunmping出来后的block的内容了。
Start dump data blocks tsn: 3 file#: 3 minblk 10 maxblk 10
buffer tsn: 3 rdba: 0x00c0000a (3/10)
scn: 0x0000.00046911 seq: 0x02 flg: 0x04 tail: 0x69110602
frmt: 0x02 chkval: 0x579d type: 0x06=trans data
Block header dump: 0x00c0000a
Object id on Block? Y
seg/obj: 0x6d9c csc: 0x00.46911 itc: 2 flg: O typ: 1 - DATA
fsl: 0 fnx: 0x0 ver: 0x01
Itl Xid Uba Flag Lck Scn/Fsc
0x01 xid: 0x0005.02f.0000010c uba: 0x00806f10.00ca.28 C--- 0 scn 0x0000.00046900
0x02 xid: 0x0003.01c.00000101 uba: 0x00800033.0099.04 C--- 0 scn 0x0000.00046906
This is the beginning of the data block dump. The first line tells us that we are
这是一个数据块(data block)dump文件的开端。 第一行告诉我们,我们dumping的文
dumping file#3, starting at block# 10 (minblk), and finishing with block# 10
在#3号文件,开始于数据块(block)号是#10号(minblk), 终止于数据块(block)
(maxblk). Had we dumped more than one data block, these values would
号是#10号(maxblk).我们dump的不只是一块数据块。 这些值代表的是一个范围
represent a range. The relative data block address (rdba) is 0x00c0000a. For
相对的数据块地址(rdba)是 0x00c0000a 更多关
more information on the rdba, refer to a later section in this paper. At the end of
rdba的信息,可以参考本篇的后续内容。 在这行的最后
this line, we can see in parentheses that the rdba corresponds to file# 3, block#
我可以看到括号里面的(3/10),它相当于相对数据块地址(rdba)等于#3号文
10 (3/10).
#10号数据块(block)
The third line describes the SCN of the data block. In our case, the SCN is
第三行描述的是数据块的SCN. 在我们的case中,SCN是
0x0000.00046911. The tail of the data block is composed of the last two bytes of
0x0000.00046911。数据块的尾部是由SCN(6911)加上类型(06)和序列02这最后
the SCN (6911) appended with the type (06) and the sequence (02). If the
两个字节构成的。 所以,如
decomposition of the tail does not match these three values, then the system
果分解尾部没有匹配这三个值。 系统就会知道数据块
knows that the block is inconsistent and needs to be recovered. While this tail
是不一致的,所以需要恢复。 当尾部值出现在
value shows up at the beginning of the block dump, it is physically stored at the
block dump的开端,那它就物理存储在数据块的结尾处。
end of the data block.
The block type shows up on the fourth line. Some of the valid types correspond
数据块类型(Block type)出现在第四行。 有效类型数值跟下列表单一一对应
to the following table:
Type Meaning
0x02 undo block(撤销数据块)
0x06 table or index data block(表和索引数据块)
0x0e undo segment header(撤销段头)
0x10 data segment header block(数据段头数据块)
0x17 bitmapped data segment header(数据位图段头)
The “Object id on Block?” line tells us whether or not this object is in SYS.OBJ$.
“Object id on Block?”这行告诉我们这个对象是否在SYS.OBJ$中或者不再。
Since Oracle 6, this should always be “Y”. If you look at the next line, the
从oracle 6开始,这个选项就是“Y”了。 如果你看到了下一行, “seg/obj”
seg/obj value tells us the segment’s object id (in hex). In our example, this is
值会告诉我们segment的对象id(十六进制的). 在我们的例子里, 这个是
0x6d9c. Hex ‘6D9C’ is ‘28060’ in decimal. We can verify that this is our table with
0x6d9c。十六进制的‘6D9C’是在十进制中是‘28060’。我们可以验证通过下面的查询语句
the following query:
验证28060对应的表名就是emp。
ORA9I SQL> select owner,object_name from dba_objects
2 where object_id=28060;
OWNER OBJECT_NAME
---------- ------------------------------
PEASLAND EMP
As we had hoped, this is our table.
正如我们所期望,这个就是我们要的那个表。
The csc value is the Cleanout System Change number. This value tells us when
csc值代表的是Cleanout System Change number。 这个值告诉我们这个数据块
block cleanout was performed on this block. Hopefully, it matches the SCN of
的数据块清洗功能被执行中。 希望,它匹配的是数据块的SCN号
the data block. The itc value is the Interested Transaction List Count. In our
itc值代表的是the Interested Transaction List Count。 在我们的
case, there are two transactions interested in this block. Those interested
case中,有两个事务对block感兴趣。 这些事务出现在我们例子
transactions appear at the end of our example. We can see the transaction id
的最后。 我们能看到这两个事务的id(xid)
(Xid) of those two transactions. Those transaction ids correspond to rollback
这些事务id与我们的rollback段(用于执行事务的
segments that are used to process our transactions.
Rollback段是一一对应的)。
The flag (flg) is either “-” or “O”, used to indicate if this block is on a freelist. If
标记(flg)有”-”和”O”两个选项,用来指明数据块是否是在freelist上面。 如
the block is on a freelist, the flag will be “0”. If it is not on a freelist, then the flag
过数据块在freelis上面,flg就为”O”。不在freelist上面,就为”-”
will be “-”. Our block in question is on the freelist.
我们现在讨论的数据块是在freelist上。
Well, that was quite a lot of information and we haven’t really looked at too
好了,这里有很多的信息但dump中的很多信息我们还没有正式的看到。
much of the dump. Let’s look at the next section of the data block dump.
让我们看看数据块dump信息的下一段。
****************
太神奇了,一贴我翻译在word的内容就报错,算了,直接粘在论坛上也一样。日志不更新了,去论坛持续更新
****************
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26446098/viewspace-712521/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26446098/viewspace-712521/