author:skate
time :2009/03/10
ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程
今天测试的同事发现报 ora-12516的错误,基于这个分析,一般有两个原因,一个是session数不够
再有一个就是客户端和服务端建立连接的时候不稳定所引起的,我现在的服务端是oracle10g r2,而
客户端是oracle11i,结果当连接数大的时候,就会报ora-12516的错误
解决方法:1.针对第一个原因就是修改连接数的限制
sql > alter system set processes=300 #### 改的大点
然后reboot数据库,使其生效
2.针对第二个原因,我的个人解决方法是,把tns的动态注册改为静态注册(我目前遇到的错误是这么解决的)
把global_name和sid_name 都写到linster。ora文件中
备注说明:
一、什么是注册?
注册就是将数据库作为一个服务注册到监听程序。客户端不需要知道数据库名和实例名,只需要知道该数据库对外
提供的服务名就可以申请连接到数据库。这个服务名可能与实例名一样,也有可能不一样。
在数据库服务器启动过程中,数据库服务器会向监听程序注册相应的服务&#x