dataguard日志损坏处理
===== 问题 =====
日志损坏无法应用日志(开启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.dbfNO
#查看进程状态
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日志损坏处理的更多相关文章
- 大话RAC介质恢复---联机日志损坏
对联机日志的损坏要根据日志状态进行分析,联机日志一般会有Current.Active和Inactive三种状态.Inactive状态不会造成数据丢失.而Active和Current状态的日志一般会造成 ...
- sql日志损坏造成数据库置疑解决办法
--如果确定是日志损坏造成,请用下面的方法恢复日志文件.--第一步--use mastergo sp_configure 'allow updates', 1reconfigure with over ...
- dataguard日志自动删除
dataguard日志自动删除 1.判断日志是否已经应用到今天.2.删除3天前的日志.3.主机.备机分别配置 ----check_del_arch.sh#!/bin/shORACLE_HOME=/ho ...
- Oracle redo 日志损坏的几种情况下的恢复
Oracle redo 日志损坏的几种情况下的恢复 第一:损坏的redo为非正在使用的redo log 1.归档模式,不是当前正在日志损坏,数据库打开模式. 模拟损坏:SQL> select * ...
- Oracle联机日志损坏解决办法
关于此问题,在网上找到一篇不错的文章. 大家都清楚,联机日志分为当前联机日志和非当前联机日志. ---------------------------------------------------- ...
- ORACLE DATAGUARD 日志传输状态监控
ORACLE DATAGUARD的主备库同步,主要是依靠日志传输到备库,备库应用日志或归档来实现.当主.备库间日志传输出现GAP,备库将不再与主库同步.因此需对日志传输状态进行监控,确保主.备库间日志 ...
- 模拟状态为active的日志损坏的数据恢复实验(不完全恢复)
1查看当前日志状态 首先不完全恢复是会丢失数据的,由此在当前打开的数据中我们创建一些测试数据,用来验证当我们进行完不完全恢复后该数据是否还存在. 2模拟删除CURRENT状态的日志 3启动数据验证错误 ...
- 模拟状态为inactive的日志损坏的恢复实验(完全恢复)
1查看当前日志状态 从这里可以看到我们现在有三组日志,每组日志中只有1个成员.为了演示这个实验,我们为每个组增加1个成员. 2为每组增加组成员 添加后我们验证一下目前各日志成员的状态: 从上面的视图中 ...
- SQL 2005 日志损坏的恢复方法
SQL 在突然停电或者非正常关机下,可能会出现日期文件错误,导致数据库不正常.恢复数据库方法如下 1.数据库服务停掉 将数据库文件备份 例如数据库名为 DTMS 则将 DTMS.mdf 备份出来. 2 ...
随机推荐
- POJ1328贪心放雷达
题意: 有一个二维坐标,y>0是海,y<=0是陆地,然后只能在y=0的岸边上放雷达,有n个城市需要被监控,问最少放多少个雷达. 思路: 贪心去做就行了,其实题目不 ...
- springboot开发浅谈 2021/05/11
学习了这么久,本人希望有时间能分享一下,这才写下这篇浅谈,谈谈软件,散散心情. 这是本人的博客园账号,欢迎关注,一起学习. 一开始学习springboot,看了好多网站,搜了好多课程.零零落落学了一些 ...
- HDU - 3347 Calculate the expression — 模拟 + map存变量
传送门 题意:从输入开始,1.输入样例数:2.然后输入一组样例中的行数n:3.前n-1行为定义变量(之间使用空格隔开),只需要map存进去就可以了(这里有覆盖的情况,故使用mp["s&quo ...
- Linux单设备多路USB串口的实现方法介绍
某设备需要提供多路USB串口的功能给主机端使用,比如一路用作业务1通信功能,一路用作业务2通信功能,一路用作debug抓log用途,诸如此类.如下图所示. 要实现上述设备功能,可以参考如下步骤. 1) ...
- [bug] kibana:prevMsg":"Request Timeout after 3000ms
ES启动问题,内存不足 https://blog.csdn.net/qq_40907977/article/details/104499178 修改ES启动内存 https://blog.csdn.n ...
- [Qt] 项处理组件
项(Item):一个项存储了文字.文字的格式.自定义数据等. 1.项视图(Item View) 针对一个数据模型,可能有不同的展示需求,如文件夹中图片 ...
- body元素的常用属性
一.bgcolor属性 a.bgcolor 设置文档的背景颜色. b.用法 <body bgcolor="red"> body的常用属性! </body> ...
- Linux_配置匿名访问FTP服务
[RHEL8]-FTPserver:[Centos7]-FTPclient !!!测试环境我们首关闭防火墙和selinux(FTPserver和FTPclient都需要) [root@localhos ...
- STM32F7系列时钟相关问题:HSE模式配置(旁路模式、非旁路模式
从时钟源的角度,分为两类外部时钟(E)和内部时钟(I).从时钟速率的角度,分为两类高速时钟(HS)和低速时钟(LS).而把它们组合起来就有四种时钟:HSE.HIS.LSE.LSI.至于为什么会有这么复 ...
- ubuntu中安装qgit工具-(转自Linux中国)
QGit是一款由Marco Costalba用Qt和C++写的开源的图形界面 Git 客户端.它是一款可以在图形界面环境下更好地提供浏览版本历史.查看提交记录和文件补丁的客户端.它利用git命令行来执 ...