关于MAX_SHARED_SERVERS没有默认值,如果该值为空,PMON进程会根据请求开启足够多的共享服务进程。但也要受到以下参数的限制: process 的限制空闲process槽的最小值(至少1/8的总进程槽数,或为2当process设置的值小于24时)系统资源SHARED_SERVERS_SESSIONS用于限制并发共享服务的用户会话最大数,该参数是动态变化的,其中还保留了用于专享服务的数据库会话。这确保管理任务如备份,还原和恢复数据库时不会占用共享服务的会话。
CIRCUITS 都没有默认值,该值取决于调度参数的值和系统资源。因此尽量对其作出限制。 alter system set circuits=<equal session>;
如何决定调度进程的多少: dispatchers=ceil(max_concurrent_sessions / connections for each dispatcher) connections for each dispatcher由系统决定,一个系统允许单个进程的最大连接数即为connections for each dispatcher的取值。
可以通过下列视图来验证和观察性能: select name, paddr, network, status, accept, messages, listener, conf_indx from v$dispatcher; select maximum_connections,maximum_sessions,servers_started from v$shared_server_monitor; select circuit,dispatcher,server,waiter,saddr,status,queue,messsages,bytes from v$circuit; v$dispatcher_config v$shared_server v$queue v$shared_pool_reserved v$dispatcher_rate v$sga v$sgastat
修改dispatchers参数可以通过以下方式: alter system set dispatchers=‘(index=0) (pro=tcp) (dispatchers=2) (multi=on) (poo=on)","(index=1) (pro=tcps) (dispatchers=2)"; 这里的index后的值表示调度进程的序列,可以在v$dispatcher_config中获得
关闭特定的dispatchers进程 alter system shutdown immediate ‘name of dispatchers’ 这个dispatchers的名称来自于v$dispatcher表的name字段。更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址