oracle8的ROWID结构
2007-05-09 12:10:44 来源:WEB开发网MOVE PARTITION
ORACLE会检查ROWID中的DATA OBJECT NUMBER和BLOCK中的DATA OBJECT NUMBER,保证他们之间的版本是一致的。
ORACLE也使用DATA OBJECT NUMBER以确保ROLLBACK的纪录和最新的SEGMENT纪录一致。
要注意的是DATA OBJECT NUMBER不是OBJECT 的标志
5、RESTRICTED ROWID
ORACLE7的ROWID格式是
1-8位:BLOCK NUMBER
9-12位:ROW NUMBER
13-16位:FILE NUMBER
ORACLE8支持短的、旧格式的ROWID,作用是
对NOPARTITION TABLE的INDEX ENTRY
对PARTITION TABLE的LOCAL INDEX ENTRY
ROW Piece CHain pointer
受限ROWID的内部存放是6BYTE,
4BYTE=DATA BLOCK NUMBER
2BYTE=ROW NUMBER
这就是说,INDEX ENTRY使用6BYTE存放该ROWID,这对大多数INDEX足够了。但是这种短ROWID不能使用在PATITION TABLE的GLOBAL INDEX上,因为PARTITION可能跨TABLESPACE。显示这种ROWID依然是18位的
6、扩展的ROWID
ORACLE在内部存放时候是10 BYTE,包括(DATA OBJECT NUMBER,DATA BLOCK NU
MBER,ROW NUMBER)
ORACLE8使用扩展的ROWID:
PARTITION TABLE 的GLOBAL INDEX
SERVER 算法
扩展的ROWID在SELECT时,依然是18位的显示,存放在ROWID字段中。
7、在ORACLE8中使用ORACLE7的ROWID
从ORACLE8的DB中查询ORACLE7的ROWID时候,ROWID返回的是ORACLE7的格式,也可以用在WHERE语句中。
从ORACLE7的DB中查询ORACLE8的ROWID时候,ROWID返回的是ORACLE8的格式,也可以用在WHERE语句中,但是不能存放在ROWID字段中。但是你要用DBMS_ROWID 包来解释之。
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接