我正在使用Oracle 10g R2。 最近,重新启动服务器后,我开始遇到无法连接到实例的问题。我只在本地连接服务器本身。
奇怪的是,如果我启动数据库管理助手,并选择我的实例来改变其设置,则问题会自行解决。
有没有人知道这个问题的根源?
@akaDruid:我只是试图在服务器上启动SQLPlus来测试我的连接。
@Matthew:这是Windows
答案 0 :(得分:3)
编辑:我认为我没有正确地阅读你的问题:监听器不应该影响本地机器上的连接,所以你可以忽略其余的答案,除非它给你一个提示!你是如何测试你的连接的? ORA-12514是唯一的错误吗?
(我假设你在Windows这里) 我想当你重新启动服务器时,监听器没有自动启动,并且它已经开始在oracle管理助手中启动了 - 不幸的是我没有使用该工具,所以不能说。
下次重新启动时,在启动oracle管理助手之前,请打开命令提示符并键入lsnrctl status。如果听众还没有开始,你会得到这样的东西:
C:\Documents and Settings\user>lsnrctl status
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 27-OCT-2008 14:00:21
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC01)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
32-bit Windows Error: 2: No such file or directory
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=server.domain.co.uk)
(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
32-bit Windows Error: 61: Unknown error
C:\Documents and Settings\user>lsnrctl status
如果它正在运行,你会得到这样的东西:
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 27-OCT-2008 14:03
:33
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC01)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
Start Date 27-OCT-2008 14:03:27
Uptime 0 days 0 hr. 0 min. 5 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
Listener Log File C:\oracle\product\10.2.0\db_1\network\log\listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC01ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=server.domain.co.uk)(PORT=1521))
)
Services Summary...
Service "ORCL" has 1 instance(s).
Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
Service "ORCL1" has 1 instance(s).
Instance "ORCL1", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
C:\Documents and Settings\user>
如果侦听器未启动,请检查该服务是否设置为自动。如果是,检查listener.ora是否有意义,看看你从lsnrctl start获得的输出等等。
希望有所帮助,或者至少让你走上正确的道路
答案 1 :(得分:0)
您尚未指定这是windows还是unix?
我在unix上看到类似的问题,当ORACLE_HOME在启动oracle的帐户上的定义略有不同时,在连接帐户时,一个帐户有ORACLE_HOME = / usr / oracle,另一个帐户有ORACLE_HOME = / usr / oracle /尾随的斜线搞砸了。
你究竟是如何盯着服务器,你有一个脚本来做这件事,还是你在内部连接并发出“启动”
再次,如果这是Windows,我不知道:)答案 2 :(得分:0)
我有同样的错误。转到http://localhost:1158/em显示监听器已启动,但数据库实例已关闭。
单击实例旁边的“启动”按钮,使其重新联机(我认为)
答案 3 :(得分:0)
另一种可能的解释: