一般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方式還原到預設值,所以這種情況是需要重啟資料庫生效還原的。