最近又重新安装了oracle10g ,又碰见这个错误,想起来好像每次安装10g都会遇到这样的问题,随手记下,方便下次查阅。
正常情况下,在sqlplus下一切正常,但是通过jar包驱动访问数据库报ora-12505错误。那么下面的解决方案往往有效:
找到listener.ora文件:我的oracle是安装在d盘,路径为:d:\oracle\product\10.2.0\db_1\network\admin\listener.ora
修改前的配置如下:# listener.ora network configuration file: d:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# generated by oracle configuration tools.
sid_list_listener =
(sid_list =
(sid_desc =
(sid_name = plsextproc)
(oracle_home = d:\oracle\product\10.2.0\db_1)
(program = extproc)
)
)
listener =
(description_list =
(description =
(address = (protocol = ipc)(key = extproc1))
(address = (protocol = tcp)(host = 127.0.0.1)(port = 1521))
)
)
修改后的配置如下:
# listener.ora network configuration file: d:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# generated by oracle configuration tools.
sid_list_listener =
(sid_list =
(sid_desc =
(sid_name = plsextproc)
(oracle_home = d:\oracle\product\10.2.0\db_1)
(program = extproc)
)
(sid_desc =
(global_dbname = orcl)
(oracle_home = d:\oracle\product\10.2.0\db_1)
(sid_name = orcl)
)
)
listener =
(description_list =
(description =
(address = (protocol = ipc)(key = extproc1))
(address = (protocol = tcp)(host = 127.0.0.1)(port = 1521))
)
)
红色部分为增加的内容,个人建议绿色部分写成localhost或者127.0.0.1,而不是计算机名称——默认是计算机名称。
重启监听器