一、listener文件中的GLOBAL_DBNAME,SID_NAME可能与实例名称不符,修改后,重启listener.
二、专有服务器模式下processes值设的过小。
1.cmd
2.sqlplus
3.connect sys/testas sysdba
4.查看会话数、processes、sessions
sql> selectcount(*) from v$session;
COUNT(*)
----------
45
sql> showparameter processes
NAME TYPE VALUE
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 50
sql> showparameter sessions
NAME TYPE VALUE
java_soft_sessionspace_limit integer 0l
icense_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
sessions integer 60
shared_server_sessions integer
5.修改processes和sessions值:sessions=(1.1*process+5)
sql> alter system set processes=300scope=spfile;
系统已更改。
sql> alter system set sessions=335scope=spfile;
系统已更改。
6.重启数据库,使更改生效
(不过我没有重启)
三、共享模式下
1.show parameters dispatchers;
show parametersdispatchers;
NAME TYPE VALUE
dispatchers string(protocol=tcp)(service=oracle10xdb)
max_dispatchersinteger
2.确定是否有足够的dispatchers
sql> selectname,(busy/(busy + idle)) "dispatcher busy rate" from v$dispatcher ;
NAME dispatcherbusy rate
------------------------
D000 .000121704
D001 .000042597
D002 .004935402
如果超过50%,则需要考虑增加更多的dispatchers;
3.改变dispathchers:
sql>alter systemset dispatchers = '(protocol=tcp)(dispatchers=3)(service=oracle10xdb)';
system altered
四、PGA内存设置太小
注:该方法没试过。
------------------------------------------------------------------------------------------------------------------------------------------------