问题提示
错误提示:error:ora-12514: tns:listener could not resolve service_name given in connect
解决方法:
代码如下
1. 打开/network/admin/listener.ora文件,找到:
sid_list_listener =
(sid_list =
(sid_desc =
(sid_name = plsextproc)
(oracle_home = d:oracleproduct10.1.0db_1)
(program = extproc)
)
)
2. 添加:
代码如下
(sid_desc =
(global_dbname = oracle)
(oracle_home = d:oracleproduct10.1.0db_1)
(sid_name = oracle)
)
3. 最后变成:
代码如下
sid_list_listener =
(sid_list =
(sid_desc =
(sid_name = plsextproc)
(oracle_home = d:oracleproduct10.1.0db_1)
(program = extproc)
)
(sid_desc =
(global_dbname = oracle)
(oracle_home = d:oracleproduct10.1.0db_1)
(sid_name = oracle)
)
)
4. 保存文件,重启服务中的tnslistener,ok!
注意,一定要重启tnslistener,
方法:命令模式
代码如下
c:>lsnrctl
lsnrctl>stop
lsnrctl>start
搞定,好使了.
另一种出一这种问题的情况是:ora-12514:tns:无监听程序
解决办法:tnslistener服务没有启动,把服务启动就可以了。
通常的名字:oracleoradb10g_home1tnslistener:
该服务对应 %oracle_hoembintnslsnr.exe
ora-12514:tns:监听程序当前无法识别链接描述符中请求的服务。
对于这个错误,,网上的做法通常是这样的:
打开:%oracle_hoem%/network/admin/listener.ora文件
在
代码如下
sid_list_listener =
(sid_list =
(sid_desc =
(sid_name = plsextproc)
(oracle_home = d:oracleoracle10g)
(program = extproc)
)
后面添加:
代码如下
(sid_desc =
(global_dbname = oracle)
(oracle_home = d:oracleoracle10g)
(sid_name = oracle)
)
最后变成:
代码如下
sid_list_listener =
(sid_list =
(sid_desc =
(sid_name = plsextproc)
(oracle_home = d:oracleoracle10g)
(program = extproc)
) (sid_desc =
(global_dbname = oracle)
(oracle_home = d:oracleoracle10g)
(sid_name = oracle)
)
)
不过我觉得不用这么费力。首先关闭监听器服务,然后关闭数据库服务,启动数据库服务,启动监听器服务。就是这么简单。
