()

Solution for TNS-12557: TNS:protocol adapter not loadable

In previous blog we saw How to Setup Oracle DB Network Encryption using SSL/TLS Click here to read more.

Steps in previous blog will work fine for Enterprise Edition. But if you are using Standard Edition you will encounter error “TNS-12557: TNS:protocol adapter not loadable” while starting listener after SSL configuration is made on listener.ora file. As TCPS support to Oracle Standard Edition is not enabled after installation we need to enable it manually by executing below steps. 

[oracle@test-machine01 admin]$
[oracle@test-machine01 admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0.4/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = test-machine01)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCPS)(HOST = test-machine01)(PORT = 1522))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

WALLET_LOCATION =
   (SOURCE =
     (METHOD = FILE)
     (METHOD_DATA =
       (DIRECTORY = /u01/app/oracle/admin/db_wallet)
     )
   )

SSL_CLIENT_AUTHENTICATION = FALSE
[oracle@test-machine01 admin]$ 

[oracle@test-machine01 admin]$ lsnrctl start LISTENER

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 30-DEC-2021 14:10:19

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

Starting /u01/app/oracle/product/11.2.0.4/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.4.0 - Production
System parameter file is /u01/app/oracle/product/11.2.0.4/db_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/product/11.2.0.4/db_1/diag/tnslsnr/test-machine01/listener_11g/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test-machine01.)(PORT=1521)))
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=test-machine01)(PORT=1522)))
TNS-12557: TNS:protocol adapter not loadable
 TNS-12560: TNS:protocol adapter error
  TNS-00527: Protocol Adapter not loadable


Listener failed to start. See the error message(s) above...

[oracle@test-machine01 admin]$


Step 1. Navigate to $ORACLE_HOME/lib and locate the file libntcps11_ee.a.dbl. Make a backup copy of libntcps11.a and replace it libntcps11_ee.a.dbl. Verify that these steps were successful.

[oracle@test-machine01 lib]$
[oracle@test-machine01 lib]$
[oracle@test-machine01 lib]$  cd $ORACLE_HOME/lib
[oracle@test-machine01 lib]$
[oracle@test-machine01 lib]$ pwd
/u01/app/oracle/product/11.2.0.4/db_1/lib
[oracle@test-machine01 lib]$
[oracle@test-machine01 lib]$
[oracle@test-machine01 lib]$  ls -al libntcps*
-rw-r--r--. 1 oracle oinstall 306314 Dec 30 15:58 libntcps11.a
-rw-r--r--. 1 oracle oinstall 306314 Jul 15  2013 libntcps11_ee.a.dbl
[oracle@test-machine01 lib]$
[oracle@test-machine01 lib]$

[oracle@test-machine01 lib]$ cp libntcps11.a libntcps11.a.backup
[oracle@test-machine01 lib]$
[oracle@test-machine01 lib]$ cp libntcps11_ee.a.dbl libntcps11.a
[oracle@test-machine01 lib]$
[oracle@test-machine01 lib]$  ls -al libntcps*
-rw-r--r--. 1 oracle oinstall 306314 Dec 30 15:58 libntcps11.a
-rw-r--r--. 1 oracle oinstall   7456 Dec 30 15:58 libntcps11.a.backup
-rw-r--r--. 1 oracle oinstall 306314 Jul 15  2013 libntcps11_ee.a.dbl
[oracle@test-machine01 lib]$
[oracle@test-machine01 lib]$


Step 2. Please make sure to stop all processes running under ORACLE_HOME.

[oracle@test-machine01 lib]$
[oracle@test-machine01 lib]$ sqlplus sys as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Dec 30 15:56:48 2021

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Enter password:

Connected to:
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

SQL> show parameter unique

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_unique_name                       string      test01
SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
[oracle@test-machine01 lib]$


Step 3. All running Oracle processes should be stopped prior to relinking.

[oracle@test-machine01 lib]$
[oracle@test-machine01 lib]$ pwd
/u01/app/oracle/product/11.2.0.4/db_1/lib
[oracle@test-machine01 lib]$
[oracle@test-machine01 lib]$ relink all
writing relink log to: /u01/app/oracle/product/11.2.0.4/db_1/install/relink.log
[oracle@test-machine01 lib]$
[oracle@test-machine01 lib]$


Step 4. TCPS protocol support will be enabled when linking is complete. Start listener.

[oracle@test-machine01 lib]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 23-JAN-2022 09:53:44

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

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                14-DEC-2021 12:37:32
Uptime                    39 days 21 hr. 16 min. 12 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0.4/db_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/product/11.2.0.4/db_1/diag/tnslsnr/test-machine01/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=test-machine01)(PORT=1522)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test-machine01)(PORT=1521)))
Services Summary...
The command completed successfully
[oracle@oda-jed-prod01 ucas_backup]$


Reference :
How To Enable TCPS Support For Oracle Standard Edition (Doc ID 1457854.1)


This document is just for learning purpose and always validate in the LAB environment first before applying in the LIVE environment.


Hope so you like this article
!
Please share your valuable feedback/comments/subscribe and follow us below and don’t forget to click on the bell icon to get the most recent update. 
Click here to understand more about our pursuit.

 

 

Related Articles


Loading

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Jamsher Khan

Hello and welcome to DBsGuru,I’m Jamsher Khan working as Senior Oracle DBA based in KSA-Jeddah, I have working experience in Oracle DBA, SQL Server, MySql, PostgreSQL, Linux, Golden Gate, ODA.Thanks for the visits!Share Learn Grow!

2 thoughts on “Solution for TNS-12557: TNS:protocol adapter not loadable

Comments are closed.