a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > Oracle > 正文

詳細講解Oracle數據庫后臺進程的具體功能

2024-08-29 13:52:30
字體:
來源:轉載
供稿:網友
DBWR進程:該進程執行將緩沖區寫入數據文件,是負責緩沖存儲區管理的一個Oracle后臺進程。當緩沖區中的一緩沖區被修改,它被標志為“弄臟”,DBWR的主要任務是將“弄臟”的緩沖區寫入磁盤,使緩沖區保持“干凈”。由于緩沖存儲區的緩沖區填入數據庫或被用戶進程弄臟,未用的緩沖區的數目減少。當未用的緩沖區下降到很少,以致用戶進程要從磁盤讀入塊到內存存儲區時無法找到未用的緩沖區時,DBWR將管理緩沖存儲區,使用戶進程總可得到未用的緩沖區。

Oracle采用LRU(LEAST RECENTLY USED)算法(最近最少使用算法)保持內存中的數據塊是最近使用的,使I/O最小。在下列情況預示DBWR 要將弄臟的緩沖區寫入磁盤:

當一個服務器進程將一緩沖區移入“弄臟”表,該弄臟表達到臨界長度時,該服務進程將通知DBWR進行寫。該臨界長度是為參數DB-BLOCK-WRITE-BATCH的值的一半。

當一個服務器進程在LRU表中查找DB-BLOCK-MAX-SCAN-CNT緩沖區時,沒有查到未用的緩沖區,它停止查找并通知DBWR進行寫。出現超時(每次3秒),DBWR 將通知本身。當出現檢查點時,LGWR將通知DBWR.在前兩種情況下,DBWR將弄臟表中的塊寫入磁盤,每次可寫的塊數由初始化參數DB-BLOCK- WRITE-BATCH所指定。如果弄臟表中沒有該參數指定塊數的緩沖區,DBWR從LUR表中查找另外一個弄臟緩沖區。

如果DBWR在三秒內未活動,則出現超時。在這種情況下DBWR對LRU表查找指定數目的緩沖區,將所找到任何弄臟緩沖區寫入磁盤。每當出現超時,DBWR查找一個新的緩沖區組。每次由DBWR查找的緩沖區的數目是為寢化參數DB-BLOCK- WRITE-BATCH的值的二倍。如果數據庫空運轉,DBWR最終將全部緩沖區存儲區寫入磁盤。

在出現檢查點時,LGWR指定一修改緩沖區表必須寫入到磁盤。DBWR將指定的緩沖區寫入磁盤。

在有些平臺上,一個實例可有多個DBWR.在這樣的實例中,一些塊可寫入一磁盤,另一些塊可寫入其它磁盤。參數DB-WRITERS控制DBWR進程個數。

LGWR進程:該進程將日志緩沖區寫入磁盤上的一個日志文件,它是負責管理日志緩沖區的一個Oracle后臺進程。LGWR進程將自上次寫入磁盤以來的全部日志項輸出,LGWR輸出:

當用戶進程提交一事務時寫入一個提交記錄。

每三秒將日志緩沖區輸出。

當日志緩沖區的1/3已滿時將日志緩沖區輸出。

當DBWR將修改緩沖區寫入磁盤時則將日志緩沖區輸出。

LGWR進程同步地寫入到活動的鏡象在線日志文件組。如果組中一個文件被刪除或不可用,LGWR 可繼續地寫入該組的其它文件。

日志緩沖區是一個循環緩沖區。當LGWR將日志緩沖區的日志項寫入日志文件后,服務器進程可將新的日志項寫入到該日志緩沖區。LGWR 通常寫得很快,可確保日志緩沖區總有空間可寫入新的日志項。

注意:有時候當需要更多的日志緩沖區時,LWGR在一個事務提交前就將日志項寫出,而這些日志項僅當在以后事務提交后才永久化。

ORACLE使用快速提交機制,當用戶發出COMMIT語句時,一個COMMIT記錄立即放入日志緩沖區,但相應的數據緩沖區改變是被延遲,直到在更有效時才將它們寫入數據文件。當一事務提交時,被賦給一個系統修改號(SCN),它同事務日志項一起記錄在日志中。由于SCN記錄在日志中,以致在并行服務器選項配置情況下,恢復操作可以同步。

CKPT進程:該進程在檢查點出現時,對全部數據文件的標題進行修改,指示該檢查點。在通常的情況下,該任務由LGWR執行。然而,如果檢查點明顯地降低系統性能時,可使CKPT進程運行,將原來由LGWR進程執行的檢查點的工作分離出來,由 CKPT進程實現。對于許多應用情況,CKPT進程是不必要的。只有當數據庫有許多數據文件,LGWR在檢查點時明顯地降低性能才使CKPT運行。 CKPT進程不將塊寫入磁盤,該工作是由DBWR完成的。

初始化參數CHECKPOINT-PROCESS控制CKPT進程的使能或使不能。缺省時為FALSE,即為使不能。

SMON進程:該進程實例啟動時執行實例恢復,還負責清理不再使用的臨時段。在具有并行服務器選項的環境下,SMON對有故障CPU或實例進行實例恢復。SMON進程有規律地被呼醒,檢查是否需要,或者其它進程發現需要時可以被調用。

PMON進程:該進程在用戶進程出現故障時執行進程恢復,負責清理內存儲區和釋放該進程所使用的資源。例:它要重置活動事務表的狀態,釋放封鎖,將該故障的進程的ID從活動進程表中移去。PMON還周期地檢查調度進程(DISPATCHER)和服務器進程的狀態,如果已死,則重新啟動(不包括有意刪除的進程)。

PMON有規律地被呼醒,檢查是否需要,或者其它進程發現需要時可以被調用。

RECO進程:該進程是在具有分布式選項時所使用的一個進程,自動地解決在分布式事務中的故障。一個結點RECO后臺進程自動地連接到包含有懸而未決的分布式事務的其它數據庫中,RECO自動地解決所有的懸而不決的事務。任何相應于已處理的懸而不決的事務的行將從每一個數據庫的懸掛事務表中刪去。

當一數據庫服務器的RECO后臺進程試圖建立同一遠程服務器的通信,如果遠程服務器是不可用或者網絡連接不能建立時,RECO自動地在一個時間間隔之后再次連接。

RECO后臺進程僅當在允許分布式事務的系統中出現,而且DISTRIBUTED ?C TRANSACTIONS參數是大于0.

ARCH進程:該進程將已填滿的在線日志文件拷貝到指定的存儲設備。當日志是為ARCHIVELOG使用方式、并可自動地歸檔時ARCH進程才存在。

LCKn進程:是在具有并行服務器選件環境下使用,可多至10個進程(LCK0,LCK1……,LCK9),用于實例間的封鎖。

Dnnn進程(調度進程):該進程允許用戶進程共享有限的服務器進程(SERVER PROCESS)。沒有調度進程時,每個用戶進程需要一個專用服務進程(DEDICATEDSERVER PROCESS)。對于多線索服務器(MULTI-THREADED SERVER)可支持多個用戶進程。如果在系統中具有大量用戶,多線索服務器可支持大量用戶,尤其在客戶_服務器環境中。

在一個數據庫實例中可建立多個調度進程。對每種網絡協議至少建立一個調度進程。數據庫管理員根據操作系統中每個進程可連接數目的限制決定啟動的調度程序的最優數,在實例運行時可增加或刪除調度進程。多線索服務器需要SQL*NET版本2或更后的版本。在多線索服務器的配置下,一個網絡接收器進程等待客戶應用連接請求,并將每一個發送到一個調度進程。如果不能將客戶應用連接到一調度

進程時,網絡接收器進程將啟動一個專用服務器進程。該網絡接收器進程不是Oracle實例的組成部分,它是處理與ORACLE有關的網絡進程的組成部分。在實例啟動時,該網絡接收器被打開,為用戶連接到ORACLE建立一通信路徑,然后每一個調度進程把連接請求的調度進程的地址給予于它的接收器。當一個用戶進程作連

接請求時,網絡接收器進程分析請求并決定該用戶是否可使用一調度進程。如果是,該網絡接收器進程返回該調度進程的地址,之后用戶進程直接連接到該調度進程。有些用戶進程不能調度進程通信(如果使用SQL*NET以前的版本的用戶),網絡接收器進程不能將如此用戶連接到一調度進程。在這種情況下,網絡接收器建立一個專用服務器進程,建立一種合適的連接。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美成人精品一区 | 人人爽人人人 | 一级片在线观看 | 国产精品久久久久久久久久久免费看 | 自拍视频网站 | 综合五月| 看片地址 | 一级黄色在线 | 9999国产精品欧美久久久久久 | 国产手机视频在线 | 色丁香婷婷 | 免费黄色福利视频 | 奇米影视奇米色777欧美 | 在线欧美视频 | 精品人人 | 欧美日韩视频在线观看一区 | 久久国产精品99久久久久久老狼 | 国产精品自产拍在线观看 | 亚洲自拍一区在线观看在线观看 | 久久精品这里热有精品 | 日本久久精品视频 | 一区在线观看视频 | 在线观看av不卡 | 久久99深爱久久99精品 | 一区二区三区的视频 | 国产综合一区二区 | av一区在线观看 | 日韩一区二区在线观看视频 | 91精品国产乱码久久久久久久久 | 福利影视 | 日韩精品一区在线 | 午夜天堂精品久久久久 | 婷婷激情综合 | 欧美a一级 | 久久久久久久久久久久久九 | 国产精品一区人伦免视频播放 | 欧美一级内谢 | 国产美女永久免费无遮挡 | 精品一级 | 成人免费视频一区二区 | 91精品久久久久久久99 |