I want to connect my PLSQL developer tools into database but fail to connect due to error below. ORA-12514: TNS: listener does not currently know of service requested in connect descriptor
Check configuration below. How to configure to make it works?
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
Your database hasn't been registered with the listener. lsnrctl status returned "The listener supports no services" and your listener.ora file doesn't have a SID_LIST.
Connect to your database instance as a SYSDBA and run:
ALTER SYSTEM SET LOCAL_LISTENER='';
If that doesn't resolve your problem then you mostly likely have several listeners and you'll need to follow the registration process for the listener that you want.
All of this complexity is to allow an operating system to run multiple listeners, which can be useful.
Do note that depending on how you started your instance, you may need to specify SCOPE on the ALTER SYSTEM command or your configuration will disappear on restart of the instance.
来源:https://stackoverflow.com/questions/46914943/can-not-connect-ora-12514-tnslistener-does-not-currently-know-of-service-reque