ORA-12514: TNS: listener does not currently know of service requested in connect descriptor

To overcome the error, we have to manually add the service name into the listener. So that listener starts to detect the database services.

Open the listener.ora file at ORACLE_HOME\network folder. In the following example, no services seem to be registered in the listener.ora file


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\Oracle\dbhomeXE)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\Oracle\dbhomeXE\bin\oraclr18.dll")
    )
     )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

Add the following line to manually register the PDB1 database service in the listener.ora file:

(SID_DESC =
	(GLOBAL_DBNAME = PDB1)
	(ORACLE_HOME = C:\Oracle\dbhomeXE)
	(SID_NAME = PDB1)
	)

Now the final listener file becomes:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\Oracle\dbhomeXE)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\Oracle\dbhomeXE\bin\oraclr18.dll")
    )
	(SID_DESC =
	(GLOBAL_DBNAME = PDB1)
	(ORACLE_HOME = C:\Oracle\dbhomeXE)
	(SID_NAME = PDB1)
	)
     )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
This entry was posted in Oracle on by .
Unknown's avatar

About SandeepSingh

Hi, I am working in IT industry with having more than 15 year of experience, worked as an Oracle DBA with a Company and handling different databases like Oracle, SQL Server , DB2 etc Worked as a Development and Database Administrator.

Leave a Reply