ORA-12505,TNS:监听器当前不知道connect des中给出的SID

时间:2014-04-22 03:40:20

标签: database oracle oracle11g oracle-sqldeveloper sqlplus

请帮助我,因为我刚安装了Oracle 11g,但无法使用SQL Devloper使用以下设置连接:

用户名:system

密码:mypassword

主机名:localhost

港口:1521

SID:XE

错误讯息:

状态:失败 - 测试失败:侦听器拒绝连接,出现以下错误:

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

我查看了Windows服务:

OracleServiceXE:已开始

OracleXETNSListener:已开始

我也无法连接到管理页面:**http://localhost:8080/apex/f?p=4950**

它说"此页面无法显示"

我还测试了使用SqlPlus进行连接:

测试1:结果为ORA-12170:TNS:发生连接超时

C:\ oraclexe \ app \ oracle \ product \ 11.2.0 \ server \ bin> sqlplus.exe system / mypassword @ XE

SQL * Plus:2014年4月22日星期二11:22:31发布11.2.0.2.0版 版权所有(c)1982,2010,Oracle。保留所有权利。

错误: ORA-12170:TNS:发生连接超时

输入用户名:

测试2:结果成功

C:\ oraclexe \ app \ oracle \ product \ 11.2.0 \ server \ bin> sqlplus.exe system / mypassword

SQL * Plus:2014年4月22日星期二11:33:22发布11.2.0.2.0版 版权所有(c)1982,2010,Oracle。保留所有权利。

连接到: Oracle Database 11g快捷版11.2.0.2.0版 - 生产

SQL>

测试3:结果成功

C:\ oraclexe \ app \ oracle \ product \ 11.2.0 \ server \ bin> sqlplus.exe / as sysdba

SQL * Plus:2014年4月22日星期二11:34:29发布11.2.0.2.0版 版权所有(c)1982,2010,Oracle。保留所有权利。

连接到: Oracle Database 11g快捷版11.2.0.2.0版 - 生产

SQL>

LISTENER.LOG

22-APR-2014 11:53:51 * (CONNECT_DATA=(SID=XE)(CID=(PROGRAM=SQL Developer)(HOST=__jdbc__)(USER=admin))) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=50010)) * establish * XE * 12505
TNS-12505: TNS:listener does not currently know of SID given in connect descriptor

的tnsnames.ora:

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = NASAYAO2)(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) 
    ) 
  ) 

LSNRCTL>状态

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 32-bit Windows: Version 11.2.0.2.0 - Produ
ction
Start Date                22-APR-2014 14:29:22
Uptime                    0 days 0 hr. 56 min. 43 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   C:\oraclexe\app\oracle\product\11.2.0\server\network\a
dmin\listener.ora
Listener Log File         C:\oraclexe\app\oracle\diag\tnslsnr\NASAYAO2\listener\
alert\log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=NASAYAO2)(PORT=1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

请帮助我。

6 个答案:

答案 0 :(得分:8)

我有同样的问题,但我在oracle linux上运行。 在搜索和测试之后,我可以将sqldeveloper连接到我的oracle11g,而无需设置我的listener.ora或者

这是我在终端sql上运行的语法

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

然后

alter system register;

我得到了教程 here

答案 1 :(得分:6)

  1. 打开 网络管理员 。在 Oracle Net Configuration 中,打开 本地 ,然后打开 监听器 即可。
  2. 选择您的听众。
  3. 在右上角的ComboBox中,选择 数据库服务
  4. Clic 添加数据库
  5. 填写3个字段: 全局数据库名称 (即ORCL.NET。在SQL Plus中键入SELECT * FROM GLOBAL_NAME), Oracle主目录 (即C:\ app \ User \ product \ 11.2.0 \ dbhome_1)和 SID (即orcl)
  6. 文件>保存网络配置。
  7. 重新启动 OracleOraDb11g_home1TNSListener 服务。

答案 2 :(得分:0)

对于SQL Developer,您可能需要添加这些参数

AddVMOption -Duser.language=en

AddVMOption -Duser.region=US
文件中的

$SQLDEVELOPER_HOME\sqldeveloper\bin\sqldeveloper.conf

答案 3 :(得分:0)

当我在连接到数据库时突然关闭系统时发生在​​我身上。重新启动系统即可解决问题。

答案 4 :(得分:-1)

如果你使用oracle 11g企业版,那么做一件事, 你只需卸载它,然后再次重新安装oracle 11g。 仔细地做所有的步骤。 安装完成后, 然后去开始菜单-oracle 11g-configuration&迁移工具 - 数据库配置帮助。 打开这个&再做配置 在这里你会给出一个sid的名字。 当你将在xe的sql developer insteade中创建一个连接时,将使用该sid。 除此之外不要改变其他。 我希望它绝对有用。

答案 5 :(得分:-1)

如果你仍然得到这个  错误讯息:

状态:失败 - 测试失败:侦听器拒绝连接,出现以下错误:

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

执行以下步骤: 1.打开cmd提示符。 2. c:/ services.msc 3.一旦您检查OracleServiceXE状态,它就会自动导航到系统服务控制台。 4.然后启动服务状态(右键单击>开始)等待状态显示正在运行。