【问题标题】:Oracle Database Connection Error Listener Refused the ConnectionOracle 数据库连接错误侦听器拒绝连接
【发布时间】:2017-02-01 01:18:33
【问题描述】:

我刚刚在我的工作开发计算机上安装了 Oracle 11g,该计算机具有 Windows 7 64 位,并且位于已设置域的网络上。当我尝试使用 SQL Developer 连接到“XE”数据库/SID 时,出现以下错误列表。

有什么想法吗?

我在网上进行了研究,并尝试了一些建议的解决方案,但无法使其发挥作用。我可以确认以下几点:

  1. 数据库已启动。我可以使用 SQL Plus 进行连接。
  2. OracleServiceXE 和 OracleXETNSListener 服务均已启动
  3. Internet 信息系统 (IIS) 已安装且工作正常。
  4. 除了无法与 SQL Developer 连接之外,当我“开始使用”Web 应用程序时,它也无法正常工作。

我第一次尝试连接时,SQL Developer中的设置如下:

Hostname: localhost
Port: 1521
SID: xe

但是,我收到以下错误:

Status : Failure -Test failed: Listener refused the connection with the following error: ORA-12505

经过研究,我发现我应该查看“listner.ora”文件中的侦听器端点(无论是什么意思)并确认主机名。该文件具有以下内容:

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

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = mycomputername.abc.de.mycompany.com.)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

当我看到主机名不同时,我首先尝试从“mycomputername.abc.de.mycompany.com”更改 listener.ora 文件中的“HOST”。到“localhost”,然后到“127.0.0.1”(注意前面确实有一个额外的句点)。这样做之后,我仍然收到相同的错误消息。

然后,我将所有内容恢复到“listener.ora”文件中的状态,而是转到 SQL Developer 并将我的登录信息更改为以下内容:

Hostname: mycomputername.abc.de.mycompany.com.   (again... there really is a period at the end)
Port: 1521
SID: xe

我什至只用“mycomputername”尝试过。我再次收到错误消息:

Status : Failure -Test failed: Listener refused the connection with the following error: ORA-12505

【问题讨论】:

    标签: oracle oracle11g database-connection


    【解决方案1】:

    我从朋友的朋友那里得到了帮助。这就是他所做的。

    首先,请注意他只保留了“listener.ora”文件中的设置。相反,他执行了以下操作……全部来自命令提示符。

    第 1 步:以“sysdba”身份直接从命令提示符运行 SQL Plus,以在命令提示符中模拟 SQL Plus。

    C:\windows\system32>sqlplus / as sysdba
    

    第 2 步:输入以下 SQL Plus 命令以验证数据库名称(也称为全局名称或 SID)。返回值为“XE”。

    SQL> select * from global_name;
    

    第 3 步:输入以下 SQL Plus 命令,将列表器设置为使用“localhost”作为“HOST”。显然,监听器将覆盖“listner.ora”文件中的设置。我想他说这是保存在数据库中的某个地方,而不是保存在文件中。

    SQL> alter system set LOCAL_LISTENER='(DESCRIPTION_LIST =  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)
    (HOST = localhost)(PORT = 1521))))';
    

    第 4 步:输入以下 SQL Plus 命令来注册您在上面第 3 步中设置的内容。

    SQL> alter system register;
    

    第 5 步:在命令提示符下退出 SQL plus 模拟。

    SQL> exit
    

    【讨论】:

    • 听起来像音乐,救了我的命,完美
    猜你喜欢
    • 2023-03-12
    • 2012-10-12
    • 2012-08-03
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多