日誌執行緒 redo thread(專業術語解析)

lovestanford發表於2014-06-18
日誌執行緒(Redo Thread)

每個例項用到的聯機日誌就是一個Redo Thread,單例項有且只有一個Redo Thread。在RAC環境下,每個例項都需要自己的聯機日誌,也就是每個例項都有自己的Redo Thread。    
RAC中每例項一個Redo Thread的設計是為了避免例項間共享Redo檔案引發的競爭,提高系統效能。

每個日誌執行緒都有一個狀態,資料庫啟動過程中會根據這個狀態判斷是否要恢復,RAC資料庫透過thread這個引數用來指定例項使用的Redo Thread執行緒號,
一般和該例項的INSTANCE_NUMBER引數相同。透過檢視V$LOG的THREAD#列可以確認日誌組所屬的執行緒。

因為RAC環境下有多個日誌執行緒,所以在新增日誌時必須指定執行緒號。

    SQL> alter database add logfile thread 1
    group 5 ('/oracle/oradata/redo5') size 50M;

而在單例項的DB中,新增日誌組的時候可以不指定 thread 執行緒號

    SQL> alter database add logfile
    group 5 ('/oracle/oradata/redo5') size 50M;

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

相關文章