一般Oracle數據庫安裝默認都是選擇專用服務器模式的連接方式,但實際上Oracle也支持共享服務器的連接模式,不過這種在實際生產中見到的很少,我個人只在一些醫院行業的客戶生產環境中見到過這類配置。
在OCM的上機考試中其實也有考察大家這個知識點,比如讓配置數據庫使其支持300個sessions,其中100個專有服務器模式連接:
shared_server_sessions=200;
dispatchers=3,max_dispatchers=10;
shared_servers=10,max_shared_servers=30;
1.數據庫默認配置情況
查看當前數據庫dispatch和shared_server相關參數的默認配置情況:SQL> show parameter dispatch
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
dispatchers string (PROTOCOL=TCP) (SERVICE=PROD1X
DB)
max_dispatchers integer
SQL> show parameter shared_server
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
max_shared_servers integer
shared_server_sessions integer
shared_servers integer 1
2.修改配置
按要求修改數據庫配置(均為動態參數,即時生效):SQL> alter system set dispatchers='(PROTOCOL=TCP)(DISPATCHERS=3)';
SQL> alter system set max_dispatchers = 10;
SQL> alter system set shared_servers = 10;
SQL> alter system set max_shared_servers = 30;
SQL> alter system set shared_server_sessions = 200;
查看修改后結果:
SQL> show parameter dispatch
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
dispatchers string (PROTOCOL=TCP)(DISPATCHERS=3)
max_dispatchers integer 10
SQL>
SQL> show parameter shared_server
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
max_shared_servers integer 30
shared_server_sessions integer 200
shared_servers integer 10
3.恢復默認值
--恢復默認值
show parameter dispatch
show parameter shared_server
alter system set dispatchers='(PROTOCOL=TCP)(SERVICE=PROD1XDB)';
alter system reset max_dispatchers;
alter system set shared_servers = 1;
alter system reset max_shared_servers;
alter system reset shared_server_sessions;
注意:雖然都是動態參數,但是因為有些參數是使用reset方式還原到默認值,所以這種情況是需要重啟數據庫生效還原的。