当我尝试通过SQL Developer或我的java应用程序连接到oracle时,我得到以下错误,但我能够连接 从SQL PLUS(命令行工具)
Listener refused the connection with the following error :
ORA-12505, TNS:listener does not currently know
of SID given in connect descriptor
每当我重新启动系统时,我都会面临这个问题。虽然系统重启后10次中有1次,但我能够成功连接。
我可以看到所有的oracle服务,包括 OracleOraDb11g_home1TNSListener
都在服务部分。仅供参考
我的SID名称是 orcl
通过卢克回答ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
看起来在重启时oracle数据库早于 OracleOraDb11g_home1TNSListener
启动。所以它不能
向听众注册。
我认为解决方案应首先使监听器启动然后启动数据库。 如何配置重启后一段时间后启动数据库?
答案 0 :(得分:0)
每当我重新启动系统时,我都会面临这个问题。虽然系统重启后10次中有1次,但我能够成功连接。
可能的原因是系统重启后SERVICES
未启动。检查方式取决于operating system
。
例如,在Windows OS
中,您可以转到services.msc
,查看TNS服务是否已启动并正在运行。
要检查侦听器是否已启动,以及数据库是否已注册,请检查lsnrctl status
。另外,请记住,系统重启后的某个时间需要listener
。在对侦听器进行任何更改后,同样适用,您必须等待一段时间。