select rowid from dual

AAAAB0AABAAAAOhAAA

rowid结构如下:

对象号    文件号   块号   行号
XXXXXX    XXX     XXXXXX XXX

因此,
AAAAB0 对象号
AAB    文件号
AAAAOh 块号
AAA    行号

如何得知这些编号对应的十进制编码值呢(rowid是基于64位编码的18个字符显示的,对象号(6)+文件号(3)+块号(6)+行号(3)),其中
A-Z    0-25
a-z    26-51
0-9    52-61
+/     62-63
共64位,明白这个后我们就可以计算出十进制的编码值了,计算公式如下:
d*(b^p)
d      表示字符对应的十进制编码值
b      64
p      从右至左,每个对象从0开始计数

比如计算rowid=AAAAB0AABAAAAOhAAA的块号:
AAAAOh
33*(64^0)=33
14*(64^1)=896
0*(64^2)=0
0*(64^3)=0
0*(64^4)=0
0*(64^5)=0

块号就是33+896=929

可以通过dbms_rowid包来获得相关信息:
select  dbms_rowid.rowid_object(rowid) objectid--对象号
       ,dbms_rowid.rowid_relative_fno(rowid) fileid--文件号
       ,dbms_rowid.rowid_block_number(rowid) blockid--块号
       ,dbms_rowid.rowid_row_number(rowid) rownums--行号
from dual

rowid结构浅析的更多相关文章

  1. Oracle的rowid结构解析

    SQL> select rowid,deptno from dept; ROWID                  DEPTNO ------------------ ---------- A ...

  2. maven项目eclipse目录结构浅析

    maven项目eclipse目录结构浅析 PS:Java Resources是为了方便我们编译,到最后都会编译到   WEB-INF/classes Maven项目的目录结构

  3. 学习 opencv---(1) opencv3.1.0 组件结构浅析

    本系列是根据 浅墨大神 的opencv系列而写的,,应该大部分内容会一样..如有侵权还请告知........... 开发环境:win7 + VS2013 + opencv3.1.0 至于OpenCV组 ...

  4. [linux-内核][转]内核日志及printk结构浅析

    这段时间复习了一下内核调试系统,注意看了一下printk的实现以及内核日志的相关知识,这里做一下总结. 1.问题的引出: 做DPDK项目时,调试rte_kni.ko时,发现printk并不会向我们想想 ...

  5. android的四层体系结构,基于mvc三层结构浅析

    从多方面理解Android体系结构 1.以分层的方式来看Android 安卓体系结构分为四层. 首先看一下官方关于Android体系结构的图: 1).Linux Kernel:负责硬件的驱动程序.网络 ...

  6. Android Studio目录结构浅析

    让我们来简单了解下Android Studio中不同目录(文件)的位置和用途.首先看下一个App的最简单的目录结构 OK,我们这么看,第一,把这么多文件先分成这么三块1. 编译系统(Gradle)2. ...

  7. CSipSimple结构浅析

    最近做一个VOIP的项目,调研了CSipSimple.都说CSipSimple结构清晰,但是代码下下来看了一下,还是一头雾水,不知从何看起.于是想到从最简单的打电话开始,借助网上一篇博文"C ...

  8. javaWeb应用部署结构浅析

    要成功部署一个Web应用,则必须遵循以下标准(参考)目录结构. 2.目录说明 1)WEB-INF目录:必须直接放在Web应用上下文之下(即一级目录). 2)class目录:必须直接放在WEB-INF目 ...

  9. 内核日志及printk结构浅析

      作者:tekkamanninja 鸣谢:感谢ChinaUnix技术社区的tekkamanninja提供稿件 ,如需转载,请注明出处. 这段时间复习了一下内核调试系统,注意看了一下printk的实现 ...

随机推荐

  1. 2013 南京邀请赛 A play the dice 求概率

    /** 大意:给定一个色子,有n个面,每一个面上有一个数字,在其中的m个面上有特殊的颜色,当掷出的色子出现这m个颜色之一时,可以再掷一次..求其最后的期望 思路:假设 期望为ans 4 ans = 1 ...

  2. poj 1080

    http://poj.org/problem?id=1080 知识点 :最长公共子序列 要点: 转移方程  f[i][j]  = max{ f[i-i][j]+score[s1[i-1]]['-'], ...

  3. C陷阱与缺陷(二)

    第二章 语法陷阱 2.1 理解函数声明 (*(void(*)())0)();任何C变量的声明都由两部分组成:类型以及一组类似表达式的声明符.一旦我们知道了如何声明一个给定类型的变量,那么该类型的类型转 ...

  4. 深入探究VC —— 编译器cl.exe(1)

    cl.exe的功能是将源代码文件编译为可提供链接器使用的obj对象文件.cl.exe命令行参数形式如下: CL (option...) file... [option | file]... [lib. ...

  5. Android 进程和线程

    进程和线程 如果某个应用程序组件是第一次被启动,且这时应用程序也没有其他组件在运行,则Android系统会为应用程序创建一个包含单个线程的linux进程.默认情况下,同一个应用程序的所有组件都运行在同 ...

  6. CSS实现背景图尺寸不随浏览器大小而变化的两种方法

    一些网站的首页背景图尺寸不随浏览器缩放而变化,本例使用CSS 实现背景图尺寸不随浏览器缩放而变化,方法一. 把图片作为background,方法二使用img标签.喜欢的朋友可以看看   一些网站的首页 ...

  7. Kali Linux 安全渗透教程<第三更>1.2 安全渗透所需工具

    了解了渗透測试的概念后.接下来就要学习进行渗透測试所使用的各种工具.在做渗透測试之前.须要先了解渗透所需的工具.渗透測试所需的工具如表1-1所看到的: 表1-1  渗透所需工具 splint unhi ...

  8. 【IE】浏览器模式与文档模式 及其开发中处理方式

    原文:http://blog.csdn.net/neo_liu0000/article/details/7589731 什么是浏览器模式和文本模式? 经常使用IE开发者工具的同学,肯定见过浏览器模式和 ...

  9. iOS NSRuntime机制

    什么是Objective-C runtime? 简单来说,Objective-C runtime是一个实现Objective-C语言的C库.对象可以用C语言中的结构体表示,而方法(methods)可以 ...

  10. 修改linux多系统启动顺序

    Ubuntu和XP双系统grub2默认启动项设置为XP 装了双系统后,在开机时总会有想让一个系统默认启动的时候,一般安装完Ubuntu和XP双系统后,开机时默认的是启动Ubuntu系统,但是当想让XP ...