在oem上看到锁信息有受限制rowid信息
我想知道是哪个具体rowid被锁定如何查询

解决方案 »

  1.   

    你可能理解错了概念:Oracle中rowid分为两类: 扩展ROWID 和 受限ROWID受限ROWID(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位的 扩展的ROWID 
    ORACLE在内部存放时候是10 BYTE,包括(DATA OBJECT NUMBER,DATA BLOCK NU 
    MBER,ROW NUMBER) 
    ORACLE8使用扩展的ROWID: 
    PARTITION TABLE 的GLOBAL INDEX 
    SERVER 算法 
    扩展的ROWID在SELECT时,依然是18位的显示,存放在ROWID字段中。 DBMS_ROWID.ROWID_TO_RESTRICTED 转换扩展的ROWID到受限的ROWID。