Question About RBA (Redo Block Address) [ID 759966.1]
  
修改时间08-JAN-2009     类型HOWTO     状态MODERATED  

In this Document
  Goal
  Solution


This document is being delivered to you via Oracle Support’sRapid Visibility(RaV) process, and therefore has not been subject to an independent technical review.

Applies to:

Oracle Server – Enterprise Edition – Version: 10.2.0.3
Information in this document applies to any platform.

Goal

1. What is RBA? Can you explain it in relation to a transaction and commit scn?How can I find out
which RBAs exist in a archive log/redo log? 3. For example:
Completed checkpoint up to RBA [0x19.2.10], SCN: 5586949

Solution

A “Redo Block Address” (RBA) describes a physical location within a redo log file. An RBA consists
of the following:

Log sequence number
Block number within log file
Byte offset within block

The structure of the redo block address is given below :
1 – The number of the redo log.
[4 bytes]

2 – The block offset from the beginning of the redo log file.
[4 bytes]

3 – The byte offset within the block.
[2 bytes]

So in this case, RBA [0x19.2.10] maps to Log squence 25, Block number 2 with byte offset 16.

As for the relation between RBA and SCN, you can see that RBA is actually a physical location inside the redo log file while SCN is the system change number that is in fact a unit of time (a timestamp) maintained by the database kernel which is used to order events.

====================================================================

RBA:重做记录的物理地址。由4部分组成,分别是日志线程号、日志序列号、日志文件块编号好日志文件块字节偏移量,长度为10字节。修改操作的SCN、SUBSCN和该操作的RBA都会被写入在重做记录中。
RBA经常以“Thread:n RBA: 0xffffff.ffffffff.ffff”的形式出现在转储文件中,比如“Thread:1 RBA: 0x000015.00000005.0010”,其含义就是在1号线程21号序列号重做日志文件的第5个块中的第16字节处。