环境 windows server 2003 EP
oracle 10g
专有服务器模式下processes值设的过小。可通过以下方法解决:
1.cmd
2.sqlplus
3.connect sys/test as sysdba
4.查看会话数、processes、sessions
SQL> select count(*) from v$session;
COUNT(*)
----------45
SQL> show parameter 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> show parameter 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=300 scope=spfile;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
6.重启数据库,使更改生效
其他解决方案:
一、listener文件中的GLOBAL_DBNAME ,SID_NAME可能与实例名称不符,修改后,重启listener.
二 共享模式下,缺少的dispatchers
参考文档:http://my.oschina.net/huhs/blog/14637
1.http://www.cnoracle.com/archives/474
2.http://www.cnblogs.com/freedom831215/archive/2010/05/12/1733859.html
3.http://blog.csdn.net/wudi_1982/archive/2007/06/08/1643610.aspx