一般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方式还原到默认值,所以这种情况是需要重启数据库生效还原的。