成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

實戰經驗:Oracle DG 的歸檔缺失修復

數據庫 Oracle
備庫上注冊歸檔文件alter database register logfile '歸檔文件絕對路徑' 或rman注冊日志catalog start with '';應用日志,查看select * from V$ARCHIVE_GAP;,監視是否還存在其它的GAP出現。如出現,如上面步驟循環操作。

[[400548]]

本文轉載自微信公眾號「數據和云」,作者AIQ。轉載本文請聯系數據和云公眾號。

故障檢查

檢查歸檔同步情況

一、查看數據庫的情

  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. 生產庫: 
  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庫 
  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個節點歸檔是都有會過來的,sequence都能對得上。

三、查是否存在GAP

  1. select * from v$archived_gap; 

日志應用情況

查看延時的應用情況

  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的應用已經延時11天6小時了。
  • apply finish time應用最快的恢復時長為4小時。

恢復思路

應用日志

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

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

1)歸檔還在主庫

方法一:

首先通過備庫sql查出相應的 node[thread#] 和歸檔位置 name:

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

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

  1. #1.asmcd命令 本地環境與asm存儲cp自由。 
  2. cp arch*.pdf /home/oracle/1.dbf 

備庫上注冊歸檔文件alter database register logfile '歸檔文件絕對路徑' 或rman注冊日志catalog start with '';

應用日志,查看select * from V$ARCHIVE_GAP;,監視是否還存在其它的GAP出現。如出現,如上面步驟循環操作。

方法二:

在配置 fal_client=${備庫的監聽} 和 fal_server=${主庫的監聽}

直接應用日志,由備庫尋找日志。

2)歸檔已在備庫

應用日志

歸檔已經被刪除或GAP較多的情況

查看歸檔所在的位置

alert.log日志:

  • 提供等thread 線程4的序列為148164的歸檔,獲取的序號有148164-148165
  • control_keep_record_keep_time是控制文件的重用記錄數據。提示在這個記錄天數內沒找到歸檔文件,建議設置更長些天數。以便GAP找到缺失的日志。
    • 默認7天,1-365天范圍。
    • 記錄的是歸檔日志,各種備份記錄。
    • 不記錄數據文件,表空間,redo thread記錄。除非被drop,否則不會重用這部分記錄
  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)找到當前的最小SCN

對比數據文件最后檢查點的scn,數據文件頭部檢查點的scn,缺失歸檔的對應scn(下個日志文件第一個更改號),當前數據庫的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)主庫做SCN增量備份

停用備庫的日志應用

  1. alter database recover managed standby database cancel; 

rman備份

  1. 切換日志
  2. 切記備份當前控制文件
  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 ;  

傳輸備份文件到備庫

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

介質恢復備庫

  1. 查出控制文件的絕對目錄位置,后停備庫
  2. 啟動到nomount
  3. 恢復控制文件
  4. 啟動到mount
  5. 恢復數據文件
  6. 檢查rman進展
  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 
  • 如果沒有單獨備份standby controlfile,就一個一個文件來測試恢復standby controflie
  1. restore standby controlfile to '/oradata/hisnewdb/control01.ctl' from '/home/oracle/backup/某個文件'
  • 如果文件太多,可以先rman注冊文件后,再恢復控制文件。
    • 要找開備庫mount狀態才能注冊
  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 '';來恢復 。 
  1. catalog start with '/home/oracle/backup/'
  2. recover database noredo; 

查看rman的恢復進展:

  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; 

應用日志

檢查standby redo files是否存在:

  1. select * from v$standby_log; 

注冊standby redolog files

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

應用日志

  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. --前臺應用日志 
  6. alter database recover managed standby database ;  
  7. -- 8 parallel 后臺應用日志 
  8. alter database recover managed standby database parallel 8 disconnect from session; 

檢查應用日志的情況

檢查各個線程thread#的最大應用日志的序列,與主庫進行對比。

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

 

 

責任編輯:武曉燕 來源: 數據和云
相關推薦

2025-05-30 08:09:28

2011-07-07 10:49:41

JavaScript

2013-01-25 10:37:51

敏捷開發

2023-10-23 13:03:04

2017-01-05 16:29:00

2017-11-02 15:07:56

代碼重寫代碼開發

2015-11-10 09:50:51

IT實施計劃IT

2010-07-06 16:22:14

2015-11-10 09:40:55

IT實施計劃IT

2009-10-20 09:17:27

2023-11-14 10:56:56

2010-02-23 16:17:59

2020-11-13 15:20:16

SCSS代碼前端

2017-08-21 08:20:03

海云捷迅教育云實戰

2021-11-29 10:43:14

業務轉型員工CIO

2025-06-27 09:00:00

勒索軟件網絡攻擊

2019-12-03 10:46:07

PHP高并發架構

2009-02-20 10:09:00

網吧掉線路由器

2009-12-02 20:03:58

無線路由器

2013-05-27 14:03:10

綜合布線布線經驗
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 不卡一区二区在线观看 | 一区二区在线免费播放 | 久草精品视频 | 国产精品影视 | 国产999精品久久久久久 | 午夜免费视频 | 亚洲欧美日韩精品久久亚洲区 | 老牛影视av一区二区在线观看 | 一级国产精品一级国产精品片 | 日批免费在线观看 | 三级成人片 | 一区二区三区免费 | 4hu最新网址 | 伊久在线| 极品电影院 | 日韩影院一区 | 久久九九99 | 午夜电影合集 | 久久精品国产一区二区电影 | 一区二区三区四区国产 | 亚洲精品一区二区网址 | 国产日产欧产精品精品推荐蛮挑 | 久久精品国产99国产精品 | 日本精品视频 | 99久久久国产精品免费消防器 | 中文字幕精品视频在线观看 | 九九热在线观看 | 草在线| 国产精品视频一二三区 | 色综合色综合 | 欧美xxxx黑人又粗又长 | 亚洲美女天堂网 | www.黄色片视频 | 成人av网站在线观看 | 一级做a爰片性色毛片16 | 欧美一级做性受免费大片免费 | 国产1区在线 | 国产91在线 | 欧美 | 人人做人人澡人人爽欧美 | 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | 精品九九九 |