db2日誌

db2日誌配置:
1.配置方式:不可恢復模式和可恢復模式
  1)當數據庫配製不可恢復時(對應Oracle的非歸檔模式),
    默認配置即數據庫配置參數(userexit和logretain都爲off時)
    只能進行數據庫的脫機完全備份,此時日誌文件的使用方式爲循環覆蓋方式,
    首先使用logprimary個日誌文件進行記錄
    若不能滿足單個事務對日誌記錄的空間要求,則最多可以再使用logsecond個日誌文件
         
  2)當配製爲可以可恢復類型是(對應Oracle的歸檔模式),
    支持聯機完全備份和聯機表空間備份,
    (oracle中只有聯機備份的概念,聯機備份所有表空間也就完成了聯機完全備份,呵呵)
    用以下命令:update db cfg using logarchmeth1 userexit
    由於userexit包含了logretain的功能所以就不說了logretain了
    userexit是DB2提供的一個工具,它能每五分鐘在日誌目錄中檢索可以歸檔的記錄並轉移到其他目錄中
    這種方式和不可恢復模式的區別是日誌不是被覆蓋了而是被歸檔了,
    其他如果非要說有的話就是logsecond可以被設置成-1,也就是不用logsecond了
    確實在可恢復模式下logsecond根本沒有存在的必要


2.這些參數配置大小:
  這裏logprimary和logsecond分配的日誌文件本身沒有任何區別,只是logprimary是
  固定使用的,而logsecond是在logprimary不夠用的情況下動態創建的,若logprimary
  夠用,則不會實際創建logprimary對應的文件,
  無論是在不可恢復模式還是可恢復模式下若logprimary+logsecond還是不能滿足
  某個事務的日誌記錄空間需求,則數據庫就會報錯說日誌已經滿了,
  若不需要更改日誌的歸檔方式的情況下可以修改對應參數或他們的組合增加日誌,
  修改前別忘了備份數據庫哦~
     
  /*file_size 是一個數值表示4K頁的個數,增大這個參數即可*/
  update db cfg using logfisiz file_size

  /*file_number 表示logprimary日誌的個數,增加的值即可*/
  update db cfg using logprimary file_number

  /*file_number 表示logsecond日誌的個數,增加的值即可*/
  update db cfg using logsecond file_number

  以上命令的具體值要根據實際情況來的,所謂的實際情況無非就是在
  logprimary(主日誌文件個數)和logfilsiz(日誌文件大小)之間做一個權衡
  如果都比較大數據庫管理日誌的開銷就大,
  logsecond(輔助日誌文件)只是應急來用的,由於是動態分配的,
  開銷比較大所以肯定不能用到它,也就是logprimary要滿足基本需求
  如果logfilsiz太小就會頻繁創建新日誌文件開銷也就大了,
  如果logfilesiz太大了,自動恢復時間會很長,在不可恢復模式下
  日誌裏面放的數據越多可能丟失的數據也就越多


 
發佈了29 篇原創文章 · 獲贊 4 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章