oracle中的程序共分為三類:使用者程序、服務程序、後台程序。其中後台程序伴隨例項的啟動而啟動,他們主要是維護資料庫的穩定,相當於乙個企業中的管理者及內部服務人員。他們並不會直接給使用者提供服務。
一:database write--資料寫入
作用:把sga中被修改的資料同步到磁碟檔案中。保證buffer cache中有足夠的空閒資料塊數量。
觸發條件: 1、檢查點
2、乙個服務程序在設定的時間內沒有找到空閒塊
3、每三秒自動喚醒一次。
設定:db_writer_process用來定義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之後資料不會丟失,現在我們可以大致的了解是如何實現這個承諾,以及在資料的安全性和資料庫效能之間的平衡選擇。)
2、負責清理臨時段,以釋放空間
觸發條件:定期被喚醒或者被其他事務主動喚醒。
六:archive:arcn--歸檔操作
作用:發生日誌切換時把寫滿的聯機日誌檔案拷貝到歸檔目錄中。
觸發條件:日誌切換時被lgwr喚醒。
設定:log_archive_max_processes可以設定oracle啟動的時候arcn的個數。
七:manageability monitor:mmon--awr主要的程序
作用:1、收集awr必須的統計資料,把統計資料寫入磁碟。10g中儲存在sysaux表空間中。
2、生成server--generated報警
每小時把shared pool中的統計資訊寫入磁碟,或者shared pool占用超過15%。
八:manageability monitor light:mmnl:輕量級的mmon
九:memory manager:mman:自動內容管理
作用:每分鐘都檢查awr效能資訊,並根據這些資訊來決定sga元件最佳分布。
設定:statistics_level:統計級別
sga_target:sga總大小
十:job queue coordinator:cjq0--資料庫定時任務
十一:recover writer:rvwr
作用:為flashback database提供日誌記錄。把資料塊的前映象寫入日誌。
十二:change tarcking writer:ctwr
作用:跟蹤資料塊的變化,把資料塊位址記錄到 change_tracking file檔案中。rman的增量備份將使用這個檔案來確定那些資料塊發生了變化,並進行備份。
以上是oracle中比較常見的後台程序,不是所有的程序。其中dbwn,arcn可以設定資料庫啟動時的數量。這些程序在系統中可以不止乙個。
Oracle後台程序
後台程序主要完成以下任務 在記憶體與外存之間進行i o操作 監視各個程序的狀態 協調各個程序的任務 維護系統的效能 保證系統的可靠性 當oracle資料庫鏈結非正常終止,oracle將通過pmon程序來啟動 清除中斷或失敗的使用者程序,包括清除非正常中斷的使用者程序留下的會話,回退未提交的事務,釋放...
oracle後台程序
後台程序負責保證資料庫的穩定工作,每當資料庫啟動時,這些後台程序會自動啟動,並且持續整 個例項的生命週期,每個程序負責乙個獨特的任務,表2 4 是一些最重要的後台程序。進 程縮 寫 描 述database writer dbwn 負責把髒資料寫回磁碟 log writer lgwr 負責把日誌資料寫...
oracle後台程序
dbwr dbwr執行將資料塊緩衝區寫入資料檔案的工作。下列情況dbwr會將髒塊寫入磁碟 lgwr lgwr負責將日誌緩衝區寫入到日誌檔案 觸發lgwr寫操作的條件 ckpt ckpt程序在檢查點出現時,對全部資料檔案的檔案頭進行修改,並在控制檔案中記錄該檢查點。smon smon負責例項啟動時執行...