1

我是甲骨文的新手。我正在使用 Windows 10 64 位、Oracle XE 11g、Visual Studio 2010 和 vb.net。但为什么我收到错误:

在此处输入图像描述

当我关闭或休眠我的机器服务也在运行时,总是与监听器相关。

这是侦听器代码:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-4R5A2SG)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (SUIDO)

这是 tnsname.ora 代码:

SUIDO =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-4R5A2SG)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = SUIDO)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

ORACLR_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
      (SID = CLRExtProc) 
      (PRESENTATION = RO) 
    ) 
  ) 

谁能帮助我尽快解决这个问题。

4

2 回答 2

0

首先您报告 ora-12154 - tns 无法解析服务连接标识符。此错误意味着在 tnsnames.ora 中找不到您指定为连接目标的任何内容。假设您指定了“sqlplus scott/tiger@fubar”。然后在您的 tnsnames 中找不到对“fubar”的引用。故事结局。这意味着请求永远不会离开客户端进程,也永远不会靠近侦听器,因此侦听器无关紧要。我在https://edstevensdba.wordpress.com/2018/09/19/troubleshooting-ora-12154/有更详细的解释和演示

于 2016-02-07T12:50:41.930 回答
0

其次,您报告“SQLPLUS IBR/IBR@SUIDO”返回“ORA-12514:TNS:listener 目前不知道连接中请求的服务”。”这是一个截然不同的问题,答案也截然不同。我从您的 tnsnames 中看到文件“suido”解析为在服务器“DESKTOP-4R5A2SG”上运行的“SUIDO”服务名称,它预计有一个侦听器使用端口 1521,并且说侦听器知道服务“SUIDO”。错误“ORA- 12514'明确意味着侦听器不知道这样的服务。您可以通过执行“lsnrctl status”并观察侦听器知道的服务来证明这一点。我会说几乎 100% 确定侦听器不知道该服务,因为数据库没有启动。如果数据库已启动,它应该已经向侦听器注册了自己。

这里有关于这个错误的更详细的讨论。

于 2016-02-07T12:58:05.473 回答