<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采用循環寫入的方式,即寫滿一個換下一個?;驓w檔模式則寫滿了之后歸檔,否則則直接覆蓋。
    ?
    ??? 4、活動與非活動
    ?
    ??? 當前正在寫入的聯機重做日志文件成為“當前的”聯機重做日志文件。
    ??? 實例恢復時所需的聯機重做日志文件稱為“活動的”聯機重做日志文件。
    ??? 實例恢復不用的聯機重做日志文件稱為“非活動的”聯機重做日志文件。
    ?
    ??? 已經進行存檔的聯機重做日志文件不能重新使用或重寫,知道ARCn存儲了這個文件內容。
    ?
    ??? 5、日志切換 & 日志順序號
    ?
    ??? 一般默認在一個文件寫滿時切換到寫一個文件,但是也可以規定時間進行切換,這樣就不用理會是否寫滿。
    ??? 也可以手動進行強制切換。
    ?
    ??? 每次日志切換都會分配一個新的日志順序號,歸檔時也將順序號進行保存。
    ??? 每個聯機或存檔的重做日志文件都通過它的日志順序號進行唯一標識。
    ?
    ?
    二、規劃聯機重做日志
    ?
    ??? 1、多路復用(Group)
    ?
    ??? 多路復用是避免損壞聯機重做日志文件。
    ??? 多路復用時LGWR將同一重做日志信息同時寫入多個同樣的聯機重做日志文件。
    ?
    ??? 建議必須要使用多路復用(至少兩個組)。
    ?
    ??? LOG-1.JPG
    ?
    ??? 注:當某個成員不可用,則標記為INVALID,并向LGWR跟蹤文件和數據報警文件中寫入錯誤信息。不同問題會不同反映。
    ????? * 一個操作成功一個操作失敗時:按正常過程進行,忽略不可用成員
    ????? * 日志切換時需要存檔而不能訪問下一個組時:暫時中斷操作,直到歸檔完成
    ????? * 介質失敗,切換時不能訪問下一組:關閉數據庫,并返回錯誤信息
    ????? * LGWR寫入時不能訪問文件:關閉數據庫,并返回錯誤信息
    ?
    ??? 注:不同的組中不一定需要相同個數的成員。只含有1個組的多路復用是非法的。
    ?
    ??? 2、日志成員存放在不同磁盤
    ?
    ??? 設置多路復用時,將日志組成員放置到不同的磁盤上。這樣當某磁盤失敗時,可以跳過這個成員繼續工作。
    ?
    ??? 另外將成員放置到不同磁盤上可以消除LGWR和ARCn在后臺進程對聯機重做日志成員的爭奪。
    ?
    ??? 注:數據文件和聯機重做日志文件也應該放在不同磁盤上,以減少寫數據塊和寫記錄之間出現的競爭。
    ?
    ??? 3、聯機重做日志成員的大小
    ?
    ??? 規定聯機重做日志的大小,以便將填滿的組存檔到脫機存檔介質(磁帶或磁盤)的某個單元中。
    ??? 例如磁盤上有一個填滿的聯機重做日志組,且磁盤還有49%的未使用存儲空間,此時最好降低聯機重做日志文件的大小。
    ?
    ??? 多路復用時,同一個組中的多有成員比用擁有同樣的大?。?/font>
    ??? 不同組的成員大小不同,但是這樣沒有什么好處,而且會對檢驗點的設置帶來不便。
    ?
    ??? 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 閱讀(539) 評論(0)  編輯  收藏 所屬分類: DBA
    主站蜘蛛池模板: 亚洲美女高清一区二区三区 | 色噜噜狠狠色综合免费视频| 2020久久精品国产免费| 亚洲综合自拍成人| 精品无码AV无码免费专区| 亚洲色图黄色小说| 无码高潮少妇毛多水多水免费| 亚洲无吗在线视频| 国产精品视频免费一区二区三区| 国产亚洲精品美女久久久久| 一区国严二区亚洲三区| 免费又黄又爽又猛大片午夜 | 亚洲伊人成无码综合网 | 亚洲爆乳精品无码一区二区| 啊v在线免费观看| 国产免费牲交视频免费播放| 亚洲国产精品无码久久久蜜芽| 91青青青国产在观免费影视| 亚洲欧洲精品视频在线观看| 日本特黄特色免费大片| 特级毛片爽www免费版| 久久精品九九亚洲精品天堂| 67pao强力打造国产免费| 亚洲综合av一区二区三区不卡| 国产精品嫩草影院免费| 你是我的城池营垒免费看| 亚洲精品韩国美女在线| 午夜毛片不卡高清免费| 中文字幕在线视频免费观看 | 国产成人亚洲精品播放器下载| 国产成人精品日本亚洲专区| 又大又硬又爽又粗又快的视频免费| 亚洲色精品VR一区区三区| 亚洲中文字幕无码专区| 99re在线这里只有精品免费| 亚洲av永久无码精品网址| 国产亚洲综合久久系列| 毛片免费观看的视频| 中文精品人人永久免费 | 亚洲人成在线免费观看| 亚洲成A人片在线观看中文|