一、SMON:系統(tǒng)監(jiān)督進程
1.主要是已經(jīng)提交的數(shù)據(jù)但是還沒有進行寫入數(shù)據(jù)文件給斷電了,重啟的時候,smon 就會進行恢復
a.執(zhí)行前滾,將已經(jīng)寫入重做日志文件但是還沒有寫入到數(shù)據(jù)文件中的數(shù)據(jù)(使用scn 號碼來識別提交記錄的)
b.打開數(shù)據(jù)庫
c.回滾沒有提交的事務
2.還可以進行磁盤空間維護工作
a.回收或者合并數(shù)據(jù)文件中相連的空閑區(qū)
b.釋放臨時段
二、PMON:進程監(jiān)督進程
1.當某個進程崩潰,PMON 將負責進行如下的清理工作
a.回滾用戶當前事務
b.釋放用戶所加的所有表一級和行一級的鎖
c.釋放用戶所有的其他資源等
三、CKPT:校驗(檢查)點和檢驗點進程
1.提高系統(tǒng)效率和數(shù)據(jù)庫一致性,引入了校驗點的事件,CKPT 是在DBWR 將高速緩沖中的數(shù)據(jù)寫入到數(shù)據(jù)文件上的時
候產(chǎn)生的,理論上說它是不需要的
可以通過redo log 和 scn 保證了完全恢復,引入它是為了提高效率,因為所有的校驗點為止的變化都已經(jīng)寫入到數(shù)
據(jù)文件中了,在恢復的時候
校驗點之前的重做日志就不在需要了,這樣實例恢復就加快了,CKPT 會將校驗點寫入到所有相關的數(shù)據(jù)文件的文件頭中,還要將校驗點號碼、重做日志序列號、歸檔日志名稱和最低、最高scn 號都會寫入控制文件中,由于ckpt 會產(chǎn)生大量的IO操作,因此不能頻繁的產(chǎn)生校驗點,最好在20 分鐘以上
四、ARCn:歸檔日志進程
1.當一組重做日志文件寫滿后,會寫另外一組,當最后一組寫滿后會在寫第一組,叫做日志切換
2.如果沒有開歸檔,那么覆蓋后就無法進行恢復了
3.如果開了歸檔,那么就會使用arch 進程進行寫入歸檔日志文件中,oracle 會確保在一組重做日志的歸檔操作完成
之前不會重新使用該組日志
五、DBWn:數(shù)據(jù)庫寫進程
1.11g 之前只可以有0~9,10 個進程,11g 之后可以有36 個,0~9 和a~z,通過 db_writer_processes 來設置個數(shù)
的,如果啟動的時候沒有說明個數(shù)
那么是由cpu 的個數(shù)來決定的該參數(shù)的
2.當以下情況發(fā)生時,DBWR 會將高速緩沖區(qū)中的數(shù)據(jù)寫入到數(shù)據(jù)文件中
a.當臟緩沖區(qū)的數(shù)量超過了所設定的限額
b.所設定的時間間隔已到
c.有進程需要高速緩沖區(qū),但是沒有空閑的高速緩沖區(qū)空間時候
d.校驗(檢查點)發(fā)生時
e.某個表被刪除或者截斷(truncate,drop)
f.某個表空間被設置為只讀
g.表空間進行聯(lián)機備份時
h.表空間被設置為脫機時
六、LGWR:重做日志寫進程
1.將重做日志緩沖區(qū)的記錄順序?qū)懭氲街刈鋈罩疚募?,這里注意它是順序?qū)懭氲?,因此IO 相對要小
2. commit 語句怎樣工作,這里使用了快速提交技術
a.服務器進程把提交的記錄連同產(chǎn)生的scn 號碼一起寫入重做日志緩沖區(qū)中
b.LGWR 將重做日志緩沖區(qū)中的記錄寫入在重做日志文件中,這樣就可以保證恢復了
c.oracle 通知用戶(進程)提交已經(jīng)完成
e.服務器進程將修改數(shù)據(jù)庫高速緩沖區(qū)中相關數(shù)據(jù)的狀態(tài)并釋放資源和打開鎖(這個時候可能這些數(shù)據(jù)并沒有寫入
到數(shù)據(jù)文件中,他們標記為臟數(shù)據(jù),之后由DBWR 寫入數(shù)據(jù)文件)
3.以下情況LGWR 會寫入重做日志文件
a.事務提交
b.重做日志緩沖區(qū)中的記錄超過了緩沖區(qū)容量的1/3
c.DBWR 將數(shù)據(jù)庫高速緩沖區(qū)中的數(shù)據(jù)塊寫入到數(shù)據(jù)文件之前
d.每3 秒
創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、盈江網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5響應式網(wǎng)站、商城網(wǎng)站制作、集團公司官網(wǎng)建設、外貿(mào)網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為盈江等各大城市提供網(wǎng)站開發(fā)制作服務。