FAL[client]: Error fetching gap sequence, no FAL server specified

FAL[client]: Error fetching gap sequence, no FAL server specified

In a physical dataguard standby database, we can see messages like fetching message error with gap sequence. These errors can sometimes be resolved automatically by fal_server parameter which will resync after a temporary network flap

Media Recovery Waiting for thread 1 sequence 345 branch(resetlogs_id) 1054563556
FAL[client]: Error fetching gap sequence, no FAL server specified

If the gap are not resolved automatically, then DBA intervention is required

  1. Check the fal parameters on both primary and standby databases
SQL> show parameter fal

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
fal_client                           string
fal_server                           string


SQL> alter system set fal_client=orcl;

System altered.

SQL> alter system set fal_server=orcldgp;

System altered.

2) Automatic gap resolution can be detected sometimes in v$dataguard_status view

SQL> select message from v$dataguard_status;

Error 12154 received logging on to the standby
FAL[client, MRP0]: Error 12154 connecting to ORCL for fetching gap sequence
Fetching gap sequence in thread 1, gap sequence 1-1

3) Check the connectivity from primary database to standby with service name connection string using sysdba

[oracle@orcl ~]$ sqlplus test/password@orcldgp as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Mon Jun 21 17:30:53 2021

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


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options

SQL>

4) Check for all log archive destinations are enabled

SQL> select ''||name||' - '||VALUE||'' from v$parameter where name like '%log_archive_dest_state%' order by regexp_substr(name,'[[:digit::]]') asc fetch next 3 rows only;

''||NAME||'-'||VALUE||''
--------------------------------------------------------------------------------
log_archive_dest_state_1 - enable
log_archive_dest_state_3 - enable
log_archive_dest_state_2 - enable

5) Validate tns connectivity from primary

[oracle@orcl ~]$ tnsping orcldgp

TNS Ping Utility for Linux: Version 12.1.0.2.0 - Production on 21-JUN-2021 17:58:39

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

Used parameter files:
/oracle/base/product/12.1.0/dbhome_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.123)(PORT = 1526)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcldgp)(UR = A)))
OK (10 msec)

Check for log_archive_config parameter set on both primary and standby

SQL> show parameter log_archive_config

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_config                   string      DG_CONFIG=(ORCL,ORCLDG,ORCLDGP
                                                 )

Check for all log_archive_dest_n parameters and validate the sub parameters inside it

SQL> select ''||name||' - '||VALUE||'' from v$parameter where name like '%log_archive_dest_%' order by regexp_substr(name,'[[:digit::]]') asc fetch next 3 rows only;

''||NAME||'-'||VALUE||''
--------------------------------------------------------------------------------
log_archive_dest_1 - location=USE_DB_RECOVERY_FILE_DEST
log_archive_dest_3 - service=orcldgp async valid_for=(online_logfiles,primary_ro
le) db_unique_name=orcldgp

log_archive_dest_2 - service="orcldg", LGWR ASYNC delay=0 net_timeout=30 db_uniq
ue_name=orcldg valid_for=(online_logfile,primary_role)

Bounce MRP

SQL> alter database recover managed standby database cancel;

Database altered.

SQL> alter database recover managed standby database using current logfile disconnect;

Database altered.

Leave a Reply

Discover more from XscalibaL

Subscribe now to keep reading and get access to the full archive.

Continue reading