回覆列表
  • 1 # lanfengz3

    一:database write :資料寫入

    作用:把SGA中被修改的資料同步到磁碟檔案中。保證Buffer Cache中有足夠的空閒資料塊數量。

    觸發條件:1,檢查點

    2,一個服務程序在設定的時間內沒有找到空閒塊。

    3,每3秒自動喚醒一次。

    設定:DB_WRITER_PROCESSES用來定義DBWn程序數量。(commit命令只是把記錄修改寫入日誌檔案,不是把修改後的資料寫入資料檔案,下面還會提到。)

    二:log write LGWR:日誌檔案寫入

    作用:把log buffer中的日誌內容寫入聯機的日誌檔案中,釋放log使用者buffer空間呢。

    觸發條件:1,使用者發出commit指令。(在oracle中稱為快速提交機制(fast commit):把redo log buffer中的記錄寫入日誌檔案,寫入一條已提交的記錄)。

    2,三秒鐘定時喚醒。

    3,log buffer超過1/3,或日誌數量超過1M。

    4,DBWR程序觸發:DBWn試圖將髒資料塊寫入磁碟先檢查他的相關redo記錄是否寫入聯機日誌檔案,如果沒有就通知LGWR程序。在oracle中稱為提前寫機制(write ahead):redo記錄先於資料記錄被寫入磁碟。

    三:checkpoint CKPT:檢查點事件

    作用:維護資料庫一致性狀態。檢查點時刻資料檔案與SGA中的內容一致。這不是一個單獨的程序,要和前兩個程序一起工作。DBWR寫入髒資料,同時觸發LGWR程序。

    CKPT更新控制檔案中的檢查點記錄。

    觸發條件:日誌切換(log switch)會觸發檢查點。

    四:process monitor PMON :維護使用者程序

    作用:1,發現使用者程序異常終止,並進行清理。釋放佔用資源。(清理異常終止使用者使用的鎖)。

    2,向監聽程式動態的註冊例項。

    觸發條件:定時被喚醒,其他程序也會主動喚醒他。

    五:system monitor SMON:例項維護

    作用:1,負責例項恢復,前滾(Roll Forward)恢復到例項關閉時刻的狀態,使用最後一次檢查點後的日誌進行重做。這時包括提交和未提交的事務。開啟資料庫,進行回滾(Roll Back):回滾未提交的事務。

    (Oracle承諾commit之後的資料不會丟失,現在我們可以大致的瞭解Oracle是如何實現這個承諾的,以及在資料的安全性和資料庫效能之間的平衡選擇。)

    2,負責清理臨時段,以釋放空間;

    觸發條件:定期被喚醒或者被其他事務主動喚醒。

    六:archive ARCn:歸檔操作

    作用:發生日誌切換時把寫滿的聯機日誌檔案複製到歸檔目錄中。

    觸發條件:日誌切換時被LGWR喚醒。

    設定:LOG_ARCHIVE_MAX_PROCESSES可以設定oracle啟動的時候ARCn的個數。

    七:manageability monitor MMON:AWR主要的程序。

    作用:1收集AWR必須的統計資料,把統計資料寫入磁碟。10g中儲存在SYSAUX表空間中。

    2,生成server-generated報警。

    每一個小時把shard pool中的統計資訊寫入磁碟,或shard pool佔用超過5%。

    八:manageability monitor light MMNL:輕量級的MMON;

    九:memory manager MMAN:自動記憶體管理

    作用:每分鐘都檢查AWR效能資訊,並根據這些資訊來決定SGA元件最佳分佈。

    設定:STATISTICS_LEVEL:統計級別

    SGA_TARGET:SGA總大小

    十:job queue coordinator CJQO:資料庫定時任務

    十一:recover writer RVWR:為flashback database提供日誌記錄。把資料塊的前映象寫入日誌。

  • 中秋節和大豐收的關聯?
  • 我目前是一名英語系大三在讀學生,我要如何提高自己的口語能力呢?