ERROR OGG-01028 Recovery record is missing from log with seqno <no> when extract has reached log with seqno <no>, block size 512, and next_ checkpoint to RBA at <number>
when we manually stop the extract then current/next checkpoint is set to a zero length record in redo nay cause this issue
The zero length record is skipped as the gg thinks that there is no data and the rbd moves to the next block skipping the current one but the recovery code thinks that there is a data miss and then cause this error when we restart the extract
Step 1
Check the current status of the extract by using the
Syntax info extract <extract name>
info extract setupe
EXTRACT SETUPE Last Started 2012-10-07 01:05 Status ABENDED
Checkpoint Lag 00:00:00 (updated 01:16:44 ago)
Log Read Checkpoint Oracle Redo Logs
First Record Thread 1, Seqno 61, RBA 710938008
Step 2
Backup the files in the dirchk directory
dirchk directory lays under the root directory of the gg where all the checkpoint's for the replicates and the extracts are store
[oracle@fah gg]$ cd dirchk
[oracle@fah dirchk]$ cp SETUPE.cpe SETUPE_backup.cpe
[oracle@fah dirchk]$ cp SETUPE.cpb SETUPE_backup.cpb
Step 3
To find the current extract seq-no and read write and recovery rba issue the show ch command in the extract
SYNTAX: info <extract_name>,showch
GGSCI (fahdb.oasiserp.com) 4> info SETUPE,showch
EXTRACT SETUPE Last Started 2012-10-07 01:05 Status ABENDED
Checkpoint Lag 00:00:00 (updated 01:17:16 ago)
Log Read Checkpoint Oracle Redo Logs
First Record Thread 1, Seqno 61, RBA 710938008
Oracle RAC Redo Log
Start up Checkpoint (starting position in the data source):
Thread #: 1
Sequence #: 61
RBA: 710938008
Time stamp:
SCN: Not available
Redo File: +FLASH/fah/onlinelog/group_1.260.792016705
Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
Thread #: 1
Sequence #: 61
RBA: 710938008
Timestamp:
SCN: Not available
Redo File: +FLASH/fah/onlinelog/group_1.260.792016705
Current Checkpoint (position of last record read in the data source):
Thread #: 1
Sequence #: 61
RBA: 710938008
Timestamp:
SCN: Not available
Redo File: +FLASH/fah/onlinelog/group_1.260.792016705
Step4
we need to alter the current Checkpoint and the recovery Checkpoint to the next block number
To find the next block number we have a calculation
Ceil(Current Rba /block_number)*(block_number)
Ceil(Current Rba /block_number)*(block_number)
In the above scenario we have the
current RBA as 710938008
Block size as 512
SQL> select ceil (710938008/512)*512 from dual;
CEIL(710938008/512)*512
-----------------------
710938112
As the the above example the next RBA is 710938112 the block number and the seq number remains same
Step 5
SYNTAX: alter <extact_name >, extseqno <seq#>, extrba <rba#>
The extract extract_name ,extseqno <the same seq number>,extrba <The new Rba which is calculated above >
SYNTAX: alter <extact_name >, extseqno <seq#>, extrba <rba#>
The extract extract_name ,extseqno <the same seq number>,extrba <The new Rba which is calculated above >
GGSCI (fahdb.oasiserp.com) 8> alter extract SETUPE ,extseqno 61,extrba 710938112
ERROR: Only time stamps may be altered for checkpoints of all RAC instances. Use THREAD option to alter position per thread..
If we are using the Rac instance or the single node HAS service then we need to specify the thread number while alerting the extract
Step6
Check the size of the archive log and whether it is greater than the next rba which we have calculated if it is greater then proceed with the following steps
Alter the extract with the next rba
we need to alter the extract with the next rba to proceed
Synatx : alter extract <extract_name>,thread 1,extseqno <ext sequence number>,extrba <extrba number>
GGSCI (fah) 2> alter extract SETUPE ,thread 1, extseqno 61,extrba 710938112 [ next rba]
EXTRACT altered.
To Alter the extract with the io ext sequence
we need to alter the extract io sequence with the current rba we can proceed with yes when it Prompts you
Syntax Alter extract <extract_name>,thread1 ,ioextseqno <current seq number > ,ioextrba <current rba>
GGSCI (fah) 3> alter extract SETUPE ,thread 1, ioextseqno 61,ioextrba 710938008 [current rba]
2012-10-07 03:15:11 INFO OGG-00988 WARNING: Unsupported operation. This mig EXTRACT: ioseq = 61 iorba = 710938008.
Are you sure you want to continue? yes
EXTRACT altered.
Step7
Check the changes in the extract by issuing the info extract_name ,showch
once you conform the changes had taken effect start the extract
GGSCI (fah) 4> start extract SETUPE
Sending START request to MANAGER ...
EXTRACT SETUPE starting
check the extract status
GGSCI (fahdb.oasiserp.com) 10> info setupe
EXTRACT SETUPE Last Started 2012-10-07 03:15 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:05 ago)
Log Read Checkpoint Oracle Redo Logs
2012-10-07 03:17:11 Thread 1, Seqno 62, RBA 896522768
No comments:
Post a Comment