无法连接ORA-12514:TNS:侦听器当前不知道连接描述符中请求的服务

时间:2017-10-24 15:52:13

标签: oracle oracle11g sqlplus

我想将我的PLSQL开发人员工具连接到数据库,但由于下面的错误而无法连接。 ORA-12514:TNS:监听器当前不知道连接描述符

中请求的服务

检查以下配置。如何配置使其工作?

SQL> select value from v$parameter where name='service_names';
VALUE
orcl

SQL> select instance from v$thread;
INSTANCE
orcl
SQL> select host_name,instance_name,version from v$instance;
HOST_NAME
INSTANCE_NAME    VERSION
ex-cs-b
orcl             11.2.0.1.0

SQL> select global_name from global_name;

GLOBAL_NAME
ORCL
SQL>

lsnrctl status

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 23-OCT-2017 16:49:51

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                23-OCT-2017 16:49:40
Uptime                    0 days 0 hr. 0 min. 10 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /app/oracle/diag/tnslsnr/ex-cs-b/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ex-cs-b)(PORT=1521)))
The listener supports no services
The command completed successfully

lsnrctl services

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 23-OCT-2017 16:58:18

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully



more tnsnames.ora
# tnsnames.ora Network Configuration File: /app/oracle/product/11.2.0/dbhome_1/network
/admin/tnsnames.ora
# Generated by Oracle configuration tools.

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ex-cs-b)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

more listener.ora
# listener.ora Network Configuration File: /app/oracle/product/11.2.0/dbhome_1/network
/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = ex-cs-b)(PORT = 1521))
    )
  )
ADR_BASE_LISTENER = /app/oracle

1 个答案:

答案 0 :(得分:1)

您的数据库尚未在监听器中注册。 lsnrctl status返回"听众不支持任何服务"并且您的listener.ora文件没有SID_LIST。

以SYSDBA身份连接到您的数据库实例并运行:

 ALTER SYSTEM SET LOCAL_LISTENER='';

如果这不能解决您的问题,那么您很可能会有几个听众,并且您需要关注the registration process以获得所需的听众。

所有这些复杂性都是允许操作系统运行多个侦听器,这可能很有用。

请注意,根据您启动实例的方式,您可能需要在ALTER SYSTEM命令上指定SCOPE,否则您的配置将在重新启动实例时消失。