【OGG 故障處理】 丟失歸檔恢復


OGG 有兩天由於某種原因沒有啟動,而這段時間的備份文件缺失了一部分歸檔。恢復過程記錄如下:

GGSCI (xxxx) 6> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     DP_XXXX3    00:00:00      00:00:08    
EXTRACT     RUNNING     DP_XXXX4    00:00:00      00:00:05       
EXTRACT     ABENDED     EX_XXXX3    00:00:01      65:09:29    
EXTRACT     ABENDED     EX_XXXX4    00:00:01      65:09:35    


GGSCI (xxxx) 6> view report EX_XXXX1
2019-05-27 14:58:34  ERROR   OGG-00446  Could not find archived log for sequence 76437 thread 1 under default destinations SQL <SELECT  name    FROM v$archived_log   WHERE sequence# = :ora_seq_no AND    
     thread# = :ora_thread AND         resetlogs_id = :ora_resetlog_id AND         archived = 'YES' AND         deleted = 'NO'         AND standby_dest = 'NO'         order by name DESC>, error retrievin
g redo file name for sequence 76437, archived = 1, use_alternate = 0 Not able to establish initial position for sequence 76437, rba 6905872.

2019-05-27 14:58:34  ERROR   OGG-01668  PROCESS ABENDING.

檢查確認:
set line 200 pages 200
col name for a100
SELECT sequence#,name,thread#,resetlogs_id,archived,deleted FROM v$archived_log WHERE sequence# >= 76437;

 SEQUENCE# NAME                                                                                                    THREAD# RESETLOGS_ID ARC DEL
---------- ---------------------------------------------------------------------------------------------------- ---------- ------------ --- ---
     76437                                                                                                               1    898097516 YES YES
     76438                                                                                                               1    898097516 YES YES
     76439                                                                                                               1    898097516 YES YES
     76440                                                                                                               1    898097516 YES YES
     76441                                                                                                               1    898097516 YES YES
     76442                                                                                                               1    898097516 YES YES
     76443                                                                                                               1    898097516 YES YES
     76444                                                                                                               1    898097516 YES YES
     76445                                                                                                               1    898097516 YES YES
     76446                                                                                                               1    898097516 YES YES
     76447                                                                                                               1    898097516 YES YES
     76448                                                                                                               1    898097516 YES YES
     76449                                                                                                               1    898097516 YES YES
     76450                                                                                                               1    898097516 YES YES
     76451                                                                                                               1    898097516 YES YES
     76452                                                                                                               1    898097516 YES YES
     76453                                                                                                               1    898097516 YES YES
     76454                                                                                                               1    898097516 YES YES
     76455                                                                                                               1    898097516 YES YES
     76456                                                                                                               1    898097516 YES YES
     76457                                                                                                               1    898097516 YES YES
     76458                                                                                                               1    898097516 YES YES
     76459                                                                                                               1    898097516 YES YES
     76460                                                                                                               1    898097516 YES YES
     76461                                                                                                               1    898097516 YES YES
     76462                                                                                                               1    898097516 YES YES
     76463                                                                                                               1    898097516 YES YES
     76464                                                                                                               1    898097516 YES YES
     76465                                                                                                               1    898097516 YES YES

29 rows selected.

看不到歸檔路徑,DELETED='YES' ,可見確實歸檔丟失。

如果歸檔沒有丟失,將歸檔恢復到原來位置,重新啟動抽取進程,即可完成恢復。大概流程如下:

--1.檢查備份歸檔是否存在
rman target /
RMAN > list backup of archivelog sequence between 76437 and 76501;

--2.恢復歸檔
RMAN > restore archivelog from sequence 76437;

--3.確認歸檔恢復到了默認歸檔位置
--4.重新啟動抽取進程
./ggsci
start ex_xxxx3
info all
stats ex_xxxx3
stats dp_xxxx3
比對數據,確認恢復

再次確認后,RAC 兩個節點的歸檔都有丟失。

thread2: 52036 到 52041斷檔
thread1: 76495 到 76501斷檔

其中

進程3 對應的表只有insert操作,我們采用如下方式處理的:
比對數據將這段時間的數據插入進去(可以采用tns/exp where/plsql where/expdp where等方式),然后跳過這段時間進行同步

進程4 包含了更新插入刪除操作,只能通過重新初始化的方式恢復

 

進程3  補數據恢復

--1.獲取斷檔故障時間范圍
SQL> alter session set nls_date_format='YYYYMMDD HH24:MI:ss';
Session altered.
SQL> select THREAD#,SEQUENCE#,FIRST_TIME,NEXT_TIME from v$archived_log where  SEQUENCE# between 52036 and 52041;

 SEQUENCE# FIRST_TIME        NEXT_TIME
---------- ----------------- -----------------
     52036 20190526 20:05:42 20190526 21:05:41
     52037 20190526 21:05:41 20190526 21:34:56
     52038 20190526 21:34:56 20190526 22:34:54
     52039 20190526 22:34:54 20190526 23:34:54
     52040 20190526 23:34:54 20190527 00:34:55
     52041 20190527 00:34:55 20190527 01:34:55

6 rows selected.
SQL> select THREAD#,SEQUENCE#,FIRST_TIME,NEXT_TIME from v$archived_log where  SEQUENCE# between 76495 and 76501;

   THREAD#  SEQUENCE# FIRST_TIME        NEXT_TIME
---------- ---------- ----------------- -----------------
         1      76495 20190526 20:05:29 20190526 20:05:42
         1      76496 20190526 20:05:42 20190526 20:56:07
         1      76497 20190526 20:56:07 20190526 21:34:54
         1      76498 20190526 21:34:54 20190526 22:24:17
         1      76499 20190526 22:24:17 20190526 23:24:15
         1      76500 20190526 23:24:15 20190527 00:24:15
         1      76501 20190527 00:24:15 20190527 01:24:17

--2.將這段時間數據插入過去
insert into target_table select * from source_table where createtime>=to_date('20190526 20:05:29','YYYYMMDD HH24:MI:SS') AND createtime<=to_date('20190527 01:34:55','YYYYMMDD HH24:MI:SS');
--3.跳過這段數據同步
GGSCI (xxxx) 2> ALTER EXTRACT EX_XXXX3, THREAD 2, BEGIN 2019-05-27 01:34:56
EXTRACT altered.
GGSCI (xxxx) 2> ALTER EXTRACT EX_XXXX3, THREAD 1, BEGIN 2019-05-27 01:24:18
EXTRACT altered.
GGSCI (xxxx) 14> ALTER EXTRACT EX_XXXX3, ETROLLOVER

2019-05-28 17:21:15  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.

GGSCI (xxxx) 4> start EX_XXXX3


Sending START request to MANAGER ...
EXTRACT EX_XXXX3 starting

GGSCI (xxxx) 4> info all  --檢查狀態
GGSCI (xxxx) 4> info exttrail ./dirdat/lc

       Extract Trail: ./dirdat/lc
             Extract: EX_XXXX3
               Seqno: 2831          --tracefile SEQNO已經跳轉到2831 
                 RBA: 78985035
           File Size: 100M        
GGSCI (xxxx) 7> info DP_XXXX3

EXTRACT    DP_XXXX3  Last Started 2019-05-27 14:47   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:04 ago)
Log Read Checkpoint  File ./dirdat/lc002830             --DB進程的trace文件不能自動跳轉
                     2019-05-28 17:12:21.854829  RBA 1084
GGSCI (xxxx) 7> ALTER EXTRACT DP_XXXX3, EXTSEQNO 2831, EXTRBA 0
GGSCI (xxxx) 7> START DP_XXXX3
目標端
GGSCI (xxxx) 1> start RP_XXXX3
GGSCI (xxxx) 1> stats RP_XXXX3  --檢查是否有數據,完成恢復

進程4 重新初始化恢復

 
         

源端:

1.根據SCN 導出數據
sqlplus ggadmin/ggadmin
select to_char(current_scn) from v$database; --15555721660
expdp userid=scott/tiger directory=expdir tables=testtable1 dumpfile=testtable1.dmp logfile=testtable1.log cluster=n CONTENT=data_only FLASHBACK_SCN=15555721660
scp 到目標端

 
         

2.目標端導入
impdp target/target directory=expdir remap_schema=scott:target dumpfile=testtable1.dmp table_exists_action=truncate

 
         

3. 修復OGG
隨便找個不斷檔的時間點恢復即可

STOP EX_XXXX4
ALTER EXTRACT EX_XXXX4, THREAD 2, BEGIN 2019-05-28 16:00:00
ALTER EXTRACT EX_XXXX4, THREAD 1, BEGIN 2019-05-28 16:00:00
ALTER EXTRACT EX_XXXX4, ETROLLOVER
2019-05-28 17:21:15  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.
start EX_XXXX4
info all

GGSCI (xxxx) 4> info exttrail ./dirdat/ld

       Extract Trail: ./dirdat/lc
             Extract: EX_XXXX3
               Seqno: 2638
                 RBA: 45765133
           File Size: 100M
STOP DP_XXXX4
ALTER EXTRACT DP_XXXX4, EXTSEQNO 2638, EXTRBA 0
START DP_XXXX4

目標端:
START REPLICAT RP_XXXX4,ATCSN 15555721660
完成恢復。

以上過程是后期梳理,並沒有保留詳細日志,所以存在一些出入,但大概操作步驟如此。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM