|
共享服务器配置包含以下组件:
• 用户进程(User Process) 用户进程可能由客户端软件产生,也可能通过中间组件产生,用于管理到Oracle服务器的连接;
• 网络监听进程(Oracle Net Listen Process) 监听进程用于监听来自用户进程的对数据库的查询或DML请求,并将这些请求分配给当前比较清闲的某个调度进程;
• 调度进程(Dispatcher Process) 调度进程是Oracle的后台进程,用于接受来自用户进程的请求并返回结果,最多只能有五个同时运行的调度进程,在Unix上可以用ps命令看到,用Unix kill命令杀掉一个调度进程时会同时断开这个进程负责的所有用户进程;
• 请求队列(Request Queue) 请求队列用于存放调度进程接受到的请求,存在于SGA中,一个实例只有一个;
• 共享服务器进程(Shared Server Process) 共享服务进程是Oracle的后台进程,用于与SGA交互来处理用户进程的请求,功能与专用服务器类似(用于解析SQL语句,将数据块从磁盘读入数据缓存,等等),服务器进程的最大数量由操作系统指定;
• 响应队列(Response Queue) 响应队列用于存放共享服务器进程处理的结果,存在于SGA中,每个调度进程对应一个,调度进程将这些结果返回请求的用户进程;
• 必须满足下面条件时才可配置成共享服务器:
Ø 众多的应用程序用户; 一般并发用户数在200以上时需要考虑,具体要看服务器的CPU和内存资源;
Ø 事务时间短;长事务会造成少数用户独占服务器进程,而使其它用户长时间地等待,不适于配置成共享服务器。
Ø 不连续的事务;用户活动间有时常的停顿,通常OLTP事务就是如此,这时服务器进程能为其它用户提供服务。
|