1.参考文献:
http://blog.csdn.net/wyzxg/article/details/4073892
http://blog.csdn.net/liaomin416100569/article/details/6363274
http://blog.csdn.net/wyzxg/article/details/4073833
2.问题描述
原来为了远程访问Oracle数据库,将数据库访问模式用原有的专有模式设置成了共享模式,具体参考:远程连接ORACLE服务的设置方法。
但是因为这个修改,导致了今天碰到的这个新错误:ORA-12520: TNS: 监听程序无法找到需要的服务器类型的可用句柄。这个是始料未及的,下面给出解决办法。
3.解决方法
在oracle安装目录下搜索tnsnames.ora,将其中的共享模式:SHARED
MES149 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = zhangweiLab)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = mes149)
)
)
修改为专有模式: DEDICATED
MES149 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = zhangweiLab)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = mes149)
)
)
4.总结
后来发现即使将数据库访问模式改回原来的专有模式,数据库依然能够远程访问。看来是否远程访问与oracle数据的访问模式:专有模式与共享模式没什么关系,不知道对不对。