您好,登錄后才能下訂單哦!
一、SMON:系統監督進程
1.主要是已經提交的數據但是還沒有進行寫入數據文件給斷電了,重啟的時候,smon 就會進行恢復
a.執行前滾,將已經寫入重做日志文件但是還沒有寫入到數據文件中的數據(使用scn 號碼來識別提交記錄的)
b.打開數據庫
c.回滾沒有提交的事務
2.還可以進行磁盤空間維護工作
a.回收或者合并數據文件中相連的空閑區
b.釋放臨時段
二、PMON:進程監督進程
1.當某個進程崩潰,PMON 將負責進行如下的清理工作
a.回滾用戶當前事務
b.釋放用戶所加的所有表一級和行一級的鎖
c.釋放用戶所有的其他資源等
三、CKPT:校驗(檢查)點和檢驗點進程
1.提高系統效率和數據庫一致性,引入了校驗點的事件,CKPT 是在DBWR 將高速緩沖中的數據寫入到數據文件上的時
候產生的,理論上說它是不需要的
可以通過redo log 和 scn 保證了完全恢復,引入它是為了提高效率,因為所有的校驗點為止的變化都已經寫入到數
據文件中了,在恢復的時候
校驗點之前的重做日志就不在需要了,這樣實例恢復就加快了,CKPT 會將校驗點寫入到所有相關的數據文件的文件頭中,還要將校驗點號碼、重做日志序列號、歸檔日志名稱和最低、最高scn 號都會寫入控制文件中,由于ckpt 會產生大量的IO操作,因此不能頻繁的產生校驗點,最好在20 分鐘以上
四、ARCn:歸檔日志進程
1.當一組重做日志文件寫滿后,會寫另外一組,當最后一組寫滿后會在寫第一組,叫做日志切換
2.如果沒有開歸檔,那么覆蓋后就無法進行恢復了
3.如果開了歸檔,那么就會使用arch 進程進行寫入歸檔日志文件中,oracle 會確保在一組重做日志的歸檔操作完成
之前不會重新使用該組日志
五、DBWn:數據庫寫進程
1.11g 之前只可以有0~9,10 個進程,11g 之后可以有36 個,0~9 和a~z,通過 db_writer_processes 來設置個數
的,如果啟動的時候沒有說明個數
那么是由cpu 的個數來決定的該參數的
2.當以下情況發生時,DBWR 會將高速緩沖區中的數據寫入到數據文件中
a.當臟緩沖區的數量超過了所設定的限額
b.所設定的時間間隔已到
c.有進程需要高速緩沖區,但是沒有空閑的高速緩沖區空間時候
d.校驗(檢查點)發生時
e.某個表被刪除或者截斷(truncate,drop)
f.某個表空間被設置為只讀
g.表空間進行聯機備份時
h.表空間被設置為脫機時
六、LGWR:重做日志寫進程
1.將重做日志緩沖區的記錄順序寫入到重做日志文件中,這里注意它是順序寫入的,因此IO 相對要小
2. commit 語句怎樣工作,這里使用了快速提交技術
a.服務器進程把提交的記錄連同產生的scn 號碼一起寫入重做日志緩沖區中
b.LGWR 將重做日志緩沖區中的記錄寫入在重做日志文件中,這樣就可以保證恢復了
c.oracle 通知用戶(進程)提交已經完成
e.服務器進程將修改數據庫高速緩沖區中相關數據的狀態并釋放資源和打開鎖(這個時候可能這些數據并沒有寫入
到數據文件中,他們標記為臟數據,之后由DBWR 寫入數據文件)
3.以下情況LGWR 會寫入重做日志文件
a.事務提交
b.重做日志緩沖區中的記錄超過了緩沖區容量的1/3
c.DBWR 將數據庫高速緩沖區中的數據塊寫入到數據文件之前
d.每3 秒
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。