天天看點

使用和配置共享伺服器-筆記

Oracle有2種模式:

Dedicated Server Process(專有模式)

Dedicated模式是預設的。類似銀行的VIP服務,一對一關系。

一個用戶端就需要一個Dedicated server。

用戶端不斷開與伺服器的連接配接,就會一直保持連接配接狀态。

響應和執行用戶端的請求。

由listener程序衍生出dedicated程序。

若資料庫的連接配接比較多,這種模式消耗的資源就很大了。

用戶端和伺服器的連接配接模式如下:

使用和配置共享伺服器-筆記
使用和配置共享伺服器-筆記

Shared Server Process (共享模式)

使用和配置共享伺服器-筆記

dispatcher相當于保安,一對多。

shared server相當于營業員,一旦shared有空閑,就去SGA的Request Queue中處理新的請求。

其中Request Queue全局隻有一個,Response Queue有多個。

用戶端和伺服器的連接配接如下:

使用和配置共享伺服器-筆記

1、用戶端連接配接到listener,

2、由listener确認是需要dedicated還是shared,若是dedicated就按照dedicated的模式進行。

若是shared的方式,就由listener按照一定的算法配置設定dispatcher,并傳回dispatcher的端口号給用戶端。

3、用戶端和dispatcheer進行連接配接。

優點:

極大的降低負責和前台處理的程序數。(每個dispatcher程序可以連接配接250個用戶端請求。)

增加了possible users

實作負載均衡

減少了idle server的程序數

降低了對記憶體的要求

使用和配置共享伺服器-筆記

Request Queue全局隻有一個,Response Queue有多個。

dedicated的PGA包含的資料很多,PGA比較小。

shared的SGA較大。

 如何配置Shared server?

配置初始化參數:

使用和配置共享伺服器-筆記

dispatchers=”(protocol=tcp)(dispatchers=2)(protocol=ipc)(dispatchers=1)”

上述意思:啟動2個dispatcher程序,都是tcp/ip模式,再啟動一個IPC。

使用和配置共享伺服器-筆記

MAX_DISPATCHERS=N

最大多少個dispatcher程序。

該參數是靜态的,負荷大不會增加,負荷小也不會減少。

每個dispatcher支援250個連接配接。

shared_servers =6

最小多少個shared程序。

MAX_shared_servers =10

最多多少個shared程序。

這2個參數是動态的,

預設啟動6個shared,負荷大了就繼續啟動shared,最多10個。負荷小了就減少shared到6個。

CIRCUITS=100

定義了整個oracle中virtual circuits的個數。包括(inbound和outbound)進出的總和。

shared_server_sessions=100

定義了shared server能夠處理的session的個數

如果以上參數在初始化檔案中沒有定義,隻有先修改spfileSID之後,才能用alter system參數修改。

先create pfile from spfile;

shutdown immediate;停掉資料庫

修改initSID之後,

create spfile from pfile;

然後啟動資料庫 startup。

可以show parameter dispatcher和show parameter shared檢視。

使用和配置共享伺服器-筆記

用ps –ef | grep oracle可以檢視到具體啟動了shared_servers個程序。

使用和配置共享伺服器-筆記

關于驗證,用lsnrctl services 指令檢視即可。

使用和配置共享伺服器-筆記

如上是正确的。

關于用戶端連接配接

修改用戶端tnsnames.ora檔案,增加一行 server=shared/dedicated 即可:

使用和配置共享伺服器-筆記
使用和配置共享伺服器-筆記

我自己測試的 貌似出問題了~~!

待我好好研究下~~

以下三種情況 要使用dedicated模式:

1.送出批處理(submit batch jobs)負載較大,沒有空閑時間。

2.執行一下特殊操作(例如用sys登入,執行startup、shutdown等操作)

3.三層架構中,建議使用dedicated的模式。

上世界90年代,網絡架構一般都是2層模式,為了增加更多的并發連接配接,shared模式大行其道。

現在2層架構已經沒落,3層架構蓬勃發展。

shared模式逐漸會被淘汰的!