oracle – TNS-12505:TNS:侦听器当前不知道连接描述符中给出的
发布时间:2020-12-12 14:29:23 所属栏目:百科 来源:网络整理
导读:我试图从NetBeans连接到Oracle 10.2.0,使用以下连接字符串: jdbc:oracle:thin:@localhost:1521:XE 最奇怪的部分是,一切工作正常,直到一个重新启动。我开始得到这个TNS-12505错误所有的时间;看看我的listener.log中的最终条目: TNSLSNR for 32-bit Windo
我试图从NetBeans连接到Oracle 10.2.0,使用以下连接字符串:
jdbc:oracle:thin:@localhost:1521:XE 最奇怪的部分是,一切工作正常,直到一个重新启动。我开始得到这个TNS-12505错误所有的时间;看看我的listener.log中的最终条目: TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production on 14-APR-2011 13:46:48 Copyright (c) 1991,2005,Oracle. All rights reserved. System parameter file is D:oraclexeapporacleproduct10.2.0servernetworkadminlistener.ora Log messages written to D:oraclexeapporacleproduct10.2.0servernetworkloglistener.log Trace information written to D:oraclexeapporacleproduct10.2.0servernetworktracelistener.trc Trace level is currently 0 Started with pid=3460 Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROC_FOR_XEipc))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Brodyaga-PC)(PORT=1521))) Listener completed notification to CRS on start TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE 14-APR-2011 13:48:54 * (CONNECT_DATA=(SID=XE)(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=Brodyaga))) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=58458)) * establish * XE * 12505 TNS-12505: TNS:listener does not currently know of SID given in connect descriptor 14-APR-2011 13:49:00 * (CONNECT_DATA=(SID=XE)(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=Brodyaga))) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=58481)) * establish * XE * 12505 TNS-12505: TNS:listener does not currently know of SID given in connect descriptor 14-APR-2011 13:49:02 * (CONNECT_DATA=(SID=XE)(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=Brodyaga))) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=58487)) * establish * XE * 12505 TNS-12505: TNS:listener does not currently know of SID given in connect descriptor 14-APR-2011 13:50:23 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Brodyaga))(COMMAND=services)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=169869568)) * services * 0 前三个条目是我尝试从NetBeans连接。第四,通过SQL * Plus连接,工作得很好。 这里是我的listener.ora的内容: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:oraclexeapporacleproduct10.2.0server) (PROGRAM = extproc) ) (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = D:oraclexeapporacleproduct10.2.0server) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) (ADDRESS = (PROTOCOL = TCP)(HOST = Brodyaga-PC)(PORT = 1521)) ) ) DEFAULT_SERVICE_LISTENER = (XE) 和tnsnames.ora: XE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = Brodyaga-PC)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) ) 并从> lsnrctl服务 C:UsersBrodyaga>lsnrctl services LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 14-APR-2011 13:59 :45 Copyright (c) 1991,Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE))) Services Summary... Service "CLRExtProc" has 1 instance(s). Instance "CLRExtProc",status UNKNOWN,has 1 handler(s) for this service... Handler(s): "DEDICATED" established:0 refused:0 LOCAL SERVER Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc",has 1 handler(s) for this service... Handler(s): "DEDICATED" established:0 refused:0 LOCAL SERVER The command completed successfully 两个Oracle服务都启动,SQL * Plus连接良好。 这个错误有一些解决方法吗? 您需要为XE添加SID条目,以便向侦听器注册实例。安装Oracle XE后,一切看起来不错,但是当你发布 C:&;sqlplus / as sysdba SQL>shutdown immediate SQL>startup TNS-12505: TNS:listener does not currently know of SID given in connect descriptor 该实例将不会向侦听器注册。 所以,请编辑您的listener.ora这样: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = XE) (ORACLE_HOME = C:oraclexeapporacleproduct10.2.0server) ) (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:oraclexeapporacleproduct10.2.0server) (PROGRAM = extproc) ) (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = D:oraclexeapporacleproduct10.2.0server) (PROGRAM = extproc) ) ) 当我在Windows 7上安装Oracle XE时,出现了此问题。在Windows XP上没有遇到此问题。一般来说,这个条目不应该是必需的,因为实例应该自动注册到监听器。在Linux(Fedora)上运行Oracle XE,无需将XE添加到sid列表。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |