您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關oracle后臺進程是怎樣的,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
oracle后臺進程伴隨實例的啟動而啟動,他們主要是維護數據庫的穩定,相當于一個企業中的管理者及內部服務人員。他們并不會直接給用戶提供服務。
一:database write--數據寫入 DBWR
作用:把SGA中被修改的數據同步到磁盤文件中。保證Buffer Cache中有足夠的空閑數據塊數量。
PS:如果LGWR出現故障,DBWR不會聽從CKPT命令罷工,因為Oracle在將數據緩存區數據寫到磁盤前,會先進行日志緩沖區寫進日志文件的操作,并耐心的等待其先完成,才會去完成這個內存刷到磁盤的動作,這就是所謂的凡事有記錄。
觸發條件: 1、檢查點CKPT
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記錄先于數據記錄被寫入磁盤
5、聯機日志文件切換也將觸發LGWR。
三:checkpoint:CKPT-檢查點事件
作用:維護數據庫一致性狀態。檢測點時刻數據文件與SGA中的內容一致,這不是一個單獨的進程,要和前兩個進程一起工作呦。DBWR寫入臟數據,同時觸發LGWR進程。
CKPT更新控制文件中的檢查點記錄。通過設置某參數調整來控制CKPT的觸發時間。參數是FAST_START_MTTR_TARGET。
觸發條件:日志切換(log switch)會觸發檢查點。
四:process monitor:PMON--維護用戶進程 進程監控器
作用:1、發現用戶進程異常終止,并進行清理。釋放占用資源。(清理異常終止用戶使用的鎖)
2、向監聽程序動態的注冊實例。
觸發條件:定時被喚醒,其他進程也會主動喚醒它。
五:system monitor:SMON--實例維護進程 系統監控器
作用:1、負責實例恢復,前滾(Roll Forward)恢復到實例關閉的狀態,使用最后一次檢查點后的日志進程重做。這時包括提交和未提交的事務。打開數據庫,進行回滾(Roll Back):回滾未提交的事務。(oracle承諾commit之后數據不會丟失,現在我們可以大致的了解是如何實現這個承諾,以及在數據的安全性和數據庫性能之間的平衡選擇。)
2、負責清理臨時段,以釋放空間
觸發條件:定期被喚醒或者被其他事務主動喚醒。
六:LCKn 僅適用于RAC數據庫,最多可有10個進程(LCK0,LCK1,...,LCK9),用于實例間的封鎖。
七:archive:ARCH--歸檔操作
作用:發生日志切換時把寫滿的聯機日志文件拷貝到歸檔目錄中。(LGWR寫日志寫到需要覆蓋重寫的時候,觸發ARCH進程去轉移日志文件,復制出去形成歸檔日志文件,以免日志丟失)
觸發條件:日志切換時被LGWR喚醒。
設置:LOG_ARCHIVE_MAX_PROCESSES可以設置oracle啟動的時候ARCH的個數。
八:Distributed Database Recovery --RECO 用于分布式數據庫的恢復
某個應用跨越多個數據庫,需要都提交成功,事務才會成功,否則全部回滾。
以上是八個最核心、最重要、最有用進程,以下還列出了一些進程。
九: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--數據庫定時任務
Oracle的作業隊列管理依賴于后臺進程的執行,它們進行數據刷新及其他定期的作業。調度進程CJQ0,選擇將要執行的作業并擴展作業隊列進程(J000-J999)以執行這些作業
十三:recover writer:RVWR
作用:為flashback database提供日志記錄。把數據塊的前鏡像寫入日志。
十四:change tarcking writer:CTWR
作用:跟蹤數據塊的變化,把數據塊地址記錄到 change_tracking file文件中。RMAN的增量備份將使用這個文件來確定那些數據塊發生了變化,并進行備份
關于oracle后臺進程是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。