關於oracle10g Supplemental Log (追加日誌)

tolywang發表於2010-03-01
Oracle 10g ,   10.2.0.4  


由於普通redo 日誌只是記錄rowid 及更改前後的列的值即可對資料庫進行恢復等動作,但是  類似 logical standby不是根據rowid 來做recover,    所以需要在redo裡記錄PK or unique index的資訊來定位操作的資料行  。

那麼關於logical standby 或 stream 中的 Supplemental Log 有個疑問 :

1,如果是所有table都有pk 或 unique index , 且都不是組合欄位組成的 ,那麼logical standby 或 stream中不需要啟動 Supplemental Log ,  redo log 會自動附加記錄pk 或 unique index 嗎 (default ?)   ?  

2.  如果所有table 都有pk 或 unique index ,  但是大部分表的pk 或 unique index 是由組合欄位組成的,那麼按照文件,我們需要啟動 Supplemental Log  ,這時候我們在更新pk 或 pk 中的部分欄位的時候,Oracle會附件記錄pk 中沒有被更新的那些欄位以便唯一標識 ? 如果我們只是更新pk 或unique index 之外的其他列,那麼Oracle 會記錄pk ,unique 之外的其他列還是會記錄整個PK 或 unique index列來唯一標識  ?

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-630260/,如需轉載,請註明出處,否則將追究法律責任。

相關文章