The Problem
When attempting to connect to PDB via listener, the following error occurs.
ORA-12518: TNS:listener could not hand off client connection
Listener log:
03-APR-2017 08:57:31 * (CONNECT_DATA=(SID=wd1)(CID=(PROGRAM=d:\orasfw\prd1\bin\sqlplus.exe)(HOST=Host name )(USER=ismeirb))) * (ADDRESS=(PROTOCOL=tcp)(HOST=XX.XX.XX.XX)(PORT=63994)) * establish * wd1 * 12518 TNS-12518: TNS:listener could not hand off client connection TNS-12560: TNS:protocol adapter error TNS-00530: Protocol adapter error 64-bit Windows Error: 203: Unknown error
The Solution
PDB SiD name was not properly configured in the listener.ora file
SID_LIST_LSNRPD =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ct1)
(ORACLE_HOME = d:\orasfw\prd1)
(SID_NAME = ct1) <<<< CDB Instance_name
)
(SID_DESC =
(GLOBAL_DBNAME = wd1)
(ORACLE_HOME = d:\orasfw\prd1)
(SID_NAME = wd1) <<<<< Suppose to be CDB instance_name but PDB Instance_name has been configured
)
)
PDB instance_name 'wd1' will always exists within in the CDB instance_name 'ct1'. Configure the SID for PDB service name wd1 has shown below.
SID_LIST_LSNRPD = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ct1) (ORACLE_HOME = d:\orasfw\prd1) (SID_NAME = ct1) ) (SID_DESC = (GLOBAL_DBNAME = wd1) <<<< PDB Instance_name (ORACLE_HOME = d:\orasfw\prd1) (SID_NAME = ct1) <<<< CDB Instance_name ) )
After adding the SID WD1 the connections to PDB worked fine.
C:\>sqlplus sys/xxxxxx@wd1 SQL*Plus: Release 12.1.0.2.0 Production on Wed Apr 5 12:51:35 2017 Copyright (c) 1982, 2014, Oracle. All rights reserved. Last Successful login time: Mon Apr 03 2017 18:26:18 +03:00 Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing opt ions SQL>