Oracle Shared Server 配置

1、独占服务器(dedicatedserver)

每一个session单独分配一个serverprocess,直到用户断开连接,才释放该进程所占用的资源。而大多数时候session都是idle的,所以存在占用资源的情况。

在有些情况下,必须使用独占服务器模式:(本地连接)

SQL> select username,SERVER,PROGRAM,OSUSER,MACHINEfrom v$session where username is not null;
 
USERNAME                      SERVER    PROGRAM                                        OSUSER                        MACHINE
------------------------------ --------------------------------------------------------- ------------------------------------------------------------
SYS                            DEDICATEDsqlplus@ora11g (TNS V1-V3)                      Oracle                        ora11g

2、shared server特点

共享服务器响应用户请求的步骤如下:

1) 客户传送一个请求到调度程序。

2) 调度程序将请求放在SGA中的请求队列中(share pool 或 large pool)。

3) 其中的一个共享服务器进程响应并处理这个请求。

4) 共享服务器进程把处理完的请求回复放到SGA中的响应队列中。

5) 调度器从响应队列中取出已经完成的请求。

6) 调度器把完成的请求回复给客户

关于SGA的请求和相应队列以及Dispatcher,具有如下的一些特点:

1)在SGA中只有一个请求队列。

2)共享服务器监控请求队列的使用情况。

3)请求队列遵循先进先出(FIFO)的原则。

4)共享服务器将已经完成的请求放在提交该请求的dispatcher所对应的response队列中。

5)每一个dispatcher在SGA中都由一个对应的response队列。

6)Dispatcher需要负责将完成的请求回复给相应的用户进程。

7)在同一个session中,用户进程始终连接的是同一个Dspatcher。

3、配置shared server

1)、配置dispatchs

SQL> alter system setdispatchers="(PROTOCOL=tcp)(DISPATCHERS=5)";
 
System altered.
 
SQL> show parameters dispa
 
NAME                                TYPE        VALUE
----------------------------------------------- ------------------------------
dispatchers                        string      (PROTOCOL=tcp)(DISPATCHERS=5)
max_dispatchers                      integer
 
oracle  21441    1  0 15:22 ?        00:00:00 ora_pmon_prod
oracle  21443    1  0 15:22 ?        00:00:00 ora_psp0_prod
oracle  21445    1  1 15:22 ?        00:00:14 ora_vktm_prod
oracle  21449    1  0 15:22 ?        00:00:00 ora_gen0_prod
oracle  21451    1  0 15:22 ?        00:00:00 ora_diag_prod
oracle  21453    1  0 15:22 ?        00:00:00 ora_dbrm_prod
oracle  21455    1  0 15:22 ?        00:00:00 ora_dia0_prod
oracle  21457    1  0 15:22 ?        00:00:00 ora_mman_prod
oracle  21459    1  0 15:22 ?        00:00:00 ora_dbw0_prod
oracle  21461    1  0 15:22 ?        00:00:00 ora_dbw1_prod
oracle  21463    1  0 15:22 ?        00:00:00 ora_lgwr_prod
oracle  21465    1  0 15:22 ?        00:00:00 ora_ckpt_prod
oracle  21467    1  0 15:22 ?        00:00:00 ora_smon_prod
oracle  21469    1  0 15:22 ?        00:00:00 ora_reco_prod
oracle  21471    1  0 15:22 ?        00:00:01 ora_mmon_prod
oracle  21473    1  0 15:22 ?        00:00:00 ora_mmnl_prod
oracle  21475    1  0 15:22 ?        00:00:00 ora_d000_prod
oracle  21477    1  0 15:22 ?        00:00:00 ora_s000_prod
oracle  21485    1  0 15:23 ?        00:00:00 ora_qmnc_prod
oracle  21514    1  0 15:23 ?        00:00:00 ora_q000_prod
oracle  21516    1  0 15:23 ?        00:00:00 ora_q001_prod
oracle  21862    1  0 15:33 ?        00:00:00 ora_smco_prod
oracle  21881    1  0 15:33 ?        00:00:00 ora_w000_prod
oracle  21972    1  0 15:35 ?        00:00:00 ora_d001_prod  --调度进程启用
oracle  21974    1  0 15:35 ?        00:00:00 ora_d002_prod
oracle  21976    1  0 15:35 ?        00:00:00 ora_d003_prod
oracle  21978    1  0 15:35 ?        00:00:00 ora_d004_prod
 
2)、配置sharedserver
SQL> alter system set shared_servers=10;
 
System altered.
 
oracle  21441    1  0 15:22 ?        00:00:00 ora_pmon_prod
oracle  21443    1  0 15:22 ?        00:00:00 ora_psp0_prod
oracle  21445    1  1 15:22 ?        00:00:16 ora_vktm_prod
oracle  21449    1  0 15:22 ?        00:00:00 ora_gen0_prod
oracle  21451    1  0 15:22 ?        00:00:00 ora_diag_prod
oracle  21453    1  0 15:22 ?        00:00:00 ora_dbrm_prod
oracle  21455    1  0 15:22 ?        00:00:00 ora_dia0_prod
oracle  21457    1  0 15:22 ?        00:00:00 ora_mman_prod
oracle  21459    1  0 15:22 ?        00:00:00 ora_dbw0_prod
oracle  21461    1  0 15:22 ?        00:00:00 ora_dbw1_prod
oracle  21463    1  0 15:22 ?        00:00:00 ora_lgwr_prod
oracle  21465    1  0 15:22 ?        00:00:00 ora_ckpt_prod
oracle  21467    1  0 15:22 ?        00:00:00 ora_smon_prod
oracle  21469    1  0 15:22 ?        00:00:00 ora_reco_prod
oracle  21471    1  0 15:22 ?        00:00:01 ora_mmon_prod
oracle  21473    1  0 15:22 ?        00:00:00 ora_mmnl_prod
oracle  21475    1  0 15:22 ?        00:00:00 ora_d000_prod
oracle  21477    1  0 15:22 ?        00:00:00 ora_s000_prod
oracle  21485    1  0 15:23 ?        00:00:00 ora_qmnc_prod
oracle  21514    1  0 15:23 ?        00:00:00 ora_q000_prod
oracle  21516    1  0 15:23 ?        00:00:00 ora_q001_prod
oracle  21862    1  0 15:33 ?        00:00:00 ora_smco_prod
oracle  21881    1  0 15:33 ?        00:00:00 ora_w000_prod
oracle  21972    1  0 15:35 ?        00:00:00 ora_d001_prod
oracle  21974    1  0 15:35 ?        00:00:00 ora_d002_prod
oracle  21976    1  0 15:35 ?        00:00:00 ora_d003_prod
oracle  21978    1  0 15:35 ?        00:00:00 ora_d004_prod
oracle  22098    1  0 15:38 ?        00:00:00 ora_s001_prod
oracle  22100    1  0 15:38 ?        00:00:00 ora_s002_prod
oracle  22102    1  0 15:38 ?        00:00:00 ora_s003_prod
oracle  22104    1  0 15:38 ?        00:00:00 ora_s004_prod
oracle  22106    1  0 15:38 ?        00:00:00 ora_s005_prod
oracle  22108    1  0 15:38 ?        00:00:00 ora_s006_prod  --server进程启动
oracle  22110    1  0 15:38 ?        00:00:00 ora_s007_prod
oracle  22112    1  015:38 ?        00:00:00 ora_s008_prod
oracle  22114    1  0 15:38 ?        00:00:00 ora_s009_prod

3)客户端配置

在Oracle server 启动listener

客户端配置tnsnames.ora

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ecc236a3539b2e26c9b720319f615dae.html