Contents ...
udn網路城邦
Oracle專有共享服務器模式
2015/11/28 10:00
瀏覽388
迴響0
推薦0
引用0
專有/共享服務器模式

專有服務器模式:用戶進程和專有服務器進程是兩種不同類型的進程。當客戶端發出連接數據庫請求的時候,監聽器把客戶端(用戶進程)連接到專有服務器進程。是一一對應的關系。

適用於批處理和RMAN備份恢復。

共享服務器模式:調度進程接接受多個客戶端的連接請求,並把這些請求放到一個公共隊列中。空閑的服務器進程從這個公共隊列中抓出這些請求,然後完成請求的任務,任務完成後,把結果放到響應隊列中,調度進程再從響應隊列中把完成的結果返回給用戶進程(客戶端)。

手動配置共享服務器模式

環境

OS:CentOS 5.4

DB:Oracle 11g R2

需求:將數據庫配置成共享服務器模式

1)用spfile生成pfile文件

create pfile='$ORACLE_HOME/dbs/initMYTEST.ora' from spfile;

2)修改pfile文件

vim $ORACLE_HOME/dbs/initMYTEST.ora

3)加入(或修改)如下內容

shared_servers=3

max_shared_servers=39

dispatchers="(protocol=TCP)(serv=LISTENER)(list=LISTENER)(poo=on)(disp=5)(con=33)(sess=224)"

max_dispatchers=19

參數說明:

shared_servers指定Oracle啟動時,啟動的共享服務器進程的最小數量。對於很繁忙的系統,這個值設高一些,對於空閑的系統,這個值設低一些。對於一般的系統,這個值是連接數的十分之一。

max_shared_servers這個值設置共享服務器進程的最大數量

dispatchers用於設置調度進程。其中protocol用於設置調度進程支持的協議;poo用於設置是否啟動共享池(on啟動)disp用於設置調度進程的數量;con用於設置每個調度進程的最大網絡連接數;sess用戶設置每個調度進程的最大會話(session)數。

list指定監聽器的別名,調度進程的信息將被註冊到這個監聽器。特別註意:這裏的“別名”並不是監聽器的名字,而是一個網絡服務名。Serv指定一個網絡服務名。

max_dispatchers用於設置調度進程的最大數值。

4)監聽器的配置(可選)

netmgr——圖形配置模式。或修改listener.ora文件。

5)關閉數據庫

shutdown immediate

6)用pfile生成spfile

create spfile from pfile='$ORACLE_HOME/dbs/initMYTEST.ora';

7)查看設置的參數是否生效

show parameter share

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

hi_shared_memory_address             integer     0

max_shared_servers                   integer     39

shared_memory_address                integer     0

shared_pool_reserved_size            big integer 5M

shared_pool_size                     big integer 0

shared_server_sessions               integer

shared_servers                       integer     3


8)        查看調度進程的配置參數

show parameter disp;


NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

cell_offload_plan_display            string      AUTO

dispatchers                          string      (protocol=TCP)(serv=MYTEST)(li

                                                 st=)(poo=on)(disp=5)(con=33)(s

                                                 ess=224)

max_dispatchers                      integer     19


9)        查看共享服務器進程的情況

select * from v$shared_server;

10)        查看調度進程的情況

select * from v$dispatcher;

格式顯示不規則的,最好使用第三方軟件。用SQL*Plus進行格式化,是非常麻煩的事情。


請求一個專有服務器模式

編輯客戶端的網絡配置文件tnsnames.ora增加紅色部分

……

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))


(SERVER=dedicate)
全站分類:知識學習 科學百科
自訂分類:不分類
上一則: 何謂FTP服務器
下一則: Using Per-Table Tablespaces

限會員,要發表迴響,請先登入