首页 > Linux操作系统 > Linux操作系统 > UROWID Internal
UROWID(Universal Rowid)表示一行数据的逻辑地址。一般情况下,索引组织表(IOT)和远程数据库(可以是非Oracle数据库)中的表需要用到UROWID。
UROWID的子类型
该数据类型的内部类型代码是208,这可以通过dump函数看到。
UROWID的存储结构
第一个字节表示子类型,1 物理UROWID,2 逻辑UROWID,3 远程UROWID。
对于物理UROWID,从第二字节起,就是一个物理rowid,分别为:
object#(4),file#(2),block#(4),slot#(2)
对于逻辑UROWID,从第二字节起,分别为:
dba length(1),dba,slot length(1),slot,primary key lenth(1),primary key
对于远程UROWID,从第二字节起,分别为:
未压缩部分的长度,未压缩部分,压缩部分
附:Oracle数据类型的内部代码
Oracle并不在数据行中存储每个列的数据类型,类型信息只保存在数据字典COL$中。
Datatype Code | Datatype Name |
114 | BFILE |
96 | CHAR, NCHAR |
12 | DATE |
183 | INTERVAL DAY TO SECOND REF |
182 | INTERVAL YEAR TO MONTH REF |
8 | LONG |
24 | LONG RAW |
2 | NUMBER |
23 | RAW |
111 | REF |
113 | REF BLOB |
112 | REF CLOB, REF NCLOB |
11 | ROWID |
180 | TIMESTAMP |
231 | TIMESTAMP WITH LOCAL TIME ZONE |
181 | TIMESTAMP WITH TIME ZONE |
208 | UROWID |
108 | User-defined type (object type, VARRAY, nested table) |
1 | VARCHAR2, NVARCHAR2 |
106 | MLSLABEL |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/193161/viewspace-50344/,如需转载,请注明出处,否则将追究法律责任。