OGG-01028 Recovery record is missing ERROR
今天重啟一個Extract失敗,狀態為ABENDED,在ggserr.log檢視錯誤資訊如下:
Normal 0 false false false EN-US ZH-CN X-NONE2011-09-21 23:03:47 ERROR OGG-01028 Oracle GoldenGate Capture for Oracle, E130RKS2.prm: Recovery record is missing from log with seqno 9703 when extract has reached log with seqno 9704, block size 512, and next_checkpoint RBA at 57759732. 後來檢視metalink的一篇文章( Normal 0 false false false EN-US ZH-CN X-NONEGoldengate Extract Abended - Recovery Record Is Missing (Doc ID 1094767.1),原來是一個bug,原因如下:
The extract was manually stopped and current/next checkpoint is set to a zero length record in redo. This is a very rare condition, and the chance of hitting it is also low. When this extract was restarted, the error occurred. Extract's Current/Next checkpoint is set to a zero length record at the end of a log and on restart this zero length record is skipped as it has no useful data. Since this record is skipped the recovery code thinks this record was missed and generates an error.
This is bug 12693183, 12693291.
簡單來說,當stop extract時,current/next checkpoing正好指向一個0長度的redo記錄,當extract再次啟動時,回跳過該redo記錄,導致出現redo記錄丟失的錯誤,這種情況是很罕見的。
Metalink 提供的解決方法如下:
This bug is fixed in v11.1.1.1 with patches for bugs 12693183, 12693291.
The following workaround may also be used with no data loss.
Workaround: change the current checkpoint RBA to next block boundary, keep the recovery checkpoint the same
1. Get block size of your platform.
The block size is shown in the error message.
2010-05-04 15:42:23 GGS ERROR 190 Recovery record is missing from log with seqno 14496 when extract has reached log with seqno 14497, block size 512, and next_checkpoint RBA at 149274704.
For reference the following lists the block size of major platforms:
AIX, Linux, Sun, Windows & VMS: 512 Bytes
HP-UX, Tru64: 1024 Bytes
S390, MVS: 4096 Bytes.
2. Backup the checkpoint file in directory dirchk
3. info showch
Get current and recovery checkpoints, example:
EXTRACT EIDLD Last Started 2010-05-04 16:39 Status ABENDED
Checkpoint Lag 01:14:54 (updated 01:14:41 ago)
Log Read Checkpoint Oracle Redo Logs
2010-05-04 15:24:21 Seqno 14496, RBA 149274704
Current Checkpoint Detail:
Read Checkpoint #1
Oracle Redo Log
Startup Checkpoint (starting position in the data source):
Sequence #: 14496
RBA: 149273104
...................
Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
Sequence #: 14496
RBA: 149273104
...................
Current Checkpoint (position of last record read in the data source):
Sequence #: 14496
RBA: 149274704
..................
4. Alter both recovery checkpoint and current checkpoint to the start point of next block number
In this example,
ggsci> alter extract, ioextseqno 14496, ioextrba 149273104
6. info, showch
Confirm the change.
7. start
Note: Above example is for extract without threads option. For extract with threads option, "thread" is needed for "alter extract " command.
e.g., "ggsci> alter extract, extseqno 14497, extrba 0" will be
"ggsci> alter extract , thread , extseqno 14497,
extrba 0" (here, is the ogg thread number).
簡單的說就是手動把current checkpoint設定為下一個block,從而跳過長度為0的redo記錄。
已寫信給app那邊的人確認,等他們同意就可以開始做了。
要徹底解決這個問題,還需要為所有的Golden Gage軟體打上補丁。
Normal 0 false false false EN-US ZH-CN X-NONE2011-09-21 23:03:47 ERROR OGG-01028 Oracle GoldenGate Capture for Oracle, E130RKS2.prm: Recovery record is missing from log with seqno 9703 when extract has reached log with seqno 9704, block size 512, and next_checkpoint RBA at 57759732. 後來檢視metalink的一篇文章( Normal 0 false false false EN-US ZH-CN X-NONEGoldengate Extract Abended - Recovery Record Is Missing (Doc ID 1094767.1),原來是一個bug,原因如下:
The extract was manually stopped and current/next checkpoint is set to a zero length record in redo. This is a very rare condition, and the chance of hitting it is also low. When this extract was restarted, the error occurred. Extract's Current/Next checkpoint is set to a zero length record at the end of a log and on restart this zero length record is skipped as it has no useful data. Since this record is skipped the recovery code thinks this record was missed and generates an error.
This is bug 12693183, 12693291.
簡單來說,當stop extract時,current/next checkpoing正好指向一個0長度的redo記錄,當extract再次啟動時,回跳過該redo記錄,導致出現redo記錄丟失的錯誤,這種情況是很罕見的。
Metalink 提供的解決方法如下:
This bug is fixed in v11.1.1.1 with patches for bugs 12693183, 12693291.
The following workaround may also be used with no data loss.
Workaround: change the current checkpoint RBA to next block boundary, keep the recovery checkpoint the same
1. Get block size of your platform.
The block size is shown in the error message.
2010-05-04 15:42:23 GGS ERROR 190 Recovery record is missing from log with seqno 14496 when extract has reached log with seqno 14497, block size 512, and next_checkpoint RBA at 149274704.
For reference the following lists the block size of major platforms:
AIX, Linux, Sun, Windows & VMS: 512 Bytes
HP-UX, Tru64: 1024 Bytes
S390, MVS: 4096 Bytes.
2. Backup the checkpoint file in directory dirchk
3. info
Get current and recovery checkpoints, example:
EXTRACT EIDLD Last Started 2010-05-04 16:39 Status ABENDED
Checkpoint Lag 01:14:54 (updated 01:14:41 ago)
Log Read Checkpoint Oracle Redo Logs
2010-05-04 15:24:21 Seqno 14496, RBA 149274704
Current Checkpoint Detail:
Read Checkpoint #1
Oracle Redo Log
Startup Checkpoint (starting position in the data source):
Sequence #: 14496
RBA: 149273104
...................
Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
Sequence #: 14496
RBA: 149273104
...................
Current Checkpoint (position of last record read in the data source):
Sequence #: 14496
RBA: 149274704
..................
4. Alter both recovery checkpoint and current checkpoint to the start point of next block number
alter , extseqno , extrba
In the above example:
SQL> select ceil (149274704/512) * 512 from dual;
CEIL(149274704/512)*512
-----------------------
149275136
seq# remains the same as in the showch display.
ggsci> alter extract, extseqno 14496, extrba 149275136
In the above example:
SQL> select ceil (149274704/512) * 512 from dual;
CEIL(149274704/512)*512
-----------------------
149275136
seq# remains the same as in the showch display.
ggsci> alter extract
If
the new rba number is bigger than the current file size of the
archivelog file, you have to alter both checkpoint to start from RBA 0
in next seqno file.
For example, if the size of
archived log that has seqno 14496 is only 149275000, which is smaller
than the new RBA calculated, 149275136, you have to issue the following
command
ggsci> alter extract , extseqno 14497, extrba 0
5. Alter the extseqno and extrba of recovery checkpoint back to its original recovery checkpoint position
5. Alter the extseqno and extrba of recovery checkpoint back to its original recovery checkpoint position
ggsci> alter extract
6. info
Confirm the change.
7. start
Note: Above example is for extract without threads option. For extract with threads option, "thread
e.g., "ggsci> alter extract
簡單的說就是手動把current checkpoint設定為下一個block,從而跳過長度為0的redo記錄。
已寫信給app那邊的人確認,等他們同意就可以開始做了。
要徹底解決這個問題,還需要為所有的Golden Gage軟體打上補丁。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26277071/viewspace-708088/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- OGG-01028 Recovery record is missing ERROR[續]Error
- OGG-01028 Recovery record is missing from log 的BUG處理
- OGG-01028 Record position is beyond end of recovery
- MIGO error:Material control record missing in company codeGoError
- ERROR OGG-01028Error
- OGG-01028 Opening file errorError
- ServeRAID disk drive error recoveryServerAIError
- Oracle OCP IZ0-053(Recovery Missing Active Redo Log)Oracle
- keil error:#8:missing closing quote 處理Error
- GoldenGate extract process abended with error OGG-01028的處理GoError
- ERROR OGG-00446 Missing filename opening checkpoint file.Error
- Gradient_patch_recovery, Z_Z posteriori error estimatorError
- Common Causes and Solutions on ORA-376 Error Found in Backup & RecoveryError
- git push出現unpack failed: error Missing tree錯誤的解決方法GitAIError
- 【轉】fatal error C1189: #error : missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROSErrorMacROS
- Recovery from missing or corrupted datafile(多個資料檔案丟失或者損壞的恢復)
- LeetCode:Missing Number And First Missing PositiveLeetCode
- MRP0- Background Media Recovery terminated with error 1111Error
- react-recordReact
- RuntimeError: Error(s) in loading state_dict for SSD: Missing key(s) in解決辦法Error
- Causes and Solutions on ORA-1113 Error Found in Backup & Recovery_183367.1Error
- MRP0: Background Media Recovery terminated with error 328,ORA-00328Error
- Missing Subsequence Sum
- ntldr is missing怎麼解決? ntldr is missing怎麼回事?
- Daily record-SeptemberAI
- LoadRunner 11壓測時碰到錯誤Error: missing newline in E:\xx\RCV.datError
- First Missing Positive【hard】
- OGG-01028錯誤處理
- 實戰 Java 16 值型別 Record - 2. Record 的基本用法Java型別
- ttAdmin -Ramload Error TT0848: Recovery failed on 2 set(s) of data store filesErrorAI
- pl/sql record 詳解SQL
- delete duplication record in sql serverdeleteSQLServer
- gerrit "missing Change-Id"
- your Android sdk is missingAndroid
- NILDR is Missing解決方案
- B. Missing Subsequence Sum
- PB協議報錯 it is missing required fields: (cannot determine missing fields for lite message)協議UI
- Crash recovery和Media recovery的區別