7 Replies Latest reply: Apr 2, 2014 8:06 AM by Mimi Miami RSS

    FAL[client, ARC1]: Error 12154 connecting to TEST_A,TEST_B for fetching gap sequence

    Mimi Miami

      I am running Oracle 11.2.0.3.8 on Solaris 10.  I have a primary database (TEST_A) and two physical standbys (TEST_B and TEST_C).  I am managing them using SQL*Plus.

       

      TEST_A is open and TEST_B is mounted and running in managed recovery mode.  When I issue a "startup mount" on TEST_C, I am seeing this in the alert log:

       

      Error 12154 received logging on to the standby

      FAL[client, ARC1]: Error 12154 connecting to TEST_A,TEST_B for fetching gap sequence

       

      I am able to do tnsping from each database to all the other databases in the Data Guard configuration.  The listener is running in all three databases  After I start managed recovery on TEST_C and enable log shipping on the primary for TEST_C, all logs are being received and applied on TEST_C.  Why am I seeing the 12154 error in the alert log?  Is it because log shipping was still deferred on the primary to TEST_C?

        • 1. Re: FAL[client, ARC1]: Error 12154 connecting to TEST_A,TEST_B for fetching gap sequence
          mrmessin

          I would start by checking the following:

           

          password files are in sync, copy the password file from the primary database to the standby database ($ORACLE_HOME/dbs) and make sure file is named with the standby instance name

          (example: orapwd<standbyinstancename>)

           

          That check that you can connect to primary from standby server without issue as the SYS user @TEST_A (sqlplus sys@TEST_A as sysdba), this will check that the sys user can connect and that TNS is ok.

          • 2. Re: FAL[client, ARC1]: Error 12154 connecting to TEST_A,TEST_B for fetching gap sequence
            mseberg

            Hello;

             

            The test is

             

             

            sqlplus sys/password@Standby as sysdba (from the primary system)

             

            and the same back from all server involved.

             

            Also see

             

             

             

            Troubleshooting - Heartbeat failed to connect to standby [ID 1432367.1]

            ORA-12514 on ARCn-Process after changing TNS-Alias [ID 1367311.1]

             

            Common Causes

             

            LOG_ARCHIVE_DEST_2 pointing to a tnsnames.ora entry with incorrect SERVICE_NAME

             

            Listener setup for Data Guard incorrect

             

            tnsnames.ora missing entry or incorrect entry

             

             

            Best Regards

             

            mseberg

            • 3. Re: FAL[client, ARC1]: Error 12154 connecting to TEST_A,TEST_B for fetching gap sequence
              Mimi Miami

              mseberg,

               

              I'm at a loss as to what to check now.  I'm still seeing the error in the alert log on mount for TEST_C.  Here's what I've done:

               

              I verified I can sqlplus sys/password@standby as sysdba (from primary) to both standbys.  I also verified that I can sqlplus into the primary and the other standby from each standby.

               

              I followed the steps in [ID 1367311.1] and then restarted TEST_C but still got the same error after mount in the alert log:

               

              Completed: ALTER DATABASE   MOUNT

              Error 12154 received logging on to the standby

              FAL[client, ARC1]: Error 12154 connecting to TEST_A,TEST_B for fetching gap sequence

              ARC3: Archival started

              ARC0: STARTING ARCH PROCESSES COMPLETE

              Mon Mar 31 13:26:22 2014

               

              I looked at [ID 1432367.1] and checked each of the items listed for ORA-12154, all seemed ok:

               

              • ORA-12154
              The given Connect Descriptor used for Log Transport Services cannot be resolved
              - Ensure the TNS-Alias setup with log_archive_dest_n exists in the TNSNAMES.ORA and is valid (Spelling, Brackets,...)
              - Try to manually connect to the Standby Database using the same TNS-Alias
              - Verify if you modified the TNSNAMES.ORA since the Database ARCn and LNS-Processes started; they may not be aware of the Change. So you may have to kill those so that they get respawned again

               

              I also double checked the listener is set as follows on all three servers (and I reloaded the listener to verify):

               

                  (SID_DESC =

                    (SID_NAME = TEST)

                    (ORACLE_HOME = /oracle/1120308)

                    (ENVS= "LD_LIBRARY_PATH=/oracle/1120308/lib")

                  )

               

              I also double checked my tnsnames.ora is set correctly as follows:

               

              On primary:

               

               

              TEST =

                (DESCRIPTION =

                 (ADDRESS_LIST =

                  (ADDRESS =

                   (PROTOCOL = TCP)

                   (Host = server1.cfr.test.edu)

                   (Port = 1526)))

                 (CONNECT_DATA =

                  (SID = TEST)))

              TEST_A =

                (DESCRIPTION =

                 (ADDRESS_LIST =

                  (ADDRESS =

                   (PROTOCOL = TCP)

                   (Host = server1.cfr.test.edu)

                   (Port = 1526)))

                 (CONNECT_DATA =

                  (SID = TEST)))

              TEST_B =

                (DESCRIPTION =

                 (ADDRESS_LIST =

                  (ADDRESS =

                   (PROTOCOL = TCP)

                   (Host = server2.cfr.test.edu)

                   (Port = 1521)))

                 (CONNECT_DATA =

                  (SID = TEST)))

              TEST_C =

                (DESCRIPTION =

                 (ADDRESS_LIST =

                  (ADDRESS =

                   (PROTOCOL = TCP)

                   (Host = server3.cfr.test.edu)

                   (Port = 1526)))

                 (CONNECT_DATA =

                  (SID = TEST)))

               

              On 1st standby (TEST_B):

               

              TEST =

                (DESCRIPTION =

                 (ADDRESS_LIST =

                  (ADDRESS =

                   (PROTOCOL = TCP)

                   (Host = server2.cfr.test.edu)

                   (Port = 1521)))

                 (CONNECT_DATA =

                  (SID = TEST)))

              TEST_A =

                (DESCRIPTION =

                 (ADDRESS_LIST =

                  (ADDRESS =

                   (PROTOCOL = TCP)

                   (Host = server1.cfr.test.edu)

                   (Port = 1526)))

                 (CONNECT_DATA =

                  (SID = TEST)))

              TEST_B =

                (DESCRIPTION =

                 (ADDRESS_LIST =

                  (ADDRESS =

                   (PROTOCOL = TCP)

                   (Host = server2.cfr.test.edu)

                   (Port = 1521)))

                 (CONNECT_DATA =

                  (SID = TEST)))

              TEST_C =

                (DESCRIPTION =

                 (ADDRESS_LIST =

                  (ADDRESS =

                   (PROTOCOL = TCP)

                   (Host = server3.cfr.test.edu)

                   (Port = 1526)))

                 (CONNECT_DATA =

                  (SID = TEST)))


              On 2nd standby (TEST_C):

               

              TEST =

                (DESCRIPTION =

                 (ADDRESS_LIST =

                  (ADDRESS =

                   (PROTOCOL = TCP)

                   (Host = server3.cfr.test.edu)

                   (Port = 1526)))

                 (CONNECT_DATA =

                  (SID = TEST)))

              TEST_A =

                (DESCRIPTION =

                 (ADDRESS_LIST =

                  (ADDRESS =

                   (PROTOCOL = TCP)

                   (Host = server1.cfr.test.edu)

                   (Port = 1526)))

                 (CONNECT_DATA =

                  (SID = TEST)))

              TEST_B =

                (DESCRIPTION =

                 (ADDRESS_LIST =

                  (ADDRESS =

                   (PROTOCOL = TCP)

                   (Host = server2.cfr.test.edu)

                   (Port = 1521)))

                 (CONNECT_DATA =

                  (SID = TEST)))

              TEST_C =

                (DESCRIPTION =

                 (ADDRESS_LIST =

                  (ADDRESS =

                   (PROTOCOL = TCP)

                   (Host = server3.cfr.test.edu)

                   (Port = 1526)))

                 (CONNECT_DATA =

                  (SID = TEST)))

              • 4. Re: FAL[client, ARC1]: Error 12154 connecting to TEST_A,TEST_B for fetching gap sequence
                oscrub

                Have you tried using SERVICE_NAME instead of SID in your tnsnames.ora files? So for example, the entry for TEST_C in all servers would be:

                 

                TEST_C =

                  (DESCRIPTION =

                   (ADDRESS_LIST =

                    (ADDRESS =

                     (PROTOCOL = TCP)

                     (Host = server3.cfr.test.edu)

                     (Port = 1526)))

                   (CONNECT_DATA =

                    (SERVER = DEDICATED)

                    (SERVICE_NAME = TEST_C)

                   )

                )

                 

                Also are you able to bounce the primary, not just TEST_C? I remember having a similar problem, and after pulling my hair for several hours even though all connectivity tests were working, on a whim I decided to bounce the instances and they started working again.

                • 5. Re: FAL[client, ARC1]: Error 12154 connecting to TEST_A,TEST_B for fetching gap sequence
                  Mimi Miami

                  oscrub,

                   

                  I tried using SERVICE_NAME instead of SID in tnsnames.ora and it made no difference.  I also shutdown all three databases and brought them up again but still saw the error in TEST_C.  I am able to successfully perform a switchover back and forth between TEST_A and TEST_C.  Everything seems normal except that error message.  I think at this point I'll open an SR with Oracle Support unless anyone else has any ideas?

                   

                  Mimi

                  • 6. Re: FAL[client, ARC1]: Error 12154 connecting to TEST_A,TEST_B for fetching gap sequence
                    oscrub

                    Hmm, that's all I could think of. If you're able to switchover the only thing I could think of it might be a possible bug? Sorry I got nothing else I'd agree to open an SR if no one else has anything.

                    • 7. Re: FAL[client, ARC1]: Error 12154 connecting to TEST_A,TEST_B for fetching gap sequence
                      Mimi Miami

                      I opened an SR with Oracle Support.  Will post the results as soon as I get a final answer from them.  Thank you everyone for your help!

                       

                      Mimi