wind2

导航

 

专有服务器模式(dedicated server mode):专有服务器进程在服务器端与用户进程一一对应服务关系。适合以下的应用:

1.批处理,使服务器进程一直处于忙碌的状态。不会浪费系统资源。

2.使用recovery manager (RMAN)进行备份或者恢复。

共享服务器模式(shared server mode):共享服务器适合有大量并发用户的应用。包含

1.监听器。

2. 一个或多个调度进程(dispatcher processes)

3. 一个或多个共享服务器进程(shared server processes)

默认是dedicated模式

如果服务器是dedicated server,客户端只能创建dedicated server connection

如果是shared server,客户端可以创建dedicated和shared,只要在service name指定server=dedicated or server=shared.

1.手动配置数据库为共享模式,或通过DBCA

  1. 生成初始化参数文件(PFILE)

SQL>create PFILE=‘e:\oracle102\dbs\initwm.ora‘ fromsfpfile=‘e:\oracle102\dbs\spfilewm.ora‘

2. 修改初始化参数文件

shared_servers=3    启动时最小数量

max_shared_servers=39

dispatchers=“(protocol=TCP)(serv=wm)(list=wm)(poo=on)(disp=5)(con=33)(sess=224)“

max_dispatchers=19

3. 关闭数据库

SQL>shutdown immediate;

4. 根据初始化参数文件生成SPFILE

SQL>create SPFILE=“e:\oracle102\dbs\SPFILEwm.ora‘ from PFILE=‘e:\oracle102\dbs\initwm.ora‘

5. 重新启动数据库

 

2. 显示共享服务器进程的配置参数,如果max_shared_servers, shared_server_sessions的值大于0就是共享模式。

SQL> show parameter share

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

hi_shared_memory_address             integer     0

max_shared_servers                   integer

shared_memory_address                integer     0

shared_pool_reserved_size            big integer 16567500

shared_pool_size                     big integer 0

shared_server_sessions               integer

shared_servers                       integer     1

 

判断是否专用模式第二种方法

SQL>select username, server, program from v$session where username is not null;

USERNAME                       SERVER

------------------------------ ---------

PROGRAM

------------------------------------------------

SYSMAN                         DEDICATED

OMS

 

SYSMAN                         DEDICATED

OMS

 

判断是否专用模式第三种方法

[oracle@localhost dbs]$ lsnrctl service

      LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 06-MAY-2013 14:05:05

 Copyright (c) 1991, 2009, Oracle.  All rights reserved.

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))

Services Summary...

Service "orcl" has 1 instance(s).

  Instance "orcl", status READY, has 1 handler(s) for this service...

    Handler(s):

      "DEDICATED" established:5068 refused:0 state:ready

         LOCAL SERVER

Service "orclXDB" has 1 instance(s).

  Instance "orcl", status READY, has 1 handler(s) for this service...

    Handler(s):

      "D000" established:0 refused:0 current:0 max:1022 state:ready

         DISPATCHER <machine: localhost.localdomain, pid: 2878>

         (ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=34473))

The command completed successfully

 

判断请求是哪一种数据库连接类型

SQL>select server from v$session where SID=(select distinct sid from v$mystat);

SERVER

---------

DEDICATED

3. 显示调度进程的配置

SQL> show parameter disp

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

cell_offload_plan_display            string      AUTO

dispatchers                          string      (PROTOCOL=TCP) (SERVICE=orclXD

                                                 B)

max_dispatchers                      integer

4.  查看共享服务器进程

SQL> select * from v$shared_server;

NAME PADDR            STATUS             MESSAGES      BYTES     BREAKS

---- ---------------- ---------------- ---------- ---------- ----------

CIRCUIT                IDLE       BUSY     IN_NET    OUT_NET   REQUESTS

---------------- ---------- ---------- ---------- ---------- ----------

S000 0000000091489F90 WAIT(COMMON)              0          0          0

00                 34738755          4          0          0          0

5. 修改共享服务器进程的数量

SQL>alter system set shared_servers=8 scope=both;

6.  查看调度进程的情况

SQL> select * from v$dispatcher;

 NAME

----

NETWORK

--------------------------------------------------------------------------------

PADDR            STATUS           ACC   MESSAGES      BYTES     BREAKS

---------------- ---------------- --- ---------- ---------- ----------

     OWNED    CREATED       IDLE       BUSY   LISTENER  CONF_INDX

---------- ---------- ---------- ---------- ---------- ----------

D000

(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=34473))

0000000091488F50 WAIT             YES          0          0          0

         0          0   34746957         11          0          0

7.  修改调度进程的数量

SQL>alter system set dispatchers=“(protocol=tcp)(disp=6)“ scope=both;

8.  关闭调度进程

SQL>alter system shutdown immediate ‘D000‘;

 9. 数据库配置成共享服务器模式,请求一个专有服务器连接, 当执行数据库的关闭和启动时,

     必须以专有服务器方式连接

     修改客户端的tnsnames.ora

     增加一行server=dedicated

 

 

 

 

 

 

posted on 2013-05-09 14:32  wind2  阅读(147)  评论(0)    收藏  举报