程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 進程結構和內存結構的實例

進程結構和內存結構的實例

編輯:Oracle數據庫基礎

1. Oracle實例的進程結構和內存結構

1) 進程結構

進程是操作系統中的一種機制,它可執行一系列的操作步。在有些操作系統中使用作業(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的共享數據庫緩沖區(該塊不在緩沖區時)。

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

系統為了使性能最好和協調多個用戶,在多進程系統中使用一些附加進程,稱為後台進程。在許多操作系統中,後台進程是在實例啟動時自動地建立。一個ORAC

LE實例可以有許多後台進程,但它們不是一直存在。後台進程的名字為:

DBWR 數據庫寫入程序

LGWR 日志寫入程序

CKPT 檢查點

SMON 系統監控

PMON 進程監控

ARCH 歸檔

RECO 恢復

LCKn 封鎖

Dnnn 調度進程

Snnn 服務器

每個後台進程與Oracle數據庫的不同部分交互。

下面對後台進程的功能作簡單介紹:

DBWR進程:該進程執行將緩沖區寫入數據文件,

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved