OGG-01028錯誤處理

sky_dizzy001發表於2014-02-11

OGG抽取程式報錯如下:
ERROR   OGG-01028  encountered commit SCN 3090.2667129739 (13274116074379) that is not greater than the highest
SCN already processed 3090.2667130101 (13274116074741) Redo Thread 2 (2) xid 18.24.28309117 (0x0012.0018.01aff67d), starting seq.rb
a 3509.60173328, scn 3090.2667129738 (13274116074378), commit seq.rba 3509.60174196 commit timestamp 2013-03-18 22:02:35.000000.

GGSCI (nhdb16) 16>  info ESCDB002

EXTRACT    ESCDB002  Last Started 2013-03-19 11:03   Status ABENDED
Checkpoint Lag       00:00:02 (updated 11:24:37 ago)
Log Read Checkpoint  Oracle Redo Logs
                     2013-03-19 21:28:38  Thread 1, Seqno 4735, RBA 21603584
Log Read Checkpoint  Oracle Redo Logs
                     2013-03-19 21:28:54  Thread 2, Seqno 3585, RBA 50791440

-rw-rw-rw-    1 oracle   oinstall    9999525 Mar 20 16:36 esc00019
-rw-rw-rw-    1 oracle   oinstall    7943251 Mar 20 18:55 esc00020

Solution Details:
1. Do an ETROLLOVER on Extract, and take note of the new sequence number of the trail file.
ALTER EXTRACT ESCDB002, ETROLLOVER

2. Start extract
START EXTRACT ESCDB002

GGSCI (nhdb16) 76> info ESCDB002

EXTRACT    ESCDB002  Last Started 2013-03-21 15:05   Status RUNNING
Checkpoint Lag       20:10:38 (updated 00:00:08 ago)
Log Read Checkpoint  Oracle Redo Logs
                     2013-03-20 18:54:46  Thread 1, Seqno 4791, RBA 18211856
Log Read Checkpoint  Oracle Redo Logs
                     2013-03-20 18:55:00  Thread 2, Seqno 3661, RBA 87376180

3. Send PUMP, LOGEND, to see if it's at the end of the previous trail.
SEND EXTRACT PNFHC002, LOGEND

4. Once it is at the end of the trail file, You must stop the pump, and do an ETROLLOVER for it too. Take note of the new trail file sequence number that is created from this step.
STOP EXTRACT PNFHC002
ALTER EXTRACT PNFHC002, ETROLLOVER

GGSCI (nhdb16) 80> info PNFHC002

EXTRACT    PNFHC002  Initialized   2013-03-20 14:35   Status STOPPED
Checkpoint Lag       00:00:00 (updated 00:00:11 ago)
Log Read Checkpoint  File /gglog/dirdat/enfzh002/esc00020
                     2013-03-20 18:54:47.000000  RBA 7943251

2013-03-20 14:17:30  INFO    OGG-01520  Rollover performed.  For each affected output trail of Version 10 or higher format, after starting the source extract, issue ALTER EXTSEQNO for that trail's reader (either pump EXTRACT or REPLICAT) to move the reader's scan to the new trail file;  it will not happen automatically.
EXTRACT altered.

[nhdb25:oracle]ls -la
total 0
drwxr-xr-x    2 oracle   oinstall        256 Mar 20 21:29 .
drwxr-xr-x   12 oracle   oinstall       4096 Mar 14 16:53 ..
-rw-rw-rw-    1 oracle   oinstall   47937377 Mar 20 18:55 rsc0004

5. Alter the pump to SEQNO to the new trail file created from step #1.
ALTER EXTRACT PNFHC002, EXTSEQNO 21 EXTRBA 0

6. Restart pump
START EXTRACT PNFHC002

7. Send Replicat, LOGEND to make sure it has processed all the remaining data, and stop Replicat.
SEND REPLICAT RSCDB002, LOGEND
STOP REPLICAT RSCDB002

8. If replicat is not at end of trail, generate a report and forcestop replicat
SEND REPLICAT RSCDB002, REPORT
STOP REPLICAT RSCDB002

9. Add the following parameters to replicat parameter file to allow replicat to process each trail record as a single transaction, or set them to 1 if you have any of these parameters:
GROUPTRANSOPS 1
MAXTRANSOPS 1

10. Restart replicat
START REPLICAT RSCDB002

11. Once replicat has completely processed the trail, stop the replicat
STOP REPLICAT RSCDB002

12. Edit the replicat parameter file:
     - Add parameter HANDLECOLLISIONS to Replicat parameter file
     - Remove or comment out GROUPTRANSOPS and MAXTRANSOPS or revert them back to their original values.

Note: There are pre-conditions for using  HANDLECOLLISIONS . Ther emust be either

a. no pkupdates
or
b. extract  has "FETCHOPTIONS FETCHPKUPDATECOLS"Also all the tables should have Primary key or unique index on the table to avoid data integrity issues when using handlecollisions.

13. ALTER REPLICAT, SEQNO to the new trail file created in step #4.
ALTER REPLICAT RSCDB002, EXTSEQNO 5 EXTRBA 0

14. Start Replicat
START REPLICAT RSCDB002

15. Once Replicat has processed the out of order SCN operations, disable HANDLECOLLISIONS. You could also look for the CSN and wait for Replicat to checkpoint past it.
SEND REPLICAT RSCDB002, NOHANDLECOLLISIONS.

16.Edit the replicat parameter and comment out the HANDLECOLLISIONS parameter. You do not need to stop/restart replicat. This will ensure that on any subsequent replicat restarts the parameter is disabled.

根據oracle給出的文件,測試引數如下:
THREADOPTIONS MAXCOMMITPROPAGATIONDELAY 60000 IOLATENCY 90000

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29468144/viewspace-1079330/,如需轉載,請註明出處,否則將追究法律責任。

相關文章