Usage and Configuration of the Oracle Shared Server Oracle共享服务器的使用和配置
目标:
- 确定Oracle共享服务器的组件
- 描述Oracle共享服务器架构
- 配置Oracle共享服务器
- 识别并解释相关数据字典视图的有用性


如前所述,Oracle通常会在我登录时为我创建一个新进程。这通常被称为专用服务器配置,因为在我的会话的生命周期中,一个服务器进程将专用于我。对于每个会话,将在一一映射中出现一个新的专用服务器。这个专用服务器进程 (根据定义) 不是实例的一部分。我的客户端进程 (任何试图连接到数据库的程序)将通过一些网络管道 (如TCP/IP套接字) 与这个专用服务器直接通信。 这个服务器进程将接收我的SQL并为我执行它。必要时,它会读取数据文件,并在数据库的缓存中查找我的数据。它将执行我的更新语句。它将运行我的PL/SQL代码。它的唯一目标是响应我提交给它的SOL调用。





DISPATCHERS = "(PROTOCOL=TCP)(DTSPATCHERS=2)\(PROTOCOL=IPC)(DISPATCHERS=1)"

SHARED_SERVERS = 6

MAX_SHARED_SERVERS = 10

CIRCUITS = 100
SHARED_SERVER_SESSIONS = 100
sales=
(DESCRIPTION=
(ADDRESS=(PROTCOL=tcp)(HOST=sales-server)(PORT=1521))
(CONNECT DATA=
(SERVICE NAME=orcl)
(SERVER=shared)))
如果调度程序不可用,则拒绝客户端连接请求。
如果数据库配置为共享服务器,而某个特定的客户端需要专用服务器,则可以通过以下方式之一配置客户端使用专用服务器:
您可以使用CONNECT_DATA部分中包含 (server=专用)的连接描述符来配置网络服务名。举个例子:
sales=
(DESCRIPTION=
(ADDRESS=(PROTCOL=tcp)(HOST=sales-server)(PORT=1521))
(CONNECT DATA=
(SERVICE NAME=orcl)
(SERVER=dedicated)))
首先以dba用户登录数据库
sqlplus / as sysdba
然后启动数据库
startup

查看相关参数
show parameter disp;

show parameter share;

修改相关参数
alter system set dispatchers='(protocol=tcp)(dispatchers=3)';

进行查看
show parameter disp;

我们没有设置最大的上限,目前设置的可以有3个dispatchers,我们在查看一下进程
ps -ef | grep oracle

可以看到d001和d002,上边有个d000是之前存在的
现在我们修改SHARED_SERVERS
alter system set SHARED_SERVERS=4;

再次查看进程
ps -ef | grep oracle

可以看到s001、s002和s003,上边有个s000是之前存在的
当实例启动时,验证调度程序是否已向侦听器注册:
lsnrctl services
通过建立一个连接来验证是否使用共享服务器进行了连接,然后查询V$CIRCUIT视图以显示每个共享服务器连接的一个条目。
完结