日常检查时发现一个DB(Linux 4U5,Oracle9207,dedicated模式)中有20个ORA_SNNN _SID进程,1个 ORA_DNNN_SID进程
eservicedbps -ef|grep ora_
oracle 5310 1 0 2008 ? 00:02:07 ora_pmon_eservice
oracle 5312 1 0 2008 ? 00:31:49 ora_dbw0_eservice
oracle 5314 1 0 2008 ? 00:05:14 ora_lgwr_eservice
oracle 5316 1 0 2008 ? 00:01:26 ora_ckpt_eservice
oracle 5318 1 0 2008 ? 00:01:27 ora_smon_eservice
oracle 5320 1 0 2008 ? 00:00:00 ora_reco_eservice
oracle 5322 1 0 2008 ? 00:00:00 ora_cjq0_eservice
oracle 5324 1 0 2008 ? 00:00:00 ora_s000_eservice
oracle 5326 1 0 2008 ? 00:00:00 ora_s001_eservice
oracle 5328 1 0 2008 ? 00:00:00 ora_s002_eservice
oracle 5330 1 0 2008 ? 00:00:00 ora_s003_eservice
oracle 5332 1 0 2008 ? 00:00:00 ora_s004_eservice
oracle 5334 1 0 2008 ? 00:00:00 ora_s005_eservice
oracle 5336 1 0 2008 ? 00:00:00 ora_s006_eservice
oracle 5338 1 0 2008 ? 00:00:00 ora_s007_eservice
oracle 5340 1 0 2008 ? 00:00:00 ora_s008_eservice
oracle 5342 1 0 2008 ? 00:00:00 ora_s009_eservice
oracle 5344 1 0 2008 ? 00:00:00 ora_s010_eservice
oracle 5346 1 0 2008 ? 00:00:00 ora_s011_eservice
oracle 5348 1 0 2008 ? 00:00:00 ora_s012_eservice
oracle 5350 1 0 2008 ? 00:00:00 ora_s013_eservice
oracle 5352 1 0 2008 ? 00:00:00 ora_s014_eservice
oracle 5354 1 0 2008 ? 00:00:00 ora_s015_eservice
oracle 5356 1 0 2008 ? 00:00:00 ora_s016_eservice
oracle 5358 1 0 2008 ? 00:00:00 ora_s017_eservice
oracle 5360 1 0 2008 ? 00:00:00 ora_s018_eservice
oracle 5362 1 0 2008 ? 00:00:00 ora_s019_eservice
oracle 5364 1 0 2008 ? 00:00:00 ora_d000_eservice
oracle 5366 1 0 2008 ? 00:00:02 ora_arc0_eservice
oracle 5368 1 0 2008 ? 00:00:38 ora_arc1_eservice
oracle 8719 7394 0 11:01 pts/0 00:00:00 grep ora_
lsnrctl service发现:
Service "eserviceXDB" has 1 instance(s).
Instance "eservice", status READY, has 1 handler(s) for this service...
Handler(s):
"D000" established:0 refused:0 current:0 max:1002 state:ready
DISPATCHER
(ADDRESS=(PROTOCOL=tcp)(HOST=eservicedb)(PORT=32768))
检查dispatcher相关参数
SQL> show parameter dis
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
disk_asynch_io boolean TRUE
dispatchers string (PROTOCOL=TCP) (SERVICE=eservi
ceXDB)
distributed_lock_timeout integer 60
max_dispatchers integer 5
mts_dispatchers string (PROTOCOL=TCP) (SERVICE=eservi
ceXDB)
mts_max_dispatchers integer 5
SQL> show parameter server
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fal_server string
max_shared_servers integer 40
mts_max_servers integer 40
mts_servers integer 20
parallel_max_servers integer 5
parallel_min_servers integer 0
parallel_server boolean FALSE
parallel_server_instances integer 1
rdbms_server_dn string
shared_server_sessions integer 550
shared_servers integer 20
查看其它机器,大多是专用模式,默认将shared_servers设为1
SQL> alter system set shared_servers=1;
System altered.
SQL> show parameter shared_servers
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
max_shared_servers integer 40
shared_servers integer 1
eservicedbps -ef|grep ora_
oracle 5310 1 0 2008 ? 00:02:07 ora_pmon_eservice
oracle 5312 1 0 2008 ? 00:31:54 ora_dbw0_eservice
oracle 5314 1 0 2008 ? 00:05:14 ora_lgwr_eservice
oracle 5316 1 0 2008 ? 00:01:26 ora_ckpt_eservice
oracle 5318 1 0 2008 ? 00:01:27 ora_smon_eservice
oracle 5320 1 0 2008 ? 00:00:00 ora_reco_eservice
oracle 5322 1 0 2008 ? 00:00:00 ora_cjq0_eservice
oracle 5324 1 0 2008 ? 00:00:00 ora_s000_eservice
oracle 5364 1 0 2008 ? 00:00:00 ora_d000_eservice
oracle 5366 1 0 2008 ? 00:00:02 ora_arc0_eservice
oracle 5368 1 0 2008 ? 00:00:38 ora_arc1_eservice
oracle 9785 7394 0 13:32 pts/0 00:00:00 grep ora_
关于Snnn和Dnnn进程的概念:
Shared Server Processes (Snnn)
Each shared server process serves multiple client requests in the shared server configuration. Shared server processes and dedicated server processes provide the same functionality, except shared server processes are not associated with a specific user process. Instead, a shared server process serves any client request in the shared server configuration.
The PGA of a shared server process does not contain user-related data (which needs to be accessible to all shared server processes). The PGA of a shared server process contains only stack space and process-specific variables.
All session-related information is contained in the SGA. Each shared server process needs to be able to access all sessions' data spaces so that any server can handle requests from any session. Space is allocated in the SGA for each session's data space. You can limit the amount of space that a session can allocate by setting the resource limit PRIVATE_SGA to the desired amount of space in the user's profile.
Oracle dynamically adjusts the number of shared server processes based on the length of the request queue. The number of shared server processes that can be created ranges between the values of the initialization parameters SHARED_SERVERS and MAX_SHARED_SERVERS.
http://download-west.oracle.com/ ... 4/c09procs.htm#7128
Dispatcher Processes (Dnnn)
The dispatcher processes support shared server configuration by allowing user processes to share a limited number of server processes. With the shared server, fewer shared server processes are required for the same number of users, Therefore, the shared server can support a greater number of users, particularly in client/server environments where the client application and server operate on different machines.
You can create multiple dispatcher processes for a single database instance. At least one dispatcher must be created for each network protocol used with Oracle. The database administrator starts an optimal number of dispatcher processes depending on the operating system limitation on the number of connections for each process, and can add and remove dispatcher processes while the instance runs.
Note: Each user process that connects to a dispatcher must do so through Oracle Net Services or SQL*Net version 2, even if both processes are running on the same machine.
In a shared server configuration, a network listener process waits for connection requests from client applications and routes each to a dispatcher process. If it cannot connect a client application to a dispatcher, the listener process starts a dedicated server process, and connects the client application to the dedicated server. The listener process is not part of an Oracle instance; rather, it is part of the networking processes that work with Oracle.
http://download-west.oracle.com/ ... /c09procs.htm#19358
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10640532/viewspace-566946/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10640532/viewspace-566946/