<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      302 隨筆 :: 26 文章 :: 82 評論 :: 0 Trackbacks
    一、聯機重做日志
    ?
    ??? 1、重做線程
    ?
    ??? 每個數據庫實例的聯機重做日志組都是一個聯機重做的實例線程。
    ??? 不管有沒有多路復用,一般每個Oracle都只有一個重做線程,當然RAC中每個實例都包含一個重做線程。
    ?
    ??? 2、聯機重做日志內容
    ?
    ??? 重做條目記錄了可以對數據庫重新構造的所有修改數據,包括回滾段。
    ??? 重做記錄在SGA重做日志緩存區中緩沖,并由LGWR進程寫入某個聯機重做日志文件。
    ?
    ??? 事務被提交時,必定需要用LGWR將日志全部從SGA緩存中寫入聯機重做日志文件,然后才被告知提交完成。
    ??? LGWR還會為每個事務分配一個識別重做記錄的系統修改號(SCN)。
    ?
    ??? 當重做日志緩存填滿時LGWR也會將重做條目寫入到重做日志文件,這些是可以回滾的。
    ?
    ??? 3、聯機重做日志寫入方式
    ?
    ??? 數據庫的聯機重做日志組務必要有兩個或兩個以上,這樣可以保持其中一個一直用于寫入,另一個用于歸檔。
    ?
    ??? LGWR采用循環寫入的方式,即寫滿一個換下一個。或歸檔模式則寫滿了之后歸檔,否則則直接覆蓋。
    ?
    ??? 4、活動與非活動
    ?
    ??? 當前正在寫入的聯機重做日志文件成為“當前的”聯機重做日志文件。
    ??? 實例恢復時所需的聯機重做日志文件稱為“活動的”聯機重做日志文件。
    ??? 實例恢復不用的聯機重做日志文件稱為“非活動的”聯機重做日志文件。
    ?
    ??? 已經進行存檔的聯機重做日志文件不能重新使用或重寫,知道ARCn存儲了這個文件內容。
    ?
    ??? 5、日志切換 & 日志順序號
    ?
    ??? 一般默認在一個文件寫滿時切換到寫一個文件,但是也可以規定時間進行切換,這樣就不用理會是否寫滿。
    ??? 也可以手動進行強制切換。
    ?
    ??? 每次日志切換都會分配一個新的日志順序號,歸檔時也將順序號進行保存。
    ??? 每個聯機或存檔的重做日志文件都通過它的日志順序號進行唯一標識。
    ?
    ?
    二、規劃聯機重做日志
    ?
    ??? 1、多路復用(Group)
    ?
    ??? 多路復用是避免損壞聯機重做日志文件。
    ??? 多路復用時LGWR將同一重做日志信息同時寫入多個同樣的聯機重做日志文件。
    ?
    ??? 建議必須要使用多路復用(至少兩個組)。
    ?
    ??? LOG-1.JPG
    ?
    ??? 注:當某個成員不可用,則標記為INVALID,并向LGWR跟蹤文件和數據報警文件中寫入錯誤信息。不同問題會不同反映。
    ????? * 一個操作成功一個操作失敗時:按正常過程進行,忽略不可用成員
    ????? * 日志切換時需要存檔而不能訪問下一個組時:暫時中斷操作,直到歸檔完成
    ????? * 介質失敗,切換時不能訪問下一組:關閉數據庫,并返回錯誤信息
    ????? * LGWR寫入時不能訪問文件:關閉數據庫,并返回錯誤信息
    ?
    ??? 注:不同的組中不一定需要相同個數的成員。只含有1個組的多路復用是非法的。
    ?
    ??? 2、日志成員存放在不同磁盤
    ?
    ??? 設置多路復用時,將日志組成員放置到不同的磁盤上。這樣當某磁盤失敗時,可以跳過這個成員繼續工作。
    ?
    ??? 另外將成員放置到不同磁盤上可以消除LGWR和ARCn在后臺進程對聯機重做日志成員的爭奪。
    ?
    ??? 注:數據文件和聯機重做日志文件也應該放在不同磁盤上,以減少寫數據塊和寫記錄之間出現的競爭。
    ?
    ??? 3、聯機重做日志成員的大小
    ?
    ??? 規定聯機重做日志的大小,以便將填滿的組存檔到脫機存檔介質(磁帶或磁盤)的某個單元中。
    ??? 例如磁盤上有一個填滿的聯機重做日志組,且磁盤還有49%的未使用存儲空間,此時最好降低聯機重做日志文件的大小。
    ?
    ??? 多路復用時,同一個組中的多有成員比用擁有同樣的大小!
    ??? 不同組的成員大小不同,但是這樣沒有什么好處,而且會對檢驗點的設置帶來不便。
    ?
    ??? 4、聯機重做日志文件的數量
    ?
    ??? 聯機日志文件數量的確定最好的方法是測試不同的配置的效果。
    ??? 最佳配置:在不妨礙LGWR向重做日志寫入信息的前提下,使用盡可能少的組(至少2個組)。
    ?
    ??? 仔細檢查LGWR跟蹤文件和數據庫報警文件的內容,如果消息表明:因為檢驗點還沒有完成或者組還沒有存檔的緣故,LGWR不得不頻繁得等待組,那么就需要添加組來解決問題。
    ?
    ??? 注:MAXLOGFILES-最大組數;MAXLOGMEMBERS-最大成員數;要修改這兩個參數需要重建數據庫或控制文件,所以創建數據庫時要慎重。
    ?
    ??? 5、控制存檔延遲
    ?
    ??? 在數據庫中使用聯機重做日志歸檔,然后將歸檔日志放到備用數據庫,通過查詢日志來進行和數據庫中同樣的操作。這兩個操作之間存在一個時間間隔,就叫做存檔延遲。可以通過ARCHIVE_LAG_TARGET初始化參數來嚴格限定延遲的時間長度。
    ?
    ??? 設置了ARCHIVE_LAG_TARGET之后,Oracle將定期檢查實例當前的聯機重做日志,在發生一下情況時切換日志:
    ??? * n秒鐘前創建了當前日志,并估計當前日志存檔時間為m秒,而n+m值超過ARCHIVE_LAG_TARGET的值
    ??? * 當前日志包含重做記錄
    ?
    ??? ARCHIVE_LAG_TARGET = 1800? 單位是秒,默認為0,表示禁止該功能
    ?
    ??? 在選擇數值時考慮一下因素:
    ??? * 切換日志所消耗的系統開銷
    ??? * 作為日志完整條件的結果,通常日志切換發生的頻率
    ??? * 備用數據庫可以人壽多少重做損失
    ?
    ??? 注:當數據庫本身就經常切換時,設置這個值沒有什么意義,而且當設置值很低時,對性能會產生負面影響。
    ?
    ?




    -The End-

    posted on 2008-11-25 21:22 decode360-3 閱讀(545) 評論(0)  編輯  收藏 所屬分類: DBA
    主站蜘蛛池模板: 亚洲今日精彩视频| 亚洲国产综合专区在线电影 | 女人18毛片a级毛片免费| 亚洲今日精彩视频| 亚洲成人免费在线观看| 亚洲日韩精品无码专区加勒比☆ | 97热久久免费频精品99| 日韩视频免费在线| 亚洲精品美女久久久久久久| 国产精品视频永久免费播放| 亚洲熟女综合一区二区三区| 成人毛片免费网站| 黄色免费网址大全| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲Aⅴ无码一区二区二三区软件 亚洲AⅤ视频一区二区三区 | 亚洲色偷偷综合亚洲AV伊人蜜桃| 成熟女人特级毛片www免费| 亚洲乱妇老熟女爽到高潮的片| 日本一区二区三区日本免费| 一级一看免费完整版毛片| 亚洲人成无码网站| 18观看免费永久视频| 亚洲天然素人无码专区| 亚洲精品无码日韩国产不卡?V| 国产免费久久久久久无码| 成人影片麻豆国产影片免费观看| 一本色道久久综合亚洲精品蜜桃冫| 日韩人妻无码免费视频一区二区三区 | 亚洲色无码国产精品网站可下载| 免费一级毛片正在播放| 在线看片免费人成视频福利| 亚洲国产精品乱码在线观看97| 国产精品免费小视频| 亚洲人成免费电影| 免费a级毛片网站| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | 国产免费无码一区二区| 亚洲香蕉久久一区二区| 亚洲伦乱亚洲h视频| 永久黄色免费网站| 一级毛片人与动免费观看|