Site icon IT Tutorial

TNS-00527: Protocol Adapter not loadable

Hi,

Sometimes You can get “TNS-00527: Protocol Adapter not loadable ” error.

 

Details of error are as follows.

TNS-00527: Protocol Adapter not loadable

Cause: On some platforms (for example OS/2) protocol adapters are loaded at run-time. If the shared library

(or DLL) for the protocol adapter is missing or one of its supporting libraries is missing, then this error is returned.

Action: For further details, turn on tracing and reexecute the operation. The trace file will have the name

of the shared library (or DLL) that could not be loaded.

lsnrctl start LISTENER
Starting tnslsnr:

TNS-12557:TNS:protocol adapter not loadable
TNS-12560:TNS:protocol adapter error
TNS-00527:Protocol Adapter not loadable

 

Check the whether the .oracle directory exists under /var/tmp, if it doesn’t exist, create and grant it as follows.
mkdir /var/tmp/.oracle
chmod 01777 /var/tmp/.oracle
chown root /var/tmp/.oracle
chgrp root /var/tmp/.oracle

 

then add it and try to start Listener again.

[oracle@msdbadm01 ~]$ lsnrctl start LISTENER

Check listener status as follows, it is listening the Database and its service as follows.

 

[oracle@msdbadm01 ~]$ lsnrctl status

LSNRCTL for Linux: Version 18.0.0.0.0 - Production on 28-APR-2020 15:44:29

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

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 18.0.0.0.0 - Production
Start Date 25-MAR-2020 20:34:20
Uptime 33 days 19 hr. 10 min. 8 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/vfxidb01/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.63.34)(PORT=1521)))
Services Summary...
Service "+APX" has 1 instance(s).
Instance "+APX1", status READY, has 1 handler(s) for this service...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_DATA" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_RECO" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "MSDB" has 1 instance(s).
Instance "MSDB1", status READY, has 1 handler(s) for this service...
Service "MSDBXDB" has 1 instance(s).
Instance "MSDB1", status READY, has 1 handler(s) for this service...

[oracle@msdbadm01 ~]$

 

Or Clear the /var/tmp/.oracle (Linux or Solaris) or (on AIX), /tmp/.oracle directory and start from fresh:

Stop all listeners

Remove the /var/tmp/.oracle or /tmp/.oracle directory, e.g. run the following from the root account as follows.
rm -rf /var/tmp/.oracle

Check the listener(s) configuration contains unique keys specified for each IPC endpoint and each listener

Start the listener(s) from the normal Oracle OS user.

Clearing the /var/tmp/.oracle or /tmp/.oracle directory will force the listeners to recreate the socket files from fresh, each with its own correct ownership.

 

 

For Windows environment:

the new environmental variables are set for window and old services will become invalid.

So we need to create new windows services for the listener.

1) Take a backup of the listener.ora file .

2) Stop the listener via lsnrctl stop LISTENER.

3) Open services.msc and stop the listener service ( OracleOraxxxxxListener ) manually .

or

open command prompt as administrator :

net stop <service name>

4) Use Net Manager to delete the listener or move the listener.ora file to another location manually.

5) Start –> Run –> Type Services.msc

6) Select the listener service or note down the listener service name and delete the listener service via command prompt as administrator.

( sc delete <service-name> ) or Delete the listener services – sc delete < Listener Service Name >

7) Create a new listener.ora file with simple listener configuration.

Example:

LISTENER =
    (DESCRIPTION_LIST =
        (DESCRIPTION =
             (ADDRESS = (PROTOCOL = TCP)(HOST = host name)(PORT = 1521))
         )
     )

 

then run the  lsnrctl start listener command.

 

Do you want to learn more details about RMAN, then read the following articles.

https://ittutorial.org/rman-backup-restore-and-recovery-tutorials-for-beginners-in-the-oracle-database/

 

Exit mobile version