国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

關于Oracle進程結構及后臺進程簡介

2024-08-29 14:01:37
字體:
來源:轉載
供稿:網友

進程結構

進程是操作系統中的一種機制,它可執行一系列的操作步。在有些操作系統中使用作業(JOB)或任務(TASK)的術語。一個進程通常有它自己的專用存儲區。ORACLE進程的體系結構設計使性能最大。

ORACLE實例有兩種類型:單進程實例和多進程實例。

單進程ORACLE(又稱單用ORACLE)是一種數據庫系統,一個進程執行全部ORACLE代碼。由于ORACLE部分和客戶應用程序不能分別以進程執行,所以ORACLE的代碼和用戶的數據庫應用是單個進程執行。

在單進程環境下的ORACLE 實例,僅允許一個用戶可存取。例如在MS-DOS上運行ORACLE 。

多進程ORACLE實例(又稱多用戶ORACLE)使用多個進程來執行ORACLE的不同部分 ,對于每一個連接的用戶都有一個進程。

在多進程系統中,進程分為兩類:用戶進程和ORACLE進程。當一用戶運行一應用程序,如PRO*C程序或一個ORACLE工具(如SQL*PLUS),為用戶運行的應用建立一個用戶進程。ORACLE進程又分為兩類:服務器進程和后臺進程。服務器進程用于

處理連接到該實例的用戶進程的請求。當應用和ORACELE是在同一臺機器上運行,而不再通過網絡,一般將用戶進程和它相應的服務器進程組合成單個的進程,可降低系統開銷。然而,當應用和ORACLE運行在不同的機器上時,用戶進程經過一個分離服務器進程與ORACLE通信。它可執行下列任務:

對應用所發出的SQL語句進行語法分析和執行。

從磁盤(數據文件)中讀入必要的數據塊到SGA的共享數據庫緩沖區(該塊不在緩沖區時)。

將結果返回給應用程序處理。

系統為了使性能最好和協調多個用戶,在多進程系統中使用一些附加進程,稱為后臺進程。在許多操作系統中,后臺進程是在實例啟動時自動地建立。一個ORACLE實例可以有許多后臺進程,但它們不是一直存在。后臺進程的名字為:

DBWR 數據庫寫入程序;

LGWR 日志寫入程序;

CKPT 檢查點;

SMON 系統監控;

PMON 進程監控;

ARCH 歸檔;

RECO 恢復;

LCKn 封鎖;

Dnnn 調度進程;

Snnn 服務器。

每個后臺進程與ORACLE數據庫的不同部分交互。

下面對后臺進程的功能作簡單介紹:

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表中查找另外一個弄臟緩沖區。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜黄县| 蓬莱市| 济源市| 许昌县| 河曲县| 西城区| 长武县| 宜章县| 益阳市| 江津市| 长岭县| 土默特左旗| 贵德县| 富阳市| 安阳县| 即墨市| 汉中市| 印江| 皮山县| 永顺县| 株洲市| 鄂伦春自治旗| 鹤峰县| 浙江省| 泸溪县| 册亨县| 津市市| 衡水市| 寿宁县| 饶平县| 齐齐哈尔市| 汾西县| 东辽县| 济南市| 中阳县| 隆林| 汝城县| 托里县| 远安县| 昭苏县| 乡宁县|