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 DEMO1EINFO 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 stringAlso, 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_DESTNow, 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 DEMO1EThe 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!!
Please check recovery area destination parameter setting in database instance:
ReplyDeleteSQL> show parameter recovery
Hi,
DeleteYes, this shows the destination but I'm confused why GG unable to get the location from here.
Thanks!