Oracle系統程式
Oracle中的程式共分為三類:使用者程式、服務程式、後臺程式。其中後臺程式伴隨例項的啟動而啟動,他們主要是維護資料庫的穩定,相當於一個企業中的管理者及內部服務人員。他們並不會直接給使用者提過服務。
oracle 資料庫有五個必需的後臺程式,DBWR,LGWR,CKPT,SMON,PMON
一: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提供日誌記錄。把資料塊的前映象寫入日誌。
十二:change tracking writer CTWR:跟蹤資料塊的變化,把資料塊地址記錄到change_tracking file檔案中。RMAN的增量備份將使用這個檔案來確定那些資料塊發生了變化,並進行備份。
以上是oracle中比較常見的後臺程式,不是所有的程式。其中DBWn,ARCn可以設定資料庫啟動時的數量。這些程式在系統中可以不止一個。
相關文章
- ORACLE系統概述(轉)Oracle
- Oracle ERP系統排名?什麼是使用者口碑最好的Oracle ERP系統?Oracle
- 【Oracle體系結構】 Oracle19C 系統結構介紹Oracle
- oracle 系統使用者簡介Oracle
- 混沌系統程式
- 【UNDO】Oracle系統回滾段說明Oracle
- oracle重要系統割接準備工作Oracle
- Oracle RAC NFS掛載檔案系統OracleNFS
- Oracle某行系統SQL優化案例(三)OracleSQL優化
- Oracle某行系統SQL優化(案例五)OracleSQL優化
- Oracle某行系統SQL優化案例(二)OracleSQL優化
- oracle 11g 系統審計功能Oracle
- Oracle 某行系統SQL優化案例(一)OracleSQL優化
- (Python程式設計 | 系統程式設計 | 並行系統工具 | 程式退出)Python程式設計並行
- 系統管理指南:Oracle Solaris Containers-資源管理和 Oracle Solaris ZonesOracleAI
- 系統程式設計程式設計
- Oracle常用的系統查詢語句整理Oracle
- Oracle推出全球首個自治作業系統Oracle作業系統
- oracle 系統自帶幾個常用函式Oracle函式
- 修改系統時間對oracle的影響Oracle
- Oracle某行系統SQL最佳化(案例四)OracleSQL
- Linux系統程式設計【4】——檔案系統Linux程式設計
- 將 CentOS 8 作業系統遷移到 Oracle LinuxCentOS作業系統OracleLinux
- Oracle某X系統SQL最佳化(案例六)OracleSQL
- 直播系統程式碼,linux date修改系統時間Linux
- 作業系統-程式管理作業系統
- 系統程式是什麼?怎麼通過系統程式進行病毒分析?
- 作業系統系列----程式與程式 程式的描述作業系統
- 如何弄清 Linux 系統執行何種系統管理程式Linux
- Linux系統透過CrossOver執行windows系統exe程式LinuxROSWindows
- 【BUILD_ORACLE】Oracle 19c RAC搭建(二)作業系統檢查與配置UIOracle作業系統
- oracle系統表空間過大問題處理Oracle
- 談談WINDOWS下重灌系統後oracle的恢復WindowsOracle
- Oracle 11gRac 測試案例(三)系統測試Oracle
- 圖書管理系統(小程式)
- 分散式系統程式設計分散式程式設計
- 食堂訂餐系統小程式
- 常用程式碼 | 系統配置篇
- Linux系統管理之程式管理Linux