设为首页 收藏本站
查看: 632|回复: 0

[经验分享] oracle shared server配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-5 09:14:38 | 显示全部楼层 |阅读模式
   1、独占服务器(dedicatedserver)
   每一个session单独分配一个serverprocess,直到用户断开连接,才释放该进程所占用的资源。而大多数时候session都是idle的,所以存在占用资源的情况。
在有些情况下,必须使用独占服务器模式:(本地连接)
1
2
3
4
5
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
  
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST=ora11g)(PORT = 1521))
(CONNECT_DATA =
   (SEVER = SHARED)
   (SERVICE_NAME = prod)
  )
)
  
[oracle@ora11g admin]$ tnsping test
  
TNS Ping Utility for Linux: Version11.2.0.4.0 - Production on 04-NOV-2015 15:42:39
  
Copyright (c) 1997, 2013, Oracle.  All rights reserved.
  
Used parameter files:
  
  
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST=ora11g)(PORT = 1521)) (CONNECT_DATA = (SEVER =SHARED) (SERVICE_NAME = prod)))
OK (10 msec)



测试:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[oracle@ora11g admin]$ sqlplus system/oracle@test
  
SQL*Plus: Release 11.2.0.4.0 Production onWed Nov 4 15:42:49 2015
  
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
  
  
Connected to:
Oracle Database 11g Enterprise EditionRelease 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Miningand Real Application Testing options
  
SQL>
  
SQL> select username,sid,server fromv$session where username is not null;
  
USERNAME                              SID SERVER
------------------------------ -------------------
SYS                                     9 DEDICATED
SYSTEM                                 12 NONE
  
  
  
SQL> selectusername,SERVER,PROGRAM,OSUSER,MACHINE from v$session where username is notnull;
  
USERNAME                       SERVER    PROGRAM                                          OSUSER                         MACHINE
------------------------------ --------------------------------------------------------- ------------------------------------------------------------
SYS                            DEDICATEDsqlplus@ora11g (TNS V1-V3)                      oracle                        ora11g
SYSTEM                         NONE      sqlplus@ora11g (TNS V1-V3)                       oracle                         ora11g



4、监控共享server
1
2
3
4
5
6
7
8
9
10
SQL> col network for a50
SQL> select name ,NETWORK,PADDR,STATUS,ACCEPT ,idle,busy from v$dispatcher;
  
NAME NETWORK                                           PADDR            STATUS           ACC       IDLE       BUSY
------------------------------------------------------ ---------------- ------------------- ---------- ----------
D000(ADDRESS=(PROTOCOL=tcp)(HOST=ora11g)(PORT=33225))  00000000720BA7A0 WAIT             YES     132806         0
D001(ADDRESS=(PROTOCOL=tcp)(HOST=ora11g)(PORT=49380))  00000000720C2D60 WAIT             YES      56575          0
D002(ADDRESS=(PROTOCOL=tcp)(HOST=ora11g)(PORT=21687))  00000000720C3E18 WAIT             YES      56572         0
D003(ADDRESS=(PROTOCOL=tcp)(HOST=ora11g)(PORT=53218))  00000000720C4ED0 WAIT             YES      56569         0
D004 (ADDRESS=(PROTOCOL=tcp)(HOST=ora11g)(PORT=51052))  00000000720C5F88 WAIT             YES      56563          2




1)在sga 中配置large pool
---监控dispatch的使用情况,如果使用率超过50%,需要增加dispatch
1
2
3
4
5
6
7
8
9
SQL> selectname,(busy/(busy+idle))*100  "busyrate"  from  v$dispatcher;
  
NAME busy rate
---- ----------
D000          0
D001          0
D002          0
D003          0
D004 .003085705



关注客户请求在请求队列中等待了多长时间,请求队列中等待的时间越长,则说明客户等待的时间也越长。

1
2
3
4
5
6
7
8
9
SQL> select decode(totalq,0,'Norequests') "wait time",
2   wait/totalq||'hundredths ofseconds' "Average wait time per request"
3   from v$queue
4   where type='COMMON';
  
wait time  Average wait time per request
------------------------------------------------------------------------
           0hundredths of seconds
           0hundredths of seconds





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-135242-1-1.html 上篇帖子: Oracle GoldenGate 异构平台同步(Mysql到Oracle) 下篇帖子: OGG-00446 ORA-26497 oracle server shared
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表