SCN,RBA,ROWID

SCN=系统便更号
共两部分占6个字节:2字节Wrap进位制+4字节Base底值

SCN:0xffff.ffffffff 的形式出现。如:0x0000.000fd213

通常是 SCN:SEQ = 数据块版本号 其范围是1-254
如:SCN:0x0000.000fd213 SEQ:1

含义是:表示一个时间的递增。因为不能用OS的系统时间和硬件时间。


RBA=重做字节地址 
由四个部分组成占10个字节组成:日志线程号+日志序列号+日志文件块编号+日志文件块字节偏移量

通常是 RBA=Thread:n RBA:0xffffff.ffffffff.ffff的形式出现
如: Thread:2 RBA:0x000014.00000003.0010 这个是16进制的。

含义是:线程2在序列号为20号的重做日志文件的第3个数据块的第16个字节处。



ROWID = 数据记录的物理地址
按BASE64的形式表示
如ROWID=AAAR5pAAFAAAADPAAA
的 前6位=AAAR5p(73321)表示的是段编号
后3位=AAF(5)表示的是数据文件编号
后6位=AAAADP(207)表示的是该文件的数据块编号
后3位=AAA(0)表示的是行号

其含义是:这条记录保存在了5号数据文件的第207号数据块的第1行里面。

BASE64是这么排的:


内容:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
编号:01234.........................................................63

这么算的 AAAADP = DP = 3*64+15 = 192+15 = 207 这个是64进制的。

可以通过下面的内容来得到.


create table t(id number(12));commit;

create or replace procedure t_insert
as
begin

for i in 1..200 loop
insert into t(id) values(1);
end loop;

end t_insert;

call t_insert();

select rowid,id from t;

ROWID ID
------------------ -----
AAAn+PAAGAAN+lsAAA 1
AAAn+PAAGAAN+lsAAB 1
AAAn+PAAGAAN+lsAAC 1
AAAn+PAAGAAN+lsAAD 1
AAAn+PAAGAAN+lsAAE 1
AAAn+PAAGAAN+lsAAF 1
AAAn+PAAGAAN+lsAAG 1
AAAn+PAAGAAN+lsAAH 1
AAAn+PAAGAAN+lsAAI 1
AAAn+PAAGAAN+lsAAJ 1
AAAn+PAAGAAN+lsAAK 1
AAAn+PAAGAAN+lsAAL 1
AAAn+PAAGAAN+lsAAM 1
AAAn+PAAGAAN+lsAAN 1
AAAn+PAAGAAN+lsAAO 1
AAAn+PAAGAAN+lsAAP 1
AAAn+PAAGAAN+lsAAQ 1
AAAn+PAAGAAN+lsAAR 1
AAAn+PAAGAAN+lsAAS 1
AAAn+PAAGAAN+lsAAT 1
AAAn+PAAGAAN+lsAAU 1
AAAn+PAAGAAN+lsAAV 1
AAAn+PAAGAAN+lsAAW 1
AAAn+PAAGAAN+lsAAX 1
AAAn+PAAGAAN+lsAAY 1
AAAn+PAAGAAN+lsAAZ 1
AAAn+PAAGAAN+lsAAa 1
AAAn+PAAGAAN+lsAAb 1
AAAn+PAAGAAN+lsAAc 1
AAAn+PAAGAAN+lsAAd 1
AAAn+PAAGAAN+lsAAe 1
AAAn+PAAGAAN+lsAAf 1
AAAn+PAAGAAN+lsAAg 1
AAAn+PAAGAAN+lsAAh 1
AAAn+PAAGAAN+lsAAi 1
AAAn+PAAGAAN+lsAAj 1
AAAn+PAAGAAN+lsAAk 1
AAAn+PAAGAAN+lsAAl 1
AAAn+PAAGAAN+lsAAm 1
AAAn+PAAGAAN+lsAAn 1
AAAn+PAAGAAN+lsAAo 1
AAAn+PAAGAAN+lsAAp 1
AAAn+PAAGAAN+lsAAq 1
AAAn+PAAGAAN+lsAAr 1
AAAn+PAAGAAN+lsAAs 1
AAAn+PAAGAAN+lsAAt 1
AAAn+PAAGAAN+lsAAu 1
AAAn+PAAGAAN+lsAAv 1
AAAn+PAAGAAN+lsAAw 1
AAAn+PAAGAAN+lsAAx 1
AAAn+PAAGAAN+lsAAy 1
AAAn+PAAGAAN+lsAAz 1
AAAn+PAAGAAN+lsAA0 1
AAAn+PAAGAAN+lsAA1 1
AAAn+PAAGAAN+lsAA2 1
AAAn+PAAGAAN+lsAA3 1
AAAn+PAAGAAN+lsAA4 1
AAAn+PAAGAAN+lsAA5 1
AAAn+PAAGAAN+lsAA6 1
AAAn+PAAGAAN+lsAA7 1
AAAn+PAAGAAN+lsAA8 1
AAAn+PAAGAAN+lsAA9 1
AAAn+PAAGAAN+lsAA+ 1
AAAn+PAAGAAN+lsAA/ 1
AAAn+PAAGAAN+lsABA 1
AAAn+PAAGAAN+lsABB 1
AAAn+PAAGAAN+lsABC 1
AAAn+PAAGAAN+lsABD 1
AAAn+PAAGAAN+lsABE 1
AAAn+PAAGAAN+lsABF 1
AAAn+PAAGAAN+lsABG 1
AAAn+PAAGAAN+lsABH 1
AAAn+PAAGAAN+lsABI 1
AAAn+PAAGAAN+lsABJ 1
AAAn+PAAGAAN+lsABK 1
AAAn+PAAGAAN+lsABL 1
AAAn+PAAGAAN+lsABM 1
AAAn+PAAGAAN+lsABN 1
AAAn+PAAGAAN+lsABO 1
AAAn+PAAGAAN+lsABP 1
AAAn+PAAGAAN+lsABQ 1
.....


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值