1 2 Previous Next 26 Replies Latest reply: May 1, 2013 3:19 AM by 1006496 RSS

    TNS-12560: TNS:protocol adapter error

    444950
      So, here's my problem:<br>
      <br>
      I've been told to go play with Oracle Designer 10g so that I can tutor some developers on how to test forms that they create (I don't know anything about Designer; everything I've done to this point has dealt exclusively with the Oracle Database Server and Oracle Application Server). It seems like only one repository can be installed on a database at a time, and in my mucking around I really don't want to blow away our developers' work, so I decided I'd install a new instance of a 10.1.0.3 database on my RHEL3 box and create a new Designer repository that I can screw around with.<br>
      <br>
      Installing the database appeared to go smoothely... now I need to talk to it.<br>
      <br>
      I can `ping` the box that the database is on just fine, but if I try a `tnsping` to the database instance, I receive:<br>
      TNS-12560: TNS:protocol adapter error<br>
      <br>
      Naturally, attempting to connect to the database instance produces:<br>
      ORA-12560: TNS:protocol adapter error<br>
      <br>
      I'm not really sure where to start troubleshooting this one. Thus far, I have done the following:
      <ul><li>Made sure the listener is up.
      </li><li>Made sure the database is up.
      </li><li>Made sure the database instance appears in `lsnrctl status` with a READY status.
      </li><li>Triple-checked the syntax of my tnsnames.ora file. `tnsping` does correct identify the connect string to the database, and it does have the correct parentheses.
      </li><li>Connected to the database locally (`sqlplus username@database` from the machine with "database").
      </li><li>Connected to another database from the new server (`sqlplus username@anotherDatabase` from the machine with "database").
      </li><li>Attempted to turn on tracing on the client machine:<br>
      <div style="margin: 20px; font-size: 90%; font-family: courier;"><font style="color: #AAAAAA"><i># sqlnet.ora Network Configuration File: $ORACLE_HOME/network/admin/sqlnet.ora<br>
      # Generated by Oracle configuration tools.</i></font><br>
      <br>
      NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)<br>
      TRACE_LEVEL_CLIENT = USER<br>
      </div>
      ...to no avail, I might add (haven't been able to locate the trace file, or it isn't being created).
      </li></ul>
      Does anyone have any thoughts as to why I'm seeing this error? Is there even the slightest hope that someone will answer when threads only stay on the first page of postings for about 30 minutes on this forum?
        • 1. Re: TNS-12560: TNS:protocol adapter error
          8734
          Hi
          Pls post contents of your TNS and Listener files.
          Rgds
          Adnan
          • 2. Re: TNS-12560: TNS:protocol adapter error
            444950
            <font style="font-weight: 600;">Database server's listener.ora:</font>
            <div style="margin: 20px; font-size: 90%; font-family: courier;">
            <font style="color: #AAAAAA; font-style: italic;"># listener.ora Network Configuration File: /opt/oracle/jersalem/network/admin/listener.ora<br>
            # Generated by Oracle configuration tools.<br>
            <br>
            # trace levels 0=NONE 4=USER 10=ADMIN 16=SUPPORT<br>
            </font><br>
            SID_LIST_LISTENER =<br>
              (SID_LIST =<br>
                (SID_DESC =<br>
                  (SID_NAME = PLSExtProc)<br>
                  (ORACLE_HOME = /opt/oracle/jersalem)<br>
                  (PROGRAM = extproc)<br>
                )<br>
              )<br>
            <br>
            LISTENER =<br>
              (DESCRIPTION_LIST =<br>
                (DESCRIPTION =<br>
                  (ADDRESS_LIST =<br>
                    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))<br>
                  )<br>
                  (ADDRESS_LIST =<br>
                    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))<br>
                  )<br>
                )<br>
              )<br>
            </div>
            <font style="font-weight: 600;">Database server's tnsnames.ora:</font>
            <div style="margin: 20px; font-size: 90%; font-family: courier;">
            <font style="color: #AAAAAA; font-style: italic;"># tnsnames.ora Network Configuration File: /opt/oracle/jersalem/network/admin/tnsnames.ora<br>
            # Generated by Oracle configuration tools.<br>
            </font><br>
            JERSALEM =<br>
              (DESCRIPTION =<br>
                (ADDRESS = (PROTOCOL = TCP)(HOST = host.domain.com)(PORT = 1521))<br>
                (CONNECT_DATA =<br>
                  (SERVER = DEDICATED)<br>
                  (SERVICE_NAME = jersalem.host.domain.com)<br>
                )<br>
              )<br>
            <br>
            EXTPROC_CONNECTION_DATA =<br>
              (DESCRIPTION =<br>
                (ADDRESS_LIST =<br>
                  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))<br>
                )<br>
                (CONNECT_DATA =<br>
                  (SID = PLSExtProc)<br>
                  (PRESENTATION = RO)<br>
                )<br>
              )<br>
            </div>
            <font style="font-weight: 600;">Client's sqlnet.ora:</font>
            <div style="margin: 20px; font-size: 90%; font-family: courier;">
            <font style="color: #AAAAAA; font-style: italic;"># sqlnet.ora Network Configuration File: D:\oracle\devsuite-101202\network\admin\sqlnet.ora<br>
            # Generated by Oracle configuration tools.<br>
            </font><br>
            SQLNET.AUTHENTICATION_SERVICES= (NTS)<br>
            NAMES.DIRECTORY_PATH = (TNSNAMES)<br>
            </div>
            <font style="font-weight: 600;">Client's tnsnames.ora:</font>
            <div style="margin: 20px; font-size: 90%; font-family: courier;">
            <font style="color: #AAAAAA; font-style: italic;"># tnsnames.ora Network Configuration File: D:\oracle\devsuite-101202\network\admin\tnsnames.ora<br>
            # Generated by Oracle configuration tools.<br>
            </font><br>
            EXTPROC_CONNECTION_DATA =<br>
              (DESCRIPTION =<br>
                (ADDRESS_LIST =<br>
                  (ADDRESS = (PROTOCOL = TCP)(HOST = windowshostname.domain.com)(PORT = 1521))<br>
                )<br>
                (CONNECT_DATA =<br>
                  (SID = PLSExtProc)<br>
                )<br>
              )<br>
            <br>
            JERSALEM =<br>
              (DESCRIPTION =<br>
                (ADDRESS = (PROTOCOL = TCP)(HOST = host.domain.com)(PORT = 1521))<br>
                (CONNECT_DATA =<br>
                  (SERVER = DEDICATED)<br>
                  (SERVICE_NAME = jersalem.host.domain.com)<br>
                )<br>
              )<br>
            </div>
            • 3. Re: TNS-12560: TNS:protocol adapter error
              444950
              ...I've been down this road of troubleshooting with several other Oracle-certified coworkers already, however, so I doubt the contents of the $ORACLE_HOME/network/admin directories are to blame.
              • 4. Re: TNS-12560: TNS:protocol adapter error
                APC
                Is there even the slightest hope that someone will
                answer when threads only stay on the first page of
                postings for about 30 minutes on this forum?
                Umm, maybe. Some of us do read beyond the first page...

                It seems to me that your database server's listner.ora file is only configured for handling EXTPROC calls. Don't you need the GLOBAL_DB or at least some other SID name in there as well? That would explain why you can connect locally but not remotely.

                Cheers, APC
                • 5. Re: TNS-12560: TNS:protocol adapter error
                  444950
                  Well, we've been using a working 10.1.0.3 server's files as a template when we've been making changes. The working server is able to receive connections from anywhere.<br>
                  <br>
                  <font style="font-weight: 600;">Working server's listener.ora</font>
                  <div style="margin: 20px; font-size: 90%; font-family: courier;">
                  <font style="color: #AAAAAA; font-style: italic;"># listener.ora Network Configuration File: /opt/oracle/oasdev/network/admin/listener.ora<br>
                  # Generated by Oracle configuration tools.<br>
                  </font><br>
                  SID_LIST_LISTENER =<br>
                    (SID_LIST =<br>
                      (SID_DESC =<br>
                        (SID_NAME = PLSExtProc)<br>
                        (ORACLE_HOME = /opt/oracle/oasdev)<br>
                        (PROGRAM = extproc)<br>
                      )<br>
                    )<br>
                  <br>
                  LISTENER =<br>
                    (DESCRIPTION_LIST =<br>
                      (DESCRIPTION =<br>
                        (ADDRESS_LIST =<br>
                          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))<br>
                        )<br>
                        (ADDRESS_LIST =<br>
                          (ADDRESS = (PROTOCOL = TCP)(HOST = oasdev)(PORT = 1521))<br>
                        )<br>
                      )<br>
                    )<br>
                  </div>
                  This looks almost identical to the listener.ora on the 10.1.0.3 server, and has never been edited by human hands (except, of course, for my muddling with this copy to present the file nicely in HTML). In other words, this file was generated for us by the Oracle Installer, and it works perfectly for every client we've tried to connect to it with.<br>
                  <br>
                  This is where my Oracle-certified coworkers became confused. Why would we be seeing connection errors on one machine but not the other? Why only with Oracle software? Neither machine is using iptables or any other firewall.<br>
                  <br>
                  The only way in which the machines differ is that Oasdev is 64-bit RHEL3 (Taroon) and Jersalem is 32-bit CentOS 4.1 (Final). They are otherwise 100% identical - they were even assembled into the same model number of case.
                  • 6. Re: TNS-12560: TNS:protocol adapter error
                    John Spencer
                    I think your problem is in the use of localhost in the listener.ora, you need to have the server name. Compare the "working" server with the other one. localhost is generally 127.0.0.1 which is the wrong IP address.

                    Database server listener.ora
                    LISTENER =
                      (DESCRIPTION_LIST =
                        (DESCRIPTION =
                          (ADDRESS_LIST =
                            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
                          )
                          (ADDRESS_LIST =
                            (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
                          )
                        )
                      )
                    Working server listener.ora
                    LISTENER =
                      (DESCRIPTION_LIST =
                        (DESCRIPTION =
                          (ADDRESS_LIST =
                            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
                          )
                          (ADDRESS_LIST =
                            (ADDRESS = (PROTOCOL = TCP)(HOST = oasdev)(PORT = 1521))
                          )
                        )
                      )
                    HTH
                    John
                    • 7. Re: TNS-12560: TNS:protocol adapter error
                      461899
                      Jeez. I've been fighting this issue on and off for a few weeks. I pretty much tried all the recommendations in this string already. I entered a TAR forwarding all my client and server traces. Oracle worked with me several days. The short of it was that they determined that the client was performing correctly but that the listener was not receiving the connection request so it must be the server or network. My server and Linux (RH 2.6.9-22.0.1.ELsmp) admins have checked and rechecked, removed all security, etc to try to resolve this. No luck to date. So I'm sitting here with a new server and a new Oracle install. In short, all dressed up and no place to go!

                      Frustration level: Meltdown My recent TAR 4846448.993 - TNSPING FAILS (TNS-12560, TNS-00538 BETWEEN WIN XP CLIENTS AND LINUX DB SERVER. if you want Oracle to refer to anything to support your claims!
                      • 8. Re: TNS-12560: TNS:protocol adapter error
                        444950
                        Hmm... yeah, that could cause problems.

                        I fixed that and restarted the listener, to no avail. Just to be sure, I did `ping hostname` from the server to make sure that the IP was resolving correctly (and not to 127.0.0.1 again). Then I restarted both the listener and the database server, just in case Oracle had some undocumented relations (don't get me started on what Oracle doesn't document...), and I'm still not able to make a connection from my Windows client to the Linux server.

                        The error message isn't even changing... (grr...)

                        Oh yeah, one other note:
                        I'm not just seeing connection difficulties between this server and Windows XP installations. I can't make any Oracle software connect to this server from anywhere (but can still SSH, SFTP, ICMP-ECHO, etc), including other CentOS, RHEL3, Mandriva, and Solaris, and Windows 2000 platforms.

                        There may be other networking issues gumming up the process, but I've been similarly assured that there's no reason this thing shouldn't be talking back to everybody.
                        • 9. Re: TNS-12560: TNS:protocol adapter error
                          461899
                          Same here. All Oracle client connections from any Windows XP, 2000, and Linux box fails with the 12560. All other connectivity SSH, etc like you listed works great. My underlying TNSPING trace records a primary transport protocol error of 538. For me this error happens when a trying to create and use a socket after a "tcp.validnode_checking not turned on" entry. Try adding a TNSPING trace on your client SQLNET.ORA if you haven't already. Set the trace level to 16. I'm still trying to figure out how to decode this error. An old Oracle note 117976,1 says to reference /usr/include/sys/errno.h. I don't see anything in there I can use however.
                          • 10. Re: TNS-12560: TNS:protocol adapter error
                            407338
                            I have the same problem with 10g on a XP machine when I try to use sqlplus /nolog to start the database. I always get the adapter error. I have to start it using window's services and I can only log in from sql*plus.

                            thanks.

                            ben
                            • 11. Re: TNS-12560: TNS:protocol adapter error
                              440147
                              Hi,

                              I'm also facing this error from last few days.I'm not gettitng any solution even though I've created a tar for it.I've installed 9.2.0.6 on linux RHEL4. Both listener and database are running fine on the server,but when I'm doing tnsping from the client XP it's not working and giving the error TNS-12560.Please provide the solution at the earliest.
                              • 12. Re: TNS-12560: TNS:protocol adapter error
                                461899
                                My problem is solved!! Issue a telnet <host> <port> and see if the attempt fails. If it does, that means the Oracle port (1521 in my case) is blocked. Go into the Security Level Configuration on your Linux server. In Other Ports, specifically enter <port>:tcp, (example 1521:tcp. When I did this, my connectivity issues vaporized! Hopefully yours does as well...

                                Now I'm going to buy myself a well deserved cup of coffee! Also in celebration, I will now demonstrate the proper way to perform a cartwheel for my coworkers:-)

                                Dale
                                • 13. Re: TNS-12560: TNS:protocol adapter error
                                  444950
                                  <i>omg</i><br>
                                  <br>
                                  ...who's bright idea was it to put a "firewall" on top of a perfectly good iptables install/config? (Well, that solves my problems... now I feel really incompetent...)
                                  • 14. Re: TNS-12560: TNS:protocol adapter error
                                    440147
                                    Hi,

                                    I'm installing 8i on my windows 2000 server.While creating database during the installation it's throwing the error ORA-12560 TNS:protocol adapter error.Please guide.
                                    1 2 Previous Next