2016-08-21 104 views
1

Rowid是數據庫(oracle)中表的一行的唯一標識符。我想知道rowid是否可以在同一數據庫中的不同模式中的表和不同數據庫中的不同模式中的表之間重複?模式之間的ROWID值

例如 -

  1. 數據庫(D1)具有架構(S1和S2)。一張表S1.Customer可以有 與S2.Customer相同的rowid嗎?
  2. 數據庫(D1和D2)分別具有模式(S1和S2)。一個 表D1.S1.Customer可以具有與D2.S2.Customer相同的rowid嗎?

回答

0

當表沒有被羣集時,是的,Oracle數據庫中的每一行都有一個唯一的ROWID與它關聯。請注意,由於某些數據庫操作(重新組織數據庫),ROWID行可能會更改,並且該ROWID可能會被重用(刪除然後插入同一個表中可能會重用ROWID)。 ROWID存儲有關行的唯一信息,如OBJID,FILENO(相對於存儲對象的表空間),BLOCKNO(相對於數據文件中的BLOCKNO)和ROWNUM(塊內的相對rownumber)。 對於普通表(不聚集或索引組織),ROWID是行的唯一快速訪問路徑。