作为初学者,要想取得进步,成为高手,首先应该了解自己的不足之处.
全部博文(117)
分类: Oracle
2011-05-25 19:36:45
专有服务器模式:用户进程和专有服务器进程是两种不同类型的进程。当客户端发出连接数据库请求的时候,监听器把客户端(用户进程)连接到专有服务器进程。是一一对应的关系。
适用于批处理和RMAN备份恢复。
共享服务器模式:调度进程接接受多个客户端的连接请求,并把这些请求放到一个公共队列中。空闲的服务器进程从这个公共队列中抓出这些请求,然后完成请求的任务,任务完成后,把结果放到响应队列中,调度进程再从响应队列中把完成的结果返回给用户进程(客户端)。
手动配置共享服务器模式环境
OS:CentOS 5.4
DB:Oracle 11g R2
需求:将数据库配置成共享服务器模式
1)用spfile生成pfile文件
create pfile='$ORACLE_HOME/dbs/initMYTEST.ora' from spfile;
2)修改pfile文件
vim $ORACLE_HOME/dbs/initMYTEST.ora
3)加入(或修改)如下内容
shared_servers=3
max_shared_servers=39
dispatchers="(protocol=TCP)(serv=LISTENER)(list=LISTENER)(poo=on)(disp=5)(con=33)(sess=224)"
max_dispatchers=19
参数说明:
shared_servers指定Oracle启动时,启动的共享服务器进程的最小数量。对于很繁忙的系统,这个值设高一些,对于空闲的系统,这个值设低一些。对于一般的系统,这个值是连接数的十分之一。
max_shared_servers这个值设置共享服务器进程的最大数量
dispatchers用于设置调度进程。其中protocol用于设置调度进程支持的协议;poo用于设置是否启动共享池(on启动)disp用于设置调度进程的数量;con用于设置每个调度进程的最大网络连接数;sess用户设置每个调度进程的最大会话(session)数。
list指定监听器的别名,调度进程的信息将被注册到这个监听器。特别注意:这里的“别名”并不是监听器的名字,而是一个网络服务名。Serv指定一个网络服务名。
max_dispatchers用于设置调度进程的最大数值。
4)监听器的配置(可选)
netmgr——图形配置模式。或修改listener.ora文件。
5)关闭数据库
shutdown immediate
6)用pfile生成spfile
create spfile from pfile='$ORACLE_HOME/dbs/initMYTEST.ora';
7)查看设置的参数是否生效
show parameter share
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address integer 0
max_shared_servers integer 39
shared_memory_address integer 0
shared_pool_reserved_size big integer 5M
shared_pool_size big integer 0
shared_server_sessions integer
shared_servers integer 3
8) 查看调度进程的配置参数
show parameter disp;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cell_offload_plan_display string AUTO
dispatchers string (protocol=TCP)(serv=MYTEST)(li
st=)(poo=on)(disp=5)(con=33)(s
ess=224)
max_dispatchers integer 19
9) 查看共享服务器进程的情况
select * from v$shared_server;
10) 查看调度进程的情况
select * from v$dispatcher;
格式显示不规则的,最好使用第三方软件。用SQL*Plus进行格式化,是非常麻烦的事情。
请求一个专有服务器模式
编辑客户端的网络配置文件tnsnames.ora增加红色部分
……
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))
(SERVER=dedicate)