SQL> create table tab01(id integer,val varchar(4));

Table created.

SQL> insert into tab01 values(1,'0001');

1 row created.

SQL> insert into tab01 values(2,'0002');

1 row created.

SQL> insert into tab01 values(3,'0003');

1 row created.

SQL> insert into tab01 values(4,'0004');

1 row created.

SQL> select rowid, tab01.* from tab01;

ROWID                      ID VAL
------------------ ---------- ----
AAAVVLAAEAAAACvAAA          1 0001
AAAVVLAAEAAAACvAAB          2 0002
AAAVVLAAEAAAACvAAC          3 0003
AAAVVLAAEAAAACvAAD          4 0004

SQL>
******************************************************

[oracle@localhost ~]$ cat test.sql
select dbms_rowid.rowid_object(rowid) object_id,
       dbms_rowid.rowid_relative_fno(rowid) file_id,
       dbms_rowid.rowid_block_number(rowid) block_id,
       dbms_rowid.rowid_row_number(rowid) num ,id,val from tab01;
[oracle@localhost ~]$

SQL> @test.sql;

OBJECT_ID    FILE_ID   BLOCK_ID        NUM         ID VAL
---------- ---------- ---------- ---------- ---------- ----
     87371          4        175          0          1 0001
     87371          4        175          1          2 0002
     87371          4        175          2          3 0003
     87371          4        175          3          4 0004

SQL>

[oracle@localhost ~]$ cat test02.sql
select rowid,
     substr(rowid,1,6) "object",
     substr(rowid,7,3) "file",
     substr(rowid,10,6) "block",
     substr(rowid,16,3) "row",  
     id,val from tab01;

[oracle@localhost ~]$

SQL> @test02.sql;

ROWID              object fil block  row         ID VAL
------------------ ------ --- ------ --- ---------- ----
AAAVVLAAEAAAACvAAA AAAVVL AAE AAAACv AAA          1 0001
AAAVVLAAEAAAACvAAB AAAVVL AAE AAAACv AAB          2 0002
AAAVVLAAEAAAACvAAC AAAVVL AAE AAAACv AAC          3 0003
AAAVVLAAEAAAACvAAD AAAVVL AAE AAAACv AAD          4 0004

SQL>

******************************************************

如果,把数据库进行冷备份,然后恢复会如何?

SQL> @test02.sql;

ROWID              object fil block  row         ID VAL
------------------ ------ --- ------ --- ---------- ----
AAAVVLAAEAAAACvAAA AAAVVL AAE AAAACv AAA          1 0001
AAAVVLAAEAAAACvAAB AAAVVL AAE AAAACv AAB          2 0002
AAAVVLAAEAAAACvAAC AAAVVL AAE AAAACv AAC          3 0003
AAAVVLAAEAAAACvAAD AAAVVL AAE AAAACv AAD          4 0004

SQL>

SQL> @test.sql;

OBJECT_ID    FILE_ID   BLOCK_ID        NUM         ID VAL
---------- ---------- ---------- ---------- ---------- ----
     87371          4        175          0          1 0001
     87371          4        175          1          2 0002
     87371          4        175          2          3 0003
     87371          4        175          3          4 0004

SQL>

完全没有变化。

现在重新作表,看导出导入到其他机器上状况会如何:

[oracle@o_target ~]$ sqlplus gao/gao

SQL*Plus: Release 11.2.0.1.0 Production on Fri Apr 4 09:42:57 2014

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create table gaotab(id integer,val varchar(3));

Table created.

SQL> insert into gaotab values(4,'004');

1 row created.

SQL> insert into gaotab values(1,'001');

1 row created.

SQL> insert into gaotab values(3,'003');

1 row created.

SQL> insert into gaotab values(2,'002');

1 row created.

SQL> commit;

Commit complete.

SQL>

oracle rowid 研究的更多相关文章

  1. oracle rowid 详解

    oracle rowid详解 今天是2013-09-15,存储在数据库中的每一行数据都有一个地址,oracle使用rowid数据类型在存储地址.rowid有如下类别: 1)physical rowid ...

  2. KingbaseES CTID 与 Oracle ROWID

    熟悉oracle的人都知道ROWID可用于快速的数据访问,KingbaseES 由于自身MVCC机制的原因,ctid 作为 oracle rowid 的替代方案不合适,但currtid 还是基本可以满 ...

  3. ORACLE rowid,file# 和 rfile#

    rowid简介 rowid就是唯一标志记录物理位置的一个id,在oracle 8版本以前,rowid由file#+block#+row#组成,占用6个bytes的空间,10 bit 的 file# , ...

  4. Oracle rowid

    本文讨论的是关于oracle从8i开始引进object的概念后的rowid,即扩展(extended)的rowid:1.rowid的介绍先对rowid有个感官认识:SQL> select ROW ...

  5. oracle rowid 使用

    ROWID是数据的详细地址,通过rowid,oracle可以快速的定位某行具体的数据的位置. ROWID可以分为物理rowid和逻辑rowid两种.普通的堆表中的rowid是物理rowid,索引组织表 ...

  6. Oracle ROWID具体解释

    1.ROWID定义 ROWID:数据库中行的全局唯一地址 对于数据中的每一行,rowid伪列返回行的地址.rowid值主要包括下面信息: 对象的数据对象编号 该行所在的数据文件里的数据块 该行中数据块 ...

  7. 转载:oracle 启动过程--oracle深入研究

    Oracle数据库的启动-nomount状态深入解析 通常所说的Oracle Server主要由两个部分组成:Instance和Database.Instance是指一组后台进程(在Windows上是 ...

  8. ORACLE rowid切分大表

    通过如下sql获取rowid切分范围 ) || dbms_rowid.rowid_create(, DOI, lo_fno, lo_block, ) ) || ) || dbms_rowid.rowi ...

  9. Oracle进阶研究问题收集

    1. buffer busy waits http://www.itpub.net/thread-1801066-1-4.html 2. 深入理解oracle log buffer http://ww ...

随机推荐

  1. Asp.net MVC + Signalr 实现多人聊天室

    Asp.net SignalR 简介: 首先简单介绍一下Signalr ,我也是刚接触,觉得挺好玩的,然后写了一个多人聊天室. Asp.net SignalR 是为Asp.net 开发人员提供的一个库 ...

  2. [C++] 用Xcode来写C++程序[5] 函数的重载与模板

    用Xcode来写C++程序[5] 函数的重载与模板 此节包括函数重载,隐式函数重载,函数模板,带参数函数模板 函数的重载 #include <iostream> using namespa ...

  3. 设置全局context变量 (显示用户登录名)

    比如在每个页面的最上面部分需要显示用户的登录名称,如果不登录则显示为Guest.这部分内容在每个页面都会出现,所以可将该部分内容作为一个公共模板(如userauth.html),如然后在其他模板中进行 ...

  4. Python学习---装饰器/迭代器/生成器的学习【all】

    Python学习---装饰器的学习1210 Python学习---生成器的学习1210 Python学习---迭代器学习1210

  5. September 18th 2017 Week 38th Monday

    The only person you should try to be better than is the person you were yesterday. 你唯一应该试着去超越的人,是昨天的 ...

  6. 函数的调用 and 打印返回值 ret= mai() print(ret)

    def mai(): # mai 函数名 (yan) 形式参数 print("老板,给我一包中华") return"给你" # 返回值-- 给你ret = ma ...

  7. 【C#】#103 动态修改App.config配置文件

    对 C/S模式 下的 App.config 配置文件的AppSetting节点,支持配置信息现改现用,并可以持久保存. 一. 先了解一下如何获取 配置信息里面的内容[获取配置信息推荐使用这个] 1.1 ...

  8. TCP socket和web socket的区别

    小编先习惯性的看了下某中文百科网站对Web Socket的介绍,觉得很囧.如果大家按照这个答案去参加BAT等互联网公司的前端开发面试,估计会被鄙视. 还是让我们阅读一些英文材料吧. 让我们直接看sta ...

  9. 25个增强iOS应用程序性能的提示和技巧 — 中级篇

    本文由破船译自:raywenderlich 转载请注明出处:BeyondVincent的博客 _____________ 在开发iOS应用程序时.让程序具有良好的性能是非常关键的.这也是用户所期望的. ...

  10. 【转】 iOS播放视频时候,忽略设备静音按钮

    用户有时会在静音模式下观看视频,如果不主动设置的话,视频是没有声音的,通过AVAudioSession可开启以视频为主导的播放模式, 首先需要导入,AVFoundtion.framework,在控制播 ...