【问题标题】:ORA-12505: Listener refused the connection with the following error -- SQL DeveloperORA-12505: 侦听器拒绝连接并出现以下错误 -- 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)

【问题讨论】:

    标签: database oracle oracle11g oracle-sqldeveloper


    【解决方案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))))"
    猜你喜欢
    • 2017-08-07
    • 2012-10-12
    • 2012-08-03
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    • 2018-07-16
    • 2013-05-16
    • 2023-03-12
    相关资源
    最近更新 更多