Oracle共享服务器的连接模式

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

This entry was posted in Oracle日常运维 and tagged , . Bookmark the permalink.