Looking for something? Try here..

Friday, December 4, 2015

OGG-01423 No valid default archive log destination directory found for thread 1

Today while I was trying to set up GoldenGate sync between Oracle database 11.2.0.1 running on Windows 10 with Oracle database 12.1.0.2 running on openSUSE (this is a lab set up), I received the following error when attempting to start the real time extract.

ggsci > ADD EXTRACT DEMO1E, TRANLOG, BEGIN NOW
ggsci > ADD EXTTRAIL E:\oracle\ogg112101\dirdat\ea, EXTRACT DEMO1E, Megabytes 200
ggsci > start extract DEMO1E
INFO all command showed the process as ABENDED.
The report file DEMO1E.rpt shows the below.

...
...
...

2015-12-04 02:48:50  WARNING OGG-01423  No valid default archive log destination directory found for thread 1.

2015-12-04 02:48:50  INFO    OGG-01515  Positioning to begin time Dec 4, 2015 1:59:16 AM.

Source Context :
  SourceModule            : [er.common]
  SourceID                : [er/common.cpp]
  SourceFunction          : [extract_start_point]
  SourceLine              : [2090]

2015-12-04 02:49:10  ERROR   OGG-00446  Error 5 (Access is denied.) opening log file E:\ORACLE\ORADATA\ORCL\REDO03.LOG for sequence 57. Not able to establish initial position for begin time 2015-12-04 01:59:16.

2015-12-04 02:49:10  ERROR   OGG-01668  PROCESS ABENDING.
A similar issue may arise if the source is a RAC clustered database under different scenario, but this is not a RAC database but a standalone.

So why is this error reported? (see highlighted error line)
If you look at the archive log destination in the database, we have defined it to use the FRA.

SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     55
Next log sequence to archive   57
Current log sequence           57

SQL> sho parameter log_archive_dest_1

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1                   string      

Also, there is no value defined in the default archive location ( the database is created using DBCA while installing the Oracle software using default values)

Hence, I tried to give a location to the archive log so that GoldenGate can check in the location specified. I did the below.

SQL> alter system set log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST' scope=both;

SQL> sho parameter log_archive_dest_1

NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------------------------------
log_archive_dest_1                   string      location=USE_DB_RECOVERY_FILE_DEST

Now, after setting the location, I started the extract to which the response is positive with the following contents in the report file.

ggsci > start extract DEMO1E
The report file contents...

...
...
...
             
2015-12-04 02:57:23  WARNING OGG-01423  No valid default archive log destination directory found for thread 1.

2015-12-04 02:57:24  INFO    OGG-01515  Positioning to begin time Dec 4, 2015 2:56:48 AM.

2015-12-04 02:57:24  INFO    OGG-01052  No recovery is required for target file E:\oracle\ogg112101\dirdat\ea000000, at RBA 0 (file not opened).

2015-12-04 02:57:24  INFO    OGG-01478  Output file E:\oracle\ogg112101\dirdat\ea is using format RELEASE 11.2.

***********************************************************************
**                     Run Time Messages                             **
***********************************************************************


2015-12-04 02:57:25  INFO    OGG-01515  Positioning to begin time Dec 4, 2015 2:56:48 AM.

2015-12-04 02:57:25  INFO    OGG-01516  Positioned to Sequence 57, RBA 3447824, SCN 0.0, Dec 4, 2015 2:56:48 AM.

2015-12-04 02:57:25  INFO    OGG-01517  Position of first record processed Sequence 57, RBA 3447824, SCN 0.2086081, Dec 4, 2015 2:57:15 AM.

Now, we have the same warning message, but the extract process started to process the first record. (I'm still wondering why does it throw Access is denied for online redo log when all the permission required is available ;-) )

Happy Troubleshooting!!

2 comments:

  1. Please check recovery area destination parameter setting in database instance:

    SQL> show parameter recovery

    ReplyDelete
    Replies
    1. Hi,
      Yes, this shows the destination but I'm confused why GG unable to get the location from here.

      Thanks!

      Delete