标签归档:rowid bbed

根据一个给定的rowid手工推算他的file#,block#,obj#,row#

从Oracle 8i开始使用扩展rowid标识行物理地址,扩展rowid使用base64编码行的物理地址,编码字符包含A-Z, a-z, 0-9, +, 和/。 扩展rowid由四部分组成:OOOOOOOFFFBBBBBBRRR。其中: OOOOOO:数据对象编号(6位显示) FFF:相关数据文件编号(3位显示) BBBBBB:数据块编号(6位显示) RRR:数据块中行编号(3位显示) 8i以后,rowid采用base64编码(基于64位的编码)的扩展rowid. . 关于64bit编码表,可以搜索Google或者Baidu,关键字“Base64编码表”。 将64位编码转换为十进制: file#: AAB —–> 0 0 1 —–>0*64^2+0*64^1+1*64^0 =1 block#: AAAAMh —–> 0 0 0 0 12 33 —–>0*64^5+0*64^4+0*64^3+0*64^2+12*64^1+33*64^0 =801 obj#: AAAABi —–> 0 0 0 … 继续阅读

发表在 FAQ | 标签为 | 留下评论