0

我在带有 windows xp 的 vm 中安装了 oracle 11g,设置 SID = orcl,但是当我尝试与 SQL 开发人员连接到 db 时,我得到了错误ORA-12505, TNS:listener does not currently know of SID given in connect

我检查了监听器,使用 lsnrctl 服务,它说监听器不支持任何服务

编辑:这是我的 tnsnames.ora 文件

>  tnsnames.ora Network Configuration File: >E:\app\oracle\product\11.1.0\db_1\network\admin\tnsnames.ora
> Generated by Oracle configuration tools.
>ORCL =
>  (DESCRIPTION =
>    (ADDRESS = (PROTOCOL = TCP)(HOST = winxpora11g)(PORT = 1521))
>    (CONNECT_DATA =
>      (SERVER = DEDICATED)
>      (SERVICE_NAME = orcl)
>    )
>  )

我是一个新手,所以任何帮助将不胜感激

这是我的听众.ora

> listener.ora Network Configuration File:            >E:\app\oracle\product\11.1.0\db_1\network\admin\listener.ora
> Generated by Oracle configuration tools.
> LISTENER =
>  (DESCRIPTION_LIST =
>    (DESCRIPTION =
>      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
>      (ADDRESS = (PROTOCOL = TCP)(HOST = winxpora11g)(PORT = 1521))
>    )
>  )
4

2 回答 2

0

问题在于,自从实例启动以来,侦听器似乎已关闭或重置。默认情况下,该实例将是“自动注册”,并会在启动时向侦听器注册自身。最简单的解决方法是重新启动 OracleServiceORCL 服务(如果它在 oracle 服务中设置为“启动打开”,这应该是默认设置——如果不是,我可以通过命令行)。

如果这很常见,永久解决方案是将服务设置为 listener.ora 中的静态条目并重新启动侦听器服务。

于 2012-07-09T03:42:53.797 回答
0

旧线程,但以防其他人在这里绊倒。在 SQL Developer 中,你可以做

Connection Type:  Basic
Hostname: winxpora11g
Port: 1521
Service Name: orcl

这绕过了 TNSNAMES.ORA 并且应该将您连接到数据库。

在此处输入图像描述

于 2014-06-26T13:05:48.393 回答