3

我正在使用 Oracle 10g R2。最近,重新启动服务器后,我开始遇到无法连接到实例的问题。我只在服务器本身本地连接。

奇怪的是,如果我启动数据库管理助手并选择我的实例以更改其设置,问题就会自行纠正。

有人知道这个问题的根源吗?

@akaDruid:我只是通过尝试在服务器上启动 SQLPlus 来测试我的连接。

@Matthew:这是 Windows

4

4 回答 4

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 获得的输出等。

希望有帮助,或者至少让你走上正确的道路

于 2008-10-27T14:10:57.360 回答
0

您还没有指定这是 windows 还是 unix?

当 ORACLE_HOME 在启动 oracle 的帐户上的定义略有不同时,我在 unix 上看到过类似的问题,并且在连接帐户时,一个帐户具有 ORACLE_HOME=/usr/oracle ,另一个具有 ORACLE_HOME=/usr/oracle/ ,尾随斜线把事情搞砸了。

你究竟是如何启动服务器的,你有一个脚本来做,或者你是在内部连接并发出“启动”

再说一次,如果这是 Windows,我不知道 :)

于 2008-10-28T00:24:48.807 回答
0

我有同样的错误。转到http://localhost:1158/em显示侦听器已启动,但数据库实例已关闭。

单击实例旁边的“启动”按钮使其重新联机(我认为)

于 2011-05-27T15:32:50.607 回答
0

另一种可能的解释:

http://www.orafaq.com/forum/t/66224/2/

于 2011-05-31T09:23:48.110 回答