oracle rowid 研究
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 研究的更多相关文章
- oracle rowid 详解
oracle rowid详解 今天是2013-09-15,存储在数据库中的每一行数据都有一个地址,oracle使用rowid数据类型在存储地址.rowid有如下类别: 1)physical rowid ...
- KingbaseES CTID 与 Oracle ROWID
熟悉oracle的人都知道ROWID可用于快速的数据访问,KingbaseES 由于自身MVCC机制的原因,ctid 作为 oracle rowid 的替代方案不合适,但currtid 还是基本可以满 ...
- ORACLE rowid,file# 和 rfile#
rowid简介 rowid就是唯一标志记录物理位置的一个id,在oracle 8版本以前,rowid由file#+block#+row#组成,占用6个bytes的空间,10 bit 的 file# , ...
- Oracle rowid
本文讨论的是关于oracle从8i开始引进object的概念后的rowid,即扩展(extended)的rowid:1.rowid的介绍先对rowid有个感官认识:SQL> select ROW ...
- oracle rowid 使用
ROWID是数据的详细地址,通过rowid,oracle可以快速的定位某行具体的数据的位置. ROWID可以分为物理rowid和逻辑rowid两种.普通的堆表中的rowid是物理rowid,索引组织表 ...
- Oracle ROWID具体解释
1.ROWID定义 ROWID:数据库中行的全局唯一地址 对于数据中的每一行,rowid伪列返回行的地址.rowid值主要包括下面信息: 对象的数据对象编号 该行所在的数据文件里的数据块 该行中数据块 ...
- 转载:oracle 启动过程--oracle深入研究
Oracle数据库的启动-nomount状态深入解析 通常所说的Oracle Server主要由两个部分组成:Instance和Database.Instance是指一组后台进程(在Windows上是 ...
- ORACLE rowid切分大表
通过如下sql获取rowid切分范围 ) || dbms_rowid.rowid_create(, DOI, lo_fno, lo_block, ) ) || ) || dbms_rowid.rowi ...
- Oracle进阶研究问题收集
1. buffer busy waits http://www.itpub.net/thread-1801066-1-4.html 2. 深入理解oracle log buffer http://ww ...
随机推荐
- Asp.net MVC + Signalr 实现多人聊天室
Asp.net SignalR 简介: 首先简单介绍一下Signalr ,我也是刚接触,觉得挺好玩的,然后写了一个多人聊天室. Asp.net SignalR 是为Asp.net 开发人员提供的一个库 ...
- [C++] 用Xcode来写C++程序[5] 函数的重载与模板
用Xcode来写C++程序[5] 函数的重载与模板 此节包括函数重载,隐式函数重载,函数模板,带参数函数模板 函数的重载 #include <iostream> using namespa ...
- 设置全局context变量 (显示用户登录名)
比如在每个页面的最上面部分需要显示用户的登录名称,如果不登录则显示为Guest.这部分内容在每个页面都会出现,所以可将该部分内容作为一个公共模板(如userauth.html),如然后在其他模板中进行 ...
- Python学习---装饰器/迭代器/生成器的学习【all】
Python学习---装饰器的学习1210 Python学习---生成器的学习1210 Python学习---迭代器学习1210
- September 18th 2017 Week 38th Monday
The only person you should try to be better than is the person you were yesterday. 你唯一应该试着去超越的人,是昨天的 ...
- 函数的调用 and 打印返回值 ret= mai() print(ret)
def mai(): # mai 函数名 (yan) 形式参数 print("老板,给我一包中华") return"给你" # 返回值-- 给你ret = ma ...
- 【C#】#103 动态修改App.config配置文件
对 C/S模式 下的 App.config 配置文件的AppSetting节点,支持配置信息现改现用,并可以持久保存. 一. 先了解一下如何获取 配置信息里面的内容[获取配置信息推荐使用这个] 1.1 ...
- TCP socket和web socket的区别
小编先习惯性的看了下某中文百科网站对Web Socket的介绍,觉得很囧.如果大家按照这个答案去参加BAT等互联网公司的前端开发面试,估计会被鄙视. 还是让我们阅读一些英文材料吧. 让我们直接看sta ...
- 25个增强iOS应用程序性能的提示和技巧 — 中级篇
本文由破船译自:raywenderlich 转载请注明出处:BeyondVincent的博客 _____________ 在开发iOS应用程序时.让程序具有良好的性能是非常关键的.这也是用户所期望的. ...
- 【转】 iOS播放视频时候,忽略设备静音按钮
用户有时会在静音模式下观看视频,如果不主动设置的话,视频是没有声音的,通过AVAudioSession可开启以视频为主导的播放模式, 首先需要导入,AVFoundtion.framework,在控制播 ...