2016-08-21 109 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是行的唯一快速访问路径。