TNS-12538: TNS:no such protocol adapter

the problem: sometimes you’ll see the following when you’re having issues with your oracle client

[oracle@wdy01vobi01 bin]$ ./tnsping myservice

TNS Ping Utility for Linux: Version 11.1.0.7.0 - Production on 

Copyright (c) 1997, 2008, Oracle. All rights reserved.

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = dbhost)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = myservice)))
TNS-12538: TNS:no such protocol adapter

try this: go to your ORACLE_HOME/bin and run adapters to see what adapters you have installed

./adapters

you might see something like

Installed Oracle Net transport protocols are:

 IPC
 BEQ
 Error!!! TCP/IP is not completely installed!
 Present in libntcp11, but missing from ntcontab.o...
 Error!!! SSL is not completely installed!
 Present in libntcps11, but missing from ntcontab.o...
 RAW
 Error!!! SDP/IB is not completely installed!
 Present in libntcp11, but missing from ntcontab.o...

Installed Oracle Net naming methods are:

 Local Naming (tnsnames.ora)
 Oracle Directory Naming
 Oracle Host Naming
 Error!!! Oracle Names Server Naming is not completely installed!

Installed Oracle Advanced Security options are:

 RC4 40-bit encryption
 RC4 56-bit encryption
 RC4 128-bit encryption
 RC4 256-bit encryption
 DES40 40-bit encryption
 DES 56-bit encryption
 3DES 112-bit encryption
 3DES 168-bit encryption
 AES 128-bit encryption
 AES 192-bit encryption
 AES 256-bit encryption
 MD5 crypto-checksumming
 SHA-1 crypto-checksumming
 Kerberos v5 authentication
 RADIUS authentication

what you’ll need to do is relink the protocol adapters. try this (MOS 435795.1) to relink them(Note: even though some things may result in errors, proceed through the following procedure in it’s entirety)

  1. connect as the owner of the installation

  2. make sure that ORACLE_HOME and LD_LIBRARY_PATH are set correctly
    Note: LD_LIBRARY_PATH should be set to –> $ORACLE_HOME/lib

  3. shutdown all Oracle instances and processes running from your Oracle Home

  4. execute the following

    script /tmp/relink_adapt.out 
    cd $ORACLE_HOME/bin 
    ./gennttab 
    cd $ORACLE_HOME/network/lib 
    make -f ins_net_client.mk ntcontab.o 
    cd $ORACLE_HOME/bin 
    genclntsh 
    cd $ORACLE_HOME/rdbms/lib 
    make -f ins_rdbms.mk install 
    cd $ORACLE_HOME/sqlplus/lib 
    make -f ins_sqlplus.mk install 
    cd $ORACLE_HOME/network/lib 
    make -f ins_net_client.mk install 
    cd $ORACLE_HOME/network/lib 
    make -f ins_net_server.mk install 
    exit

check the adapters again, it should return something like the following now:

Installed Oracle Net transport protocols are:

    IPC
    BEQ
    TCP/IP
    SSL
    RAW
    SDP/IB

Installed Oracle Net naming methods are:

    Local Naming (tnsnames.ora)
    Oracle Directory Naming
    Oracle Host Naming
   Error!!!   Oracle Names Server Naming is not completely installed!

Installed Oracle Advanced Security options are:

    RC4 40-bit encryption
    RC4 56-bit encryption
    RC4 128-bit encryption
    RC4 256-bit encryption
    DES40 40-bit encryption
    DES 56-bit encryption
    3DES 112-bit encryption
    3DES 168-bit encryption
    AES 128-bit encryption
    AES 192-bit encryption
    AES 256-bit encryption
    MD5 crypto-checksumming
    SHA-1 crypto-checksumming
    Kerberos v5 authentication
    RADIUS authentication

now try performing your tnsping again. at the very least, it should not give you the “TNS-12538: TNS:no such protocol adapter” error again.

Previous
Previous

‘Archive contains obsolescent base-64 headers’ error when trying to untar

Next
Next

weblogic data source error – IO Error: Connection reset