Oracle的rowid结构解析
SQL> select rowid,deptno from dept;
ROWID DEPTNO
------------------ ----------
AAAMfNAAEAAAAAQAAA 10
AAAMfNAAEAAAAAQAAB 20
AAAMfNAAEAAAAAQAAC 30
AAAMfNAAEAAAAAQAAD 40
| 对象号 | 文件号 | 块号 | 行号 |
| AAAMfN | AAE | AAAAAQ | 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=AAAMfNAAEAAAAAQAAA的块号:
AAAMfN—对象号 —— 51149
N – 13*(64^0)=13
f – 31*(64^1)=1984
M – 12*(64^2)=49152
A – 0*(64^3)=0
A – 0*(64^4)=0
A – 0*(64^5)=0
AAE—文件号 —— 4
E – 4*(64^0)=4
A – 0*(64^1)=0
A – 0*(64^2)=0
AAAAAQ—块号 —— 16
Q –16*(64^0)=16
A – 0*(64^1)=0
A – 0*(64^2)=0
A – 0*(64^3)=0
A – 0*(64^4)=0
A – 0*(64^5)=0
AAA—行号 —— 0
A – 0*(64^0)=0
A – 0*(64^1)=0
A – 0*(64^2)=0
SQL> select dbms_rowid.rowid_object(rowid) objectid--对象号
2 ,dbms_rowid.rowid_relative_fno(rowid) fileid--文件号
3 ,dbms_rowid.rowid_block_number(rowid) blockid--块号
4 ,dbms_rowid.rowid_row_number(rowid) rownums--行号
5 ,deptno
6 from dept;
OBJECTID FILEID BLOCKID ROWNUMS DEPTNO
---------- ---------- ---------- ---------- ----------
51149 4 16 0 10
51149 4 16 1 20
51149 4 16 2 30
51149 4 16 3 40
Oracle的rowid结构解析的更多相关文章
- ORACLE数据库存储结构简介(转)
首先,oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构,对于这两种存储结构,oracle是分别进行管理的. 逻辑存储结构:oracle内部的组织和管理数据的方式. 物理存储结构:o ...
- 【转载】oracle之rowid详解
原文URL:http://www.2cto.com/database/201109/104961.html 本文讨论的是关于oracle从8i开始引进object的概念后的rowid,即扩展(exte ...
- Oracle sql执行计划解析
Oracle sql执行计划解析 https://blog.csdn.net/xybelieve1990/article/details/50562963 Oracle优化器 Oracle的优化器共有 ...
- Oracle 逻辑存储结构
一.总述 逻辑存储结构是 Oracle 数据库存储结构的核心内容,对 Oracle 数据库的所有操作都会涉及逻辑存储结构.逻辑存储结构是从逻辑的角度分析数据库的组成,是对数据存储结构在逻辑概念上的划分 ...
- Oracle SQL的硬解析和软解析
我们都知道在Oracle中每条SQL语句在执行之前都需要经过解析,这里面又分为软解析和硬解析.在Oracle中存在两种类型的SQL语句,一类为 DDL语句(数据定义语言),他们是从来不会共享使用的,也 ...
- iOS沙盒目录结构解析
iOS沙盒目录结构解析 原文地址:http://blog.csdn.net/wzzvictory/article/details/18269713 出于安全考虑,iOS系统的沙盒机制规定每个应 ...
- H.264码流结构解析
from:http://wenku.baidu.com/link?url=hYQHJcAWUIS-8C7nSBbf-8lGagYGXKb5msVwQKWyXFAcPLU5gR4BKOVLrFOw4bX ...
- rowid结构浅析
select rowid from dual AAAAB0AABAAAAOhAAA rowid结构如下: 对象号 文件号 块号 行号 XXXXXX XXX XXXXXX X ...
- oracle 树形表结构查询 排序
oracle 树形表结构排序 select * from Table start with parentid is null connect by prior id=parentid order SI ...
随机推荐
- Linux MySQL-Workbench安装
yum install pcre-devel libglade2-devel gtkmm24-devel libgnome-devel lua-devel libzip-devel mysql-dev ...
- 输入参数varargin
一种特别的输入参数varargin 可以在自定义函数中得到,这种函数支持输入参数的变量的个数.这个参数显在输入参数列表的最后一项,它返回一个单元阵列,所以一个输入实参可以包括任意数目的实参.每一个实参 ...
- B/S一些小知识及常用控件
一: B/S网页的运行 页面在设计的时候,本身就是一个类.在运行的时间,是一个对象. 其中aspx和aspx.cs是在同一个类下. aspx是主要是负责界面,而aspx.cs主要是负责数据逻辑. 呈现 ...
- 模拟HTTP请求的一个工具
在看洪大师的Symfony2的视频教程时,提到一个模拟HTTP请求的工具,HTTPie工具,比Curl好用哦
- 未能加载文件或程序集“App_global.asax”或它的某一个依赖项
未能加载文件或程序集"App_global.asax"或它的某一个依赖项.生成此程序集的运行时比当前加载的运行时新,无法加载此程序集. 出现这一问题的原因是空间支持framewor ...
- THP Transparent HugePages关闭
ambari 安装Hortonworks HDP 时在检测host异常 The following hosts have Transparent Huge Pages (THP) enabled.TH ...
- LaTeX中用BibTex管理参考文献
BibTeX 是一种用来规范参考文献列表的一种文献管理软件,定义了一种比较通用的管理文献的格式, 用于协调LaTeX的参考文献处理. BibTeX 使用数据库的的方式来管理参考文献. BibTeX 文 ...
- ios Swift 资源池
Swift入门教程: http://www.cocoachina.com/applenews/devnews/2014/0604/8661.html Swift视频教程: http://www.coc ...
- ###STL学习--迭代器
点击查看Evernote原文. #@author: gr #@date: 2014-08-23 #@email: forgerui@gmail.com STL中的迭代器. ###stl学习 |--迭代 ...
- IOS 应用程序启动加载过程(从点击图标到界面显示)
今天帮同事解决问题的时候发现,程序BUG是由加载过程引起的.所以当局部代码没有问题,但是程序一运行却总不是我们想要结果的时候,我们应该想想是不是因为我们忽略了试图加载过程的原因.下面我们用一个例子来简 ...