您的位置:首页 > 产品设计 > UI/UE

ORA-12514: TNS:listener does not currently know of service requested in connect ……

2015-06-05 13:45 344 查看


出现这种问题的情况一般是两种:

1.看看是不是监听服务没有起来

2.检查有没有修改IP地址,计算机名称

除此之外在网上查资料的时候还有一种:http://blog.csdn.net/icqsky/archive/2009/07/01/4313791.aspx

如下:这个错误是因为Listener出了问题,请检查一下你的listener.ora文件,看下是否存在如下配置:

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)

(PROGRAM = extproc)

)

)

如果说是这样,那么请将一段改成

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)

(PROGRAM = extproc)

) (SID_DESC =

(GLOBAL_DBNAME = ORCL)

(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)

(SID_NAME = ORCL)

)

)

这样以后,关掉Service和LISTENER。再启动Service和LISTENER,这样应该就可以了,注意顺序。

查了一下,网上是说,加上了面一段东西,意思是把LISTENER服务主动注册到进程监视器(pmon)中去。所以,但你启动了Serivce后,启动LISTENER的时候,会主动去注册到进程监视器(pmon)中去。所以不会有什么问题。但是反过却不行。

如果说没有添加那一段,情况正好相反,是由实例的pmon进程在LISTENER中注册服务,LISTENER为被动注册。所以需要先起LISTENER才可以。

总结一下,如果说你不加那段东西,那么就应该先起LISTENER,如果说你加了那段东西,就应该先起Serivce。

我试了一下,的确是这样。不过在windows上,有时候会报错,重启一下再试就可以了

---------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------

第三种情况我试了,没能解决情况,我出问题的原因是第二种情况,由于从客户那回到公司(客户那里用的是代理上网)ip地址变了,所以我是这样改的:

找到oracle安装目录,一般都是这样的 home\oracle\product\10.1.0\Db_1\NETWORK\ADMIN下的

tnsnames.ora文件

打开后添加"你的IP":

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = "你的IP")(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = "你要连接的数据库名")

)

)

添加完后我的这个问题就解决完了,网上关于这个问题的解决方法貌似很多,依个人情况而定,写的不全,有没提到的希望多多补充

参考:

登录数据库:

1.直接敲sqlplus并回车就是启动SQL*PLUS,输入user及password将使用户登陆到缺省的数据库。

请输入用户名:

2.sqlplus user/password@SERVICE_NAME 将连接到指定的数据库。

SQL> connect sys/oracle@192.168.1.204/icpdb

已连接。

SQL>

3.敲sqlplus /nolog就是使SQL*PLUS启动,但不登陆Oracle数据库。然后需要使用connect命令连接Oracle。

SQL>conn u/p[@ip:port/jiagulun]|[service_name]

----

sqlplus hr/hr ------>直接连,不走监听,直接在本地连

sqlplus / as sysdba ------>直接连,不走监听,直接在本地连

sqlplus hr/hr@jiagulun ------>走本地tnsname.ora,走监听

sqlplus hr/hr@ip:port/jiagulun ------>走监听,不走tnsname.ora
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: