===== 问题 =====

日志损坏无法应用日志(开启MRP应用系统会因无法应用日志而关闭)
Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION
Incomplete read from log member '/arch/2_1119_997386564.dbf'. Trying next member.
Incomplete read from log member '/arch/2_1119_997386564.dbf'. Trying next member.
Errors in file /oracle/app/oracle/diag/rdbms/orcldg/orcl/trace/orcl_pr00_40712.trc (incident=108241):
ORA-00353: log corruption near block 2056 change 15781869802803 time 07/31/2019 06:57:33
ORA-00334: archived log: '/arch/2_1119_997386564.dbf'
Incident details in: /oracle/app/oracle/diag/rdbms/orcldg/orcl/incident/incdir_108241/orcl_pr00_40712_i108241.trc
Errors with log /arch/2_1119_997386564.dbf
Fri Aug 02 08:53:53 2019
Dumping diagnostic data in directory=[cdmp_20190802085353], requested by (instance=1, osid=40712 (PR00)), summary=[incident=108241].
MRP0: Detected read corruption! Retry recovery once log is re-fetched...
Errors in file /oracle/app/oracle/diag/rdbms/orcldg/orcl/trace/orcl_pr00_40712.trc:
ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 2056 change 15781869802803 time 07/31/2019 06:57:33
ORA-00334: archived log: '/arch/2_1119_997386564.dbf'
Managed Standby Recovery not using Real Time Apply
Recovery interrupted!
Fri Aug 02 08:53:54 2019
Sweep [inc][108241]: completed

==== 备库损坏的日志 ====
ORA-00334: archived log: '/arch/1_1091_997386564.dbf'
ORA-00334: archived log: '/arch/2_1119_997386564.dbf'
ORA-00334: archived log: '/arch/1_1093_997386564.dbf'
RA-00334: archived log: '/arch/2_1120_997386564.dbf'
==== 手动传输损坏的日志到备库 ====
分几种情况
1、主库归档日志还保留,直接将备库损坏的日志scp至备库
2、主库归档日志已清理,rman备份还保留,rman恢复归档日志后传输到备库
3、主库归档日志已清理,无备份,只能重新搭建adg了

#下面说一下第二种情况

1、查看归档日志备份信息
rman target /
RMAN>list backup of archivelog from logseq 1080 until logseq 1100;


2、主库恢复1091日志文件至本地
RMAN> run{
2> set archivelog destination to '/rman_bak/archbak';
3> restore archivelog SEQUENCE BETWEEN 1080 AND 1100;
4> } executing command: SET ARCHIVELOG DESTINATION Starting restore at 02-AUG-19
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=872 instance=orcl1 device type=DISK archived log for thread 1 with sequence 1092 is already on disk as file +ARCH/archivelog/1_1092_997386564.dbf
archived log for thread 1 with sequence 1093 is already on disk as file +ARCH/archivelog/1_1093_997386564.dbf
archived log for thread 1 with sequence 1094 is already on disk as file +ARCH/archivelog/1_1094_997386564.dbf
archived log for thread 1 with sequence 1095 is already on disk as file +ARCH/archivelog/1_1095_997386564.dbf
archived log for thread 1 with sequence 1096 is already on disk as file +ARCH/archivelog/1_1096_997386564.dbf
archived log for thread 1 with sequence 1097 is already on disk as file +ARCH/archivelog/1_1097_997386564.dbf
archived log for thread 1 with sequence 1098 is already on disk as file +ARCH/archivelog/1_1098_997386564.dbf
archived log for thread 1 with sequence 1099 is already on disk as file +ARCH/archivelog/1_1099_997386564.dbf
archived log for thread 1 with sequence 1100 is already on disk as file +ARCH/archivelog/1_1100_997386564.dbf
channel ORA_DISK_1: starting archived log restore to user-specified destination
archived log destination=/rman_bak/archbak
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1080
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1081
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1082
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1083
channel ORA_DISK_1: reading from backup piece /rman_bak/bak/arch_20190801_23241_1
channel ORA_DISK_1: piece handle=/rman_bak/bak/arch_20190801_23241_1 tag=TAG20190801T022702
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log restore to user-specified destination
archived log destination=/rman_bak/archbak
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1084
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1085
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1086
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1087
channel ORA_DISK_1: reading from backup piece /rman_bak/bak/arch_20190801_23242_1
channel ORA_DISK_1: piece handle=/rman_bak/bak/arch_20190801_23242_1 tag=TAG20190801T022702
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log restore to user-specified destination
archived log destination=/rman_bak/archbak
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1088
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1089
channel ORA_DISK_1: reading from backup piece /rman_bak/bak/arch_20190801_23243_1
channel ORA_DISK_1: piece handle=/rman_bak/bak/arch_20190801_23243_1 tag=TAG20190801T022702
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log restore to user-specified destination
archived log destination=/rman_bak/archbak
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1090
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1091
channel ORA_DISK_1: reading from backup piece /rman_bak/bak/arch_20190802_23296_1
channel ORA_DISK_1: piece handle=/rman_bak/bak/arch_20190802_23296_1 tag=TAG20190802T022801
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
Finished restore at 02-AUG-19


3、将1091#日志文件传输到备库
4、备库开启MRP应用并查看日志应用情况
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
SELECT NAME,applied FROM v$archived_log where applied='NO';
日志部分输出:
Media Recovery Log /arch/2_1125_997386564.dbf
Fri Aug 02 10:49:25 2019
Media Recovery Log /arch/1_1098_997386564.dbf
Fri Aug 02 10:49:36 2019
Media Recovery Log /arch/2_1126_997386564.dbf
Fri Aug 02 10:50:43 2019
Media Recovery Log /arch/1_1099_997386564.dbf
Fri Aug 02 10:50:57 2019

#查看进程状态:
select process,status,thread#,sequence# from v$managed_standby order by 3,1;
PROCESS STATUS THREAD# SEQUENCE#
--------- ------------ ---------- ----------
RFS IDLE 0 0
RFS IDLE 0 0
RFS IDLE 0 0
ARCH CLOSING 1 1457
ARCH CLOSING 1 1073
MRP0 APPLYING_LOG 1 1095
RFS WRITING 1 1458
ARCH CLOSING 2 1485
ARCH CLOSING 2 1483
RFS WRITING 2 1486 ORA-00334: archived log: '/arch/1_1156_997386564.dbf' Incomplete read from log member '/arch/2_1183_997386564.dbf'. Trying next member.
Incomplete read from log member '/arch/2_1183_997386564.dbf'. Trying next member.
Errors in file /oracle/app/oracle/diag/rdbms/orcldg/orcl/trace/orcl_pr00_1605.trc (incident=108235):
ORA-00353: log corruption near block 6152 change 15781873869856 time 07/31/2019 13:22:46
ORA-00334: archived log: '/arch/2_1183_997386564.dbf MRP0: Background Media Recovery process shutdown (orcl)
Fri Aug 02 13:10:28 2019


#手动传输日志:1_1156_997386564.dbf、/arch/2_1183_997386564.dbf
Media Recovery Log /arch/1_1156_997386564.dbf
Media Recovery Log /arch/2_1183_997386564.dbf
Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION
Media Recovery Log /arch/2_1184_997386564.dbf
Fri Aug 02 14:53:11 2019


#核查以下日志是否applied
ORA-00334: archived log: '/arch/1_1166_997386564.dbf'
ORA-00334: archived log: '/arch/1_1163_997386564.dbf' /arch/1_1091_997386564.dbf
/arch/2_1119_997386564.dbf
/arch/1_1093_997386564.dbf
/arch/2_1120_997386564.dbf
/arch/2_1124_997386564.dbf
/arch/1_1156_997386564.dbf
/arch/2_1183_997386564.dbf
/arch/1_1158_997386564.dbf
/arch/1_1159_997386564.dbf
/arch/1_1160_997386564.dbf
/arch/1_1161_997386564.dbf
/arch/2_1190_997386564.dbf
/arch/1_1163_997386564.dbf
/arch/1_1166_997386564.dbf
/arch/2_1228_997386564.dbf ORA-16014: log 18 sequence# 1487 not archived, no available destinations
ORA-00312: online log 18 thread 2: '/oradata/orcldg/onlinelog/stdby_redo18.log ORA-00334: archived log: '/arch/2_1230_997386564.dbf'
ORA-00334: archived log: '/arch/2_1243_997386564.dbf'
ORA-00334: archived log: '/arch/2_1245_997386564.dbf'
ORA-00334: archived log: '/arch/1_1223_997386564.dbf'
ORA-00334: archived log: '/arch/2_1254_997386564.dbf'
ORA-00334: archived log: '/arch/1_1228_997386564.dbf' SQL> SELECT NAME,applied FROM v$archived_log where name like '%2_1254%'; NAME APPLIED
------------------------------ ---------
/arch/2_1254_997386564.dbf NO
/arch/2_1254_997386564.dbf YES
#以下日志已应用(展示的为未应用的状态):
tips:重新应用的日志有两个状态,实际以数据库日志和MRP进程状态为准

NAME APPLIED
------------------------------ ---------
/
arch/1_1091_997386564.dbf NO
/arch/2_1119_997386564.dbf NO
/arch/1_1092_997386564.dbf NO
/arch/1_1093_997386564.dbf NO
/arch/2_1124_997386564.dbf NO
/arch/1_1156_997386564.dbf NO
/arch/1_1158_997386564.dbf NO
/arch/1_1159_997386564.dbf NO
/arch/1_1160_997386564.dbf NO
/arch/1_1161_997386564.dbf NO
/arch/2_1190_997386564.dbf NO
/arch/1_1163_997386564.dbf NO
/arch/1_1166_997386564.dbf NO
/arch/2_1228_997386564.dbf NO
/arch/2_1243_997386564.dbf NO
/arch/2_1245_997386564.dbf NO
/arch/1_1223_997386564.dbf NO
/arch/2_1254_997386564.dbf NO
/arch/1_1228_997386564.dbf NO
/arch/1_1203_997386564.dbf
NO

#查看进程状态

select process,status,thread#,sequence# from v$managed_standby order by 3,1;
PROCESS STATUS THREAD# SEQUENCE#
--------- ------------ ---------- ----------
RFS IDLE 0 0
RFS IDLE 0 0
RFS IDLE 0 0
ARCH CLOSING 1 1457
ARCH CLOSING 1 1073
MRP0 APPLYING_LOG 1 1095
RFS WRITING 1 1458
ARCH CLOSING 2 1485
ARCH CLOSING 2 1483
RFS WRITING 2 1486

 


 
 

dataguard日志损坏处理的更多相关文章

  1. 大话RAC介质恢复---联机日志损坏

    对联机日志的损坏要根据日志状态进行分析,联机日志一般会有Current.Active和Inactive三种状态.Inactive状态不会造成数据丢失.而Active和Current状态的日志一般会造成 ...

  2. sql日志损坏造成数据库置疑解决办法

    --如果确定是日志损坏造成,请用下面的方法恢复日志文件.--第一步--use mastergo sp_configure 'allow updates', 1reconfigure with over ...

  3. dataguard日志自动删除

    dataguard日志自动删除 1.判断日志是否已经应用到今天.2.删除3天前的日志.3.主机.备机分别配置 ----check_del_arch.sh#!/bin/shORACLE_HOME=/ho ...

  4. Oracle redo 日志损坏的几种情况下的恢复

    Oracle redo 日志损坏的几种情况下的恢复 第一:损坏的redo为非正在使用的redo log 1.归档模式,不是当前正在日志损坏,数据库打开模式. 模拟损坏:SQL> select * ...

  5. Oracle联机日志损坏解决办法

    关于此问题,在网上找到一篇不错的文章. 大家都清楚,联机日志分为当前联机日志和非当前联机日志. ---------------------------------------------------- ...

  6. ORACLE DATAGUARD 日志传输状态监控

    ORACLE DATAGUARD的主备库同步,主要是依靠日志传输到备库,备库应用日志或归档来实现.当主.备库间日志传输出现GAP,备库将不再与主库同步.因此需对日志传输状态进行监控,确保主.备库间日志 ...

  7. 模拟状态为active的日志损坏的数据恢复实验(不完全恢复)

    1查看当前日志状态 首先不完全恢复是会丢失数据的,由此在当前打开的数据中我们创建一些测试数据,用来验证当我们进行完不完全恢复后该数据是否还存在. 2模拟删除CURRENT状态的日志 3启动数据验证错误 ...

  8. 模拟状态为inactive的日志损坏的恢复实验(完全恢复)

    1查看当前日志状态 从这里可以看到我们现在有三组日志,每组日志中只有1个成员.为了演示这个实验,我们为每个组增加1个成员. 2为每组增加组成员 添加后我们验证一下目前各日志成员的状态: 从上面的视图中 ...

  9. SQL 2005 日志损坏的恢复方法

    SQL 在突然停电或者非正常关机下,可能会出现日期文件错误,导致数据库不正常.恢复数据库方法如下 1.数据库服务停掉 将数据库文件备份 例如数据库名为 DTMS 则将 DTMS.mdf 备份出来. 2 ...

随机推荐

  1. Windows核心编程 第四章 进程(上)

    第4章 进 程     本章介绍系统如何管理所有正在运行的应用程序.首先讲述什么是进程,以及系统如何创建进程内核对象,以便管理每个进程.然后将说明如何使用相关的内核对象来对进程进行操作.接着,要介绍进 ...

  2. HTTP1.0,1.1,2.0,HTTPS

    HTTP1.0/1.1/2.0/HTTPS HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和接收HTML页 ...

  3. 初入MongoDB

    初入MongoDB 业务需求,需要用到MongoDB.向来一直是mysql数据库的思想,一下转换为nosql还是很不适应.经过一个月的开发,写一下自己的感触.本文会对应mysql数据库进行说明. 数据 ...

  4. intellij idea的Maven项目运行报程序包找不到的错误

    概括一句话:IDEA的Terminal命令行输入mvn idea:idea或者mvn idea:module , 即可解决 重做过开发环境后在intellij idea中载入java工程,通过mave ...

  5. Mac终端使用tree命令查看目录结构

    使用brew管理tree扩展 brew search tree brew install tree tree

  6. windows的SEH异常处理以及顶层异常处理

    前言 windows的SEH结构化异常处理是基于线程的,传统的SEH结构化异常会基于堆栈形成一条包含异常回调函数地址的链(SEH链).而fs:[0](TEB的第一个字段)指向这条链的链头,当有异常发生 ...

  7. 【Azure Redis 缓存】Azure Cache for Redis服务中,除开放端口6379,6380外,对13000,13001,15000,15001 为什么也是开放的呢?

    问题描述 在使用安全检测工具对Azure Redis服务端口进行扫描时,发现Redis对外开放了13001, 13000,15000,15001端口.非常不理解的是,在门户上只开放了6379,6380 ...

  8. Introduction to x265 Rate Control Algorithm

    The rate control in x265 is the same as x264's implementation, which is mostly empirical. It include ...

  9. python介绍,计算机核心基础,与运行程序有关的三大核心硬件,操作系统

    python介绍,计算机核心基础,与运行程序有关的三大核心硬件,操作系统 引子 python是什么? 什么是编程语言?为何要有编程语言? 什么是编程?什么是程序?什么是进程?为何要编程? 计算机基础 ...

  10. Linux_yum命令详解

    一.yum命令语法 yum [options] [command] [package ...] 二.yum命令常用的选项: yum options -y //自动回答为"yes" ...