SQL> select rowid,deptno from dept;

ROWID                  DEPTNO
------------------ ----------
AAAMfNAAEAAAAAQAAA         10
AAAMfNAAEAAAAAQAAB         20
AAAMfNAAEAAAAAQAAC         30
AAAMfNAAEAAAAAQAAD         40

ROWID结构解析
对象号 文件号 块号 行号
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结构解析的更多相关文章

  1. ORACLE数据库存储结构简介(转)

    首先,oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构,对于这两种存储结构,oracle是分别进行管理的.   逻辑存储结构:oracle内部的组织和管理数据的方式.  物理存储结构:o ...

  2. 【转载】oracle之rowid详解

    原文URL:http://www.2cto.com/database/201109/104961.html 本文讨论的是关于oracle从8i开始引进object的概念后的rowid,即扩展(exte ...

  3. Oracle sql执行计划解析

    Oracle sql执行计划解析 https://blog.csdn.net/xybelieve1990/article/details/50562963 Oracle优化器 Oracle的优化器共有 ...

  4. Oracle 逻辑存储结构

    一.总述 逻辑存储结构是 Oracle 数据库存储结构的核心内容,对 Oracle 数据库的所有操作都会涉及逻辑存储结构.逻辑存储结构是从逻辑的角度分析数据库的组成,是对数据存储结构在逻辑概念上的划分 ...

  5. Oracle SQL的硬解析和软解析

    我们都知道在Oracle中每条SQL语句在执行之前都需要经过解析,这里面又分为软解析和硬解析.在Oracle中存在两种类型的SQL语句,一类为 DDL语句(数据定义语言),他们是从来不会共享使用的,也 ...

  6. iOS沙盒目录结构解析

    iOS沙盒目录结构解析 原文地址:http://blog.csdn.net/wzzvictory/article/details/18269713     出于安全考虑,iOS系统的沙盒机制规定每个应 ...

  7. H.264码流结构解析

    from:http://wenku.baidu.com/link?url=hYQHJcAWUIS-8C7nSBbf-8lGagYGXKb5msVwQKWyXFAcPLU5gR4BKOVLrFOw4bX ...

  8. rowid结构浅析

    select rowid from dual AAAAB0AABAAAAOhAAA rowid结构如下: 对象号    文件号   块号   行号 XXXXXX    XXX     XXXXXX X ...

  9. oracle 树形表结构查询 排序

    oracle 树形表结构排序 select * from Table start with parentid is null connect by prior id=parentid order SI ...

随机推荐

  1. javascript简单笔记

    js有一个非常好用的内置处理小数点函数,a.toFixed(2). 调试代码常用:console.log(var); 返回上一级,并重新加载页面 window.location.href = docu ...

  2. java_spring_List,Map,Properties,Set注入与遍历

    package com.dao.bean.www; import java.util.List; import java.util.Map; import java.util.Properties; ...

  3. Lipo Error!! can't open input file

    参考文章:http://stackoverflow.com/questions/17348912/lipo-error-cant-open-input-file I got it to Work, i ...

  4. 最新 Sublime Text 3 Package Control 安装方法

    相信看到这个帖子的童鞋,一般至少对 Sublime Text 有所了解了,废话不多讲,个人在 ST2 还没用好的时候, Sublime Text 3 又横空出世了,不过现在 ST3 还是 beta 版 ...

  5. Hibernate: Truly Understanding the Second-Level and Query Caches--reference

    I've written multiple articles here at Javalobby on the Hibernate O/R mapping tool, and they are usu ...

  6. java专业规划(转载)

    1. Java语言基础     谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的<Thinking in Java>.它是一本写的相当深刻的技术书籍,Java语言基础 ...

  7. 深入理解计算机系统第二版习题解答CSAPP 2.10

    对于任一位向量a,有a ^ a = 0.考虑下面的程序: void inplace_swap(int *x, int *y) { *y = *x ^ *y; *x = *x ^ *y; *y = *x ...

  8. 用grunt搭建自动化的web前端开发环境-完整教程

    原稿:http://www.cnblogs.com/wangfupeng1988/p/4561993.html#!comments jQuery在使用grunt,bootstrap在使用grunt,百 ...

  9. 百度地图SDK下载以及创建应用(申请Key)和本地导入Demo

    一.百度地图SDK下载 http://lbsyun.baidu.com/sdk/download?selected=location 选择全部,然后分别下载开发包.示例代码.类参考. 二.创建应用(申 ...

  10. css 去除input 获取焦点的蓝色边框

    input{ outline:0px; }