ORA-12505: 侦听器拒绝连接并出现以下错误 -- SQL Developer

Posted

技术标签:

【中文标题】ORA-12505: 侦听器拒绝连接并出现以下错误 -- SQL Developer【英文标题】:ORA-12505: Listener refused the connection with the following error -- SQL Developer 【发布时间】:2022-01-02 00:48:15 【问题描述】:

过去我这样做没有问题,但是当我重新安装 Oracle 11g 和 SQL Developer 时,我遇到了麻烦。我正在尝试将我的 oracle 11g 数据库连接到 sql developer,但是当我测试连接时,我收到了这个错误。我尝试了一切:配置文件,tnsnames.ora 更改了几次,listener.ora 文件更改了,但都是徒劳的。我看过很多处理该错误的视频或帖子,他们都说要查看 tnsnames.ora 文件中的 SID 和主机名/服务名之间的匹配,但在我的情况下,它们是正确且一致的。谁能帮我吗?我已经删除了所有内容:文件、环境变量等。

当我打开 SQL Developer 时,它会自动检测 tns 文件,所以它实际上是读取的,所以我不明白问题可能是什么。

这是我的 tnsnames.ora

    XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = LAPTOP-SMTRG338)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

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) 
    ) 
  ) 

这是听者

   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 = LAPTOP-SMTRG338)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

【问题讨论】:

【参考方案1】:

基本连接不使用 tnsnames.ora 文件。

基本是 EZConnect:user/pass@host:port/SERVICE_NAME

您可以尝试检查"Nombre servizio"并将其设置为XE并连接,但我认为它不会解决您的问题。

对于这样的场景,alert_<SID>.log 是您的朋友。在这里您可以诊断数据库的健康状况。

您的 Windows 服务可以是 running,但您的数据库可以是以下任何一种模式:shutdown | nomount | mount | open

%ORACLE_BASE%\diag\rdbms\xe\XE\trace\alert_XE.log

注意!请不要使用notepad.exe 阅读日志文件。在 Windows 领域 Notepad++ 是更好的选择。

祝你好运!

【讨论】:

感谢您帮助我。我检查了那个日志文件,但是有超过 1k 行,我什至不知道要在里面寻找什么。我还检查了诸如 listener.log 或 sqlnet.log 之类的文件。在 sqlnet.log 我得到“目录不存在用于读/写 [C:\oraclexe\app\oracle\product\11.2.0\server\log] [C:\oraclexe\app\oracle\product\11.2.0 \server\log\diag]" 并且在 listener.log 中我得到了 "23-NOV-2021 17:50:40 * (CONNECT_DATA=(SID=xe)(CID=(PROGRAM=SQL Developer)(HOST=__jdbc__)( USER=Gigi))) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=58727)) * 建立 * xe * 12505 停止Windows Oracle XE服务,删除日志,重新启动服务。它会告诉你数据库是否达到打开状态或者是否有其他事情发生。 我总是遇到同样的错误。我什至在一个新的磁盘分区中安装了 db,但那没用 在“app\oracle\product\11.2.0\server\log\diag\”中创建客户端文件夹后,我注意到 sqlnet.log 发生了变化,这给了我这个错误“致命的 NI 连接错误 12560,连接到:(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle)(ARGV0=oracleXE)(ARGS='(DESCRIPTION=(LOCAL=YES))(ADDRESS=(PROTOCOL =beq)))')))(CONNECT_DATA=(SID=XE)(CID=(PROGRAM=I:\app\oracle\product\11.2.0\server\bin\oradim.exe)(HOST=LAPTOP-SMTRG338 )(USER=Gigi))))"

以上是关于ORA-12505: 侦听器拒绝连接并出现以下错误 -- SQL Developer的主要内容,如果未能解决你的问题,请参考以下文章

Oracle SQL Developer 12505 网络更改后的错误

ORA-12505, TNS: 监听器当前不知道连接描述符中给出的 SID

ORA-12505, TNS: 监听器当前不知道连接描述符中给出的 SID

侦听器拒绝连接并出现以下错误:ORA-12514

jdbc连接oracle11g出现ora-12505错误怎么解决?

侦听器拒绝连接并出现以下错误:ORA-12514,TNS:侦听器不知道连接描述符中请求的服务