ORACLE系統概述(3)

jss001發表於2009-03-09

ORACLE的配置方案

所有連線到ORACLE的使用者必須執行兩個程式碼模組可存取一個ORACLE資料庫例項:

 

應用或ORACLE工具:一資料庫使用者執行一資料庫應用或一個ORACLE工具,可向ORACLE資料庫發出SQL語句。

ORACLE伺服器程式:負責解釋和處理應用中的SQL語句。

在多程式例項中,連線使用者的程式碼可按下列三種方案之一配置:對於每一個使用者,其資料庫應用程式和伺服器程式組合成單個使用者程式

 

對於每一個使用者,其資料庫應用是由使用者程式所執行,並有一個專用伺服器程式。執行ORACLE伺服器的程式碼。這樣的配置稱為專用伺服器體系結構; 執行資料庫應用的程式不同於執行ORACLE伺服器程式碼的程式,而且每一個伺服器程式(執行ORACLE伺服器程式碼)可服務於多個使用者程式,這樣的配置稱為多線索伺服器體系結構。

 

1) USER/SERVER程式相結合的結構

在這種配置下,資料庫應用和ORACLE伺服器程式是在同一個程式中執行,該程式稱為使用者程式。

這種ORACLE配置有時稱為單任務ORACLE(single_task ORACLE),該配置適用於這樣的作業系統,它可在同一程式中的資料庫應用和ORACLE程式碼之間維護一個隔離,該隔離是為資料安全性和完整性所需。其中程式介面(program interface)是負責ORACLE伺服器程式碼的隔離和保護,在資料庫應用和ORACLE使用者程式之間傳送資料。

 

2) 使用專用伺服器程式的系統結構

使用專用伺服器程式的ORACLE系統在兩臺計算機上執行。在這種系統中,在一計算機上使用者程式執行資料庫應用,而在另一臺計算機上的伺服器程式執行相應的ORACLE伺服器程式碼,這兩個程式是分離的。為每個使用者程式建立的不同的伺服器程式稱為專用伺服器程式,因為該伺服器程式僅對相連的使用者程式起作用。這種配置又稱為兩任務ORACLE。每一個連線到ORACLE的使用者程式有一個相應的專用服務程式。這種系統結構允許客戶應用是有工作站上執行,透過網路與執行ORACLE的計算機通訊。當客戶應用和ORACLE伺服器程式碼是在同一臺計算機上執行時,這種結構也可用。

 

3) 多線索伺服器的系統結構

多線索伺服器配置允許許多使用者程式共享很少伺服器程式。在沒有多線索伺服器的配置中,每一個使用者程式需要自己的專用伺服器程式。在具有多線索伺服器的配置中,許多使用者程式連線到排程程式,由排程程式將客戶請求傳送到一個共享伺服器程式。多線索伺服器配置的優點是降低系統開銷,增加使用者個數。

 

該系統中需要下列型別的程式:

網路接收器程式,將使用者程式連線到排程程式和專用伺服器程式。

一個或多個排程程式

一個或多個共享伺服器程式

其中網路接收器程式等待新來的連線請求,決定每一使用者程式能否用共享伺服器程式。如果可以使用,接收器程式將一排程程式的地址返回給使用者程式。如果使用者程式請求一專用伺服器,該接收器程式將建立一個專用伺服器程式,將使用者程式連線到該專用伺服器程式。對於資料庫客戶機所使用的每種網路協議至少配置一個排程程式,並啟動它。

當使用者作一次呼叫時,排程程式將請求放置在SGA的請求佇列中,由可用的共享伺服器程式獲取。共享伺服器程式為完成每一個使用者程式的請求作所有必要的資料庫呼叫。當伺服器完成請求時,將結果返回到排程程式的佇列,然後由排程程式將完成的請求返回給使用者程式。

共享伺服器程式:除共享伺服器程式不是連線指定的使用者程式外,共享伺服器程式和專用伺服器程式提供相同的功能,一個共享伺服器程式在多線索伺服器的配置中可為任何客戶請求服務。一個共享伺服器程式的SGA不包含有與使用者相關的資料,其資訊可為所有共享伺服器程式存取,它僅包含棧空間、程式指定變數。所有與會話有關的資訊是包含有SGA中。每一個共享伺服器程式可存取全部會話的資料空間,以致任何服務程式可處理任何會話的請求。對於每一個會話的資料空間是在SGA中分配空間。

ORACLE根據請求佇列的長度可動態地調整共享伺服器程式。可建立的共享伺服器程式將請求放到請求佇列。一個使用者請求是對資料庫的一次程式介面呼叫,為SQL語句。在SGA中請求佇列對例項的全部排程程式是公用的。伺服器程式為新請求 檢查公用請求佇列,按先進先出的原則從佇列檢出一個請求,然後為完成該請求對資料庫作必要的呼叫。共享伺服器程式將響應放在排程程式的響應佇列。每一個排程程式在SGA中有自己的響應佇列,每個排程程式負責將完成的請求回送給相應的使用者程式。

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18921899/viewspace-1016778/,如需轉載,請註明出處,否則將追究法律責任。

相關文章