Oracle 補充日誌

mlx_861201發表於2013-11-25

                                                     Oracle 補充日誌

介紹

補充日誌不是獨立的日誌,而是對重做日誌變更向量的補充。LogMiner、閃回事務、閃回事務查詢等功能需要開啟補充日誌才能正常工作。

分類

補充日誌可分為兩類資料庫級別補充日誌和表級別補充日誌,資料庫級別補充日誌可分為最小補充日誌、主鍵補充日誌、唯一索引補充日誌、外來鍵補充日誌、全體補充日誌6種,表級別補充日誌在資料庫級別補充日誌的基礎上增加了一種自定義補充日誌,沒有最小補充日誌。

功能

         因為insert會記錄所有修改後欄位,delete會記錄所有修改前欄位,所以補全日誌只對update產生影響,開啟補全日誌時共享池中的SQL遊標都會失效,他們的影響和功能如下:

  
  

最小補充日誌



主鍵補充日誌



唯一補充日誌



Update操作的影響



產生特殊的日誌資訊,可以識別update命令產生的行遷移和行轉換。Logminer和閃回事務查詢功能需要最小補全日誌支援。開啟最小補全日誌會使共享池SQL遊標失效。



無條件補充日誌,無論主鍵是否被修改舊值都會被記錄到日誌中。沒有主鍵則記錄長度最小唯一非空索引,沒有非空唯一索引則記錄所有欄位。依賴最小補全日誌,開啟主鍵補充日誌自動開啟最小補充日誌。關閉最小補全日誌自動關閉主鍵補全日誌



有條件補充日誌,當複合唯一索引的其中一個欄位被修改時,唯一索引的所有欄位舊值都會被記錄。唯一補充日誌專門為複合唯一索引服務。



開啟/關閉



開啟/關閉:

  

alter database add/drop supplemental log  data



開啟/關閉(資料庫級)

  

alter database add/drop supplemental log  data (primary key)  columns

  

開啟/關閉(表級)

  

alter table T1 add/drop supplemental log  data (primary key)  columns



開啟/關閉(資料庫級)

  

alter database add/drop supplemental log  data (unique)  columns

  

開啟/關閉(表級)

  

alter table T1 add/drop supplemental log  data (unique)  columns



依賴





依賴最小補全日誌



依賴最小補全日誌









  
  

外來鍵補充日誌



全體補充日誌



自定義補充日誌()



Update操作的影響



有條件補充日誌,當複合外來鍵索引的其中一個欄位被修改時,外來鍵索引的所有欄位舊值都會被記錄。唯一補充日誌專為複合外來鍵索引服務。



無條件補充日誌,表的所有欄位舊值都會被記錄(除了LOBLONG型別)。



/無條件補充日誌,設定多個欄位為日誌組,日誌組中的任何欄位被修改,整個日誌組欄位的舊值都記錄在日誌中。



開啟/關閉



開啟/關閉(資料庫級)

  

alter database add/drop supplemental log  data (foreign key)  columns

  

開啟/關閉(表級)

  

alter table T1 add/drop supplemental log  data (foreign key)  columns



開啟/關閉(資料庫級)

  

alter database add/drop supplemental log  data (all) columns

  

開啟/關閉(表級)

  

alter table T1 add/drop supplemental log  data (all) columns



開啟/關閉(表級)

  

alter table T1 add/drop supplemental log  group GROUPNAME(C1,C2,C3) allways



依賴



依賴最小補全日誌



依賴最小補全日誌



依賴最小補全日誌




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

相關文章