自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

實(shí)戰(zhàn)經(jīng)驗(yàn):Oracle DG 的歸檔缺失修復(fù)

數(shù)據(jù)庫(kù) Oracle
備庫(kù)上注冊(cè)歸檔文件alter database register logfile '歸檔文件絕對(duì)路徑' 或rman注冊(cè)日志catalog start with '';應(yīng)用日志,查看select * from V$ARCHIVE_GAP;,監(jiān)視是否還存在其它的GAP出現(xiàn)。如出現(xiàn),如上面步驟循環(huán)操作。

[[400548]]

本文轉(zhuǎn)載自微信公眾號(hào)「數(shù)據(jù)和云」,作者AIQ。轉(zhuǎn)載本文請(qǐng)聯(lián)系數(shù)據(jù)和云公眾號(hào)。

故障檢查

檢查歸檔同步情況

一、查看數(shù)據(jù)庫(kù)的情

  1. select database_role,flashback_on,open_mode,current_scn from v$database 
  2.  
  3. DATABASE_ROLE   FLASHBACK_ON      OPEN_MODE         CURRENT_SCN 
  4. ---------------- ------------------ -------------------- --------------- 
  5. PHYSICAL STANDBY NO        READ ONLY WITH APPLY  16657544972059 

二、查看歸檔的最大線程與最大接收的歸檔情況。

  1. select thread#,max(sequence#) from v$archived_log group by thread#; 
  2.  
  3. 生產(chǎn)庫(kù): 
  4. SQL> select thread#,max(sequence#) from v$archived_log group by thread#; 
  5.    THREAD# MAX(SEQUENCE#) 
  6. ---------- -------------- 
  7.    1     136973 
  8.    2     132693 
  9.    4     149599 
  10.    3     133277 
  11. --DG庫(kù) 
  12. SYS@hisnewdb> select thread#,max(sequence#) from v$archived_log group by thread#; 
  13.  
  14.    THREAD# MAX(SEQUENCE#) 
  15. ---------- -------------- 
  16.    1     136973 
  17.    2     132693 
  18.    4     149598 
  19.    3     133277    
  • 可見4個(gè)節(jié)點(diǎn)歸檔是都有會(huì)過來的,sequence都能對(duì)得上。

三、查是否存在GAP

  1. select * from v$archived_gap; 

日志應(yīng)用情況

查看延時(shí)的應(yīng)用情況

  1. select name ,value,time_computed from v$dataguard_stats where rownum<33; 
  2.  
  3. NAME         VALUE                  TIME_COMPUTED 
  4. -------------------------------- ---------------------------------------------------------------- ------------------------------ 
  5. transport lag       +11 06:41:27                03/04/2021 16:41:20 
  6. apply lag       +11 06:41:27                03/04/2021 16:41:20 
  7. apply finish time     +00 04:23:39.868              03/04/2021 16:41:20 
  8. estimated startup time     37                  03/04/2021 16:41:20 
  • 可看到apply lag的應(yīng)用已經(jīng)延時(shí)11天6小時(shí)了。
  • apply finish time應(yīng)用最快的恢復(fù)時(shí)長(zhǎng)為4小時(shí)。

恢復(fù)思路

應(yīng)用日志

  1. alter database recover managed standby databse cancel; --取消應(yīng)用日志 
  2. alter database open read only;  --打開只讀庫(kù) 
  3. alter database recover managed standby ;  
  4. alter database recover managed standby disconnect from session; -- 后臺(tái)應(yīng)用,建議上面命令,放前臺(tái)應(yīng)用。 

歸檔還保留或者GAP較少的情況

1)歸檔還在主庫(kù)

方法一:

首先通過備庫(kù)sql查出相應(yīng)的 node[thread#] 和歸檔位置 name:

  1. select name from v$archived_log where sequencebetween &1 and &2 and thread# = &3; 

傳輸上面文件到備庫(kù)歸檔位置 archive log list

  1. #1.asmcd命令 本地環(huán)境與asm存儲(chǔ)cp自由。 
  2. cp arch*.pdf /home/oracle/1.dbf 

備庫(kù)上注冊(cè)歸檔文件alter database register logfile '歸檔文件絕對(duì)路徑' 或rman注冊(cè)日志catalog start with '';

應(yīng)用日志,查看select * from V$ARCHIVE_GAP;,監(jiān)視是否還存在其它的GAP出現(xiàn)。如出現(xiàn),如上面步驟循環(huán)操作。

方法二:

在配置 fal_client=${備庫(kù)的監(jiān)聽} 和 fal_server=${主庫(kù)的監(jiān)聽}

直接應(yīng)用日志,由備庫(kù)尋找日志。

2)歸檔已在備庫(kù)

應(yīng)用日志

歸檔已經(jīng)被刪除或GAP較多的情況

查看歸檔所在的位置

alert.log日志:

  • 提供等thread 線程4的序列為148164的歸檔,獲取的序號(hào)有148164-148165
  • control_keep_record_keep_time是控制文件的重用記錄數(shù)據(jù)。提示在這個(gè)記錄天數(shù)內(nèi)沒找到歸檔文件,建議設(shè)置更長(zhǎng)些天數(shù)。以便GAP找到缺失的日志。
    • 默認(rèn)7天,1-365天范圍。
    • 記錄的是歸檔日志,各種備份記錄。
    • 不記錄數(shù)據(jù)文件,表空間,redo thread記錄。除非被drop,否則不會(huì)重用這部分記錄
  1. started logmerger process 
  2. Thu Mar 04 16:19:53 2021 
  3. Managed Standby Recovery not using Real Time Apply 
  4. Parallel Media Recovery started with 16 slaves 
  5. Waiting for all non-current ORLs to be archived... 
  6. All non-current ORLs have been archived. 
  7. Media Recovery Waiting for thread 4 sequence 148164 
  8. Fetching gap sequence in thread 4, gap sequence 148164-148165 
  9. Thu Mar 04 16:19:57 2021 
  10. Completed:  alter database recover managed standby database disconnect from session 
  11. ---------- 
  12. Thu Mar 04 16:21:50 2021 
  13. FAL[client]: Failed to request gap sequence 
  14.  GAP - thread 4 sequence 148164-148165 
  15.  DBID 3828421454 branch 984679630 
  16. FAL[client]: All defined FAL servers have been attempted. 
  17. ------------------------------------------------------------ 
  18. Check that the CONTROL_FILE_RECORD_KEEP_TIME initialization 
  19. parameter is defined to a value that's sufficiently large 
  20. enough to maintain adequate log switch information to resolve 
  21. archivelog gaps. 
  22. ------------------------------------------------------------ 
  23.  Thu Mar 04 16:22:25 2021 
  24. RFS[18]: Selected log 29 for thread 4 sequence 149600 dbid -466545842 branch 984679630 
  25. Thu Mar 04 16:22:25 2021 

1)找到當(dāng)前的最小SCN

對(duì)比數(shù)據(jù)文件最后檢查點(diǎn)的scn,數(shù)據(jù)文件頭部檢查點(diǎn)的scn,缺失歸檔的對(duì)應(yīng)scn(下個(gè)日志文件第一個(gè)更改號(hào)),當(dāng)前數(shù)據(jù)庫(kù)的scn:

  1. select thread#,low_sequence#,high_sequence# from v$archive_gap; 
  2.   
  3. col datafile_scn for 999999999999999 
  4. col DATAFILE_HEADER_SCN for 999999999999999 
  5. col current_scn for 999999999999999 
  6. col  next_change# for 999999999999999 
  7. select ( select min(d.checkpoint_change#) from v$datafile d ) datafile_scn , 
  8.   ( select min(d.checkpoint_change#) from v$datafile_header d where rownum=1) datafile_header_scn, 
  9.   (select current_scn from v$database) current_scn, 
  10.   (select next_change# from v$archived_log where sequence#=148164 and resetlogs_change# = (select d.resetlogs_change# from v$database d ) and rownum=1 ) next_change# 
  11. from dual; 
  12.  
  13. DATAFILE_SCN     DATAFILE_HEADER_SCN      CURRENT_SCN     NEXT_CHANGE# 
  14. ---------------- ------------------- ---------------- ---------------- 
  15.   16657544969028      16657544972060   16657544972059 

取上面最小的scn作為增量備份的SCN

2)主庫(kù)做SCN增量備份

停用備庫(kù)的日志應(yīng)用

  1. alter database recover managed standby database cancel; 

rman備份

  1. 切換日志
  2. 切記備份當(dāng)前控制文件
  3. 增量scn備份
  1. run { 
  2. allocate channel c1 device type disk;  
  3. allocate channel c2 device type disk;  
  4. allocate channel c3 device type disk;  
  5. allocate channel c4 device type disk;  
  6. allocate channel c5 device type disk;  
  7. allocate channel c6 device type disk;  
  8. CONFIGURE DEVICE TYPE DISK PARALLELISM 6 BACKUP TYPE TO BACKUPSET; 
  9. backup as compressed backupset current controlfile for standby format '/home/oracle/backup/backup_ctl_%U.rman'
  10. backup as compressed backupset incremental from scn 16657544969028 database format '/home/oracle/backup/backup_%d_%s_%c_%U_%T.rman' include  
  11. current controlfile for standby filesperset 10 tag 'forsdb_16657544969028_0304'
  12. release  channel c1 ;  
  13. release  channel c2 ;  
  14. release  channel c3 ;  
  15. release  channel c4 ;  
  16. release  channel c5 ;  
  17. release  channel c6 ;  

傳輸備份文件到備庫(kù)

  1. scp -rp /home/oracle/backup/backup host2:/home/oracle  

介質(zhì)恢復(fù)備庫(kù)

  1. 查出控制文件的絕對(duì)目錄位置,后停備庫(kù)
  2. 啟動(dòng)到nomount
  3. 恢復(fù)控制文件
  4. 啟動(dòng)到mount
  5. 恢復(fù)數(shù)據(jù)文件
  6. 檢查rman進(jìn)展
  1. select name from v$controlfile; 
  2. shu immediate; 
  3. startup nomount; 
  1. rman target / <<eof 
  2. restore standby controlfile from '/home/oracle/backup/backup_ctl_%U.rman'
  3. alter database mount;  
  4. eof 
  • 如果沒有單獨(dú)備份standby controlfile,就一個(gè)一個(gè)文件來測(cè)試恢復(fù)standby controflie
  1. restore standby controlfile to '/oradata/hisnewdb/control01.ctl' from '/home/oracle/backup/某個(gè)文件'
  • 如果文件太多,可以先rman注冊(cè)文件后,再恢復(fù)控制文件。
    • 要找開備庫(kù)mount狀態(tài)才能注冊(cè)
  1. rmant target / <<eof 
  2. startup mount;  
  3. catalog start with '/home/oracle/backup/'
  4. list backup of controlfile; 
  5. restore standby controlfile automatic; 
  6. eof 
  7. #大概是這樣。restore standby controlfile automatic;如果不通,就采用上面list的信息,找到具體含有standby controflile的備份文件,再通過restore standby controfile from '';來恢復(fù) 。 
  1. catalog start with '/home/oracle/backup/'
  2. recover database noredo; 

查看rman的恢復(fù)進(jìn)展:

  1. set line 9999 
  2. select sid,serial#,opname,round(sofar/totalwork*100) completed,trunc(elapsed_seconds/60) elapsed ,trunc(time_remaining/60) remaining,context ,target,sofar,totalwork 
  3. from v$session_longops 
  4. where opname like 'RMAN%' and opname not like '%aggregate%' and totalwork!=0 and sofar<>totalwork; 

應(yīng)用日志

檢查standby redo files是否存在:

  1. select * from v$standby_log; 

注冊(cè)standby redolog files

  1. -- 添加單個(gè)文件: 
  2. alter database add standby logfile group {組號(hào)} 'standby redo logs files 絕對(duì)目錄文件'
  3. -- 添加多個(gè)standby redologs file 
  4. alter database add standby logfile group {組號(hào)} ('standby redo logs file 1','logfiles2'); 

應(yīng)用日志

  1. alter database recover managed standby database cancel ;  
  2. startup mount;  
  3. alter database open read only
  4. select open_mode,status,protection_level,protection_mode from v$database ; 
  5. --前臺(tái)應(yīng)用日志 
  6. alter database recover managed standby database ;  
  7. -- 8 parallel 后臺(tái)應(yīng)用日志 
  8. alter database recover managed standby database parallel 8 disconnect from session; 

檢查應(yīng)用日志的情況

檢查各個(gè)線程thread#的最大應(yīng)用日志的序列,與主庫(kù)進(jìn)行對(duì)比。

  1. select thread#,max(sequence#) from v$archived_log where applied='YES' group by thread#; 

 

 

責(zé)任編輯:武曉燕 來源: 數(shù)據(jù)和云
相關(guān)推薦

2011-07-07 10:49:41

JavaScript

2013-01-25 10:37:51

敏捷開發(fā)

2023-10-23 13:03:04

2017-11-02 15:07:56

代碼重寫代碼開發(fā)

2017-01-05 16:29:00

2015-11-10 09:40:55

IT實(shí)施計(jì)劃IT

2015-11-10 09:50:51

IT實(shí)施計(jì)劃IT

2010-07-06 16:22:14

2009-10-20 09:17:27

2023-11-14 10:56:56

2010-02-23 16:17:59

2021-11-29 10:43:14

業(yè)務(wù)轉(zhuǎn)型員工CIO

2020-11-13 15:20:16

SCSS代碼前端

2017-08-21 08:20:03

海云捷迅教育云實(shí)戰(zhàn)

2009-02-20 10:09:00

網(wǎng)吧掉線路由器

2019-12-03 10:46:07

PHP高并發(fā)架構(gòu)

2021-12-24 08:18:01

CIO數(shù)據(jù)分析

2013-05-27 14:03:10

綜合布線布線經(jīng)驗(yàn)

2012-06-12 16:30:28

數(shù)據(jù)庫(kù)遷移

2019-11-13 10:16:14

大數(shù)據(jù)架構(gòu)數(shù)據(jù)科學(xué)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)