rman恢复的方式搭建dataguard后redo log 的处理

转载:http://www.dbdream.org/?p=548

搭建DATA GUARD,利用RMAN备份恢复备库时,由于RMAN不会备份REDO文件,还原后的备库缺少REDO日志文件,对于用归档日志同步数据的备库,影响不是很大,依然可以应用日志同步主库的数据变更,但是如果主/备库切换的话,就不行了,对于这样控制文件里记录了REDO的信息,但是在存储上却没有对应的文件的备库,此时删除控制文件中的REDO信息是不允许的。

SQL> alter database drop logfile group 1;
alter database drop logfile group 1
*
ERROR at line 1:
ORA-01156: recovery or flashback in progress may need access to files

那该如何解决这个问题呢,也很简单,不让删这些没有文件的REDO信息,还是让建的,那么就先在主库和备库都建3组新的REDO日志。

SQL> alter database add logfile group 4 '+DATA/fhacdb/redo04.log' size 1024M;
Database altered.
SQL> alter database add logfile group 5 '+DATA/fhacdb/redo05.log' size 1024M;
Database altered.
SQL> alter database add logfile group 6 '+DATA/fhacdb/redo06.log' size 1024M;
Database altered.

现在主库和备库的控制文件记录的REDO日志信息如下:
主库:

SQL> select GROUP#,SEQUENCE#,STATUS,ARCHIVED from v$log;
    GROUP#  SEQUENCE# STATUS           ARC
---------- ---------- ---------------- ---
         1      17476 ACTIVE           YES
         2      17474 INACTIVE         YES
         3      17475 INACTIVE         YES
         4      17477 ACTIVE           YES
         5      17478 ACTIVE           YES
         6      17479 CURRENT          NO

备库:

SQL> select GROUP#,SEQUENCE#,STATUS,ARCHIVED from v$log;
      GROUP#  SEQUENCE# STATUS           ARC
---------- ---------- ---------------- ---
         1      17476 CLEARING         YES
         2      17474 CLEARING         YES
         3      17475 CLEARING         YES
         4      17477 CLEARING         YES
         5      17478 CLEARING         YES
         6      17479 CURRENT          YES

备库不让删REDO日志,不代表主库也不让删,切换主库日志,当STATUS状态为INACTIVE时,删掉前3组REDO日志。

SQL> alter database drop logfile group 1;
Database altered.
SQL> alter database drop logfile group 2;
Database altered.
SQL> alter database drop logfile group 3;
Database altered.

此时备库还是那6组日志信息,包括前3组没有文件的日志信息和后建立的3组正确的REDO日志,而主库现在只有3组后建立的REDO信息,这样就好办啦,主库重建备库STANDBY控制文件,发给备库,备库只要应用这个控制文件就没有前3组错误的REDO信息啦。

SQL> select GROUP#,SEQUENCE#,STATUS,ARCHIVED from v$log;
      GROUP#  SEQUENCE# STATUS           ARC
---------- ---------- ---------------- ---
         4      17477 CLEARING         YES
         5      17478 CLEARING         YES
         6      17479 CURRENT          YES

Categories:blogoracle技术文章Tags:ORA-01156ORACLEstandby丢失redo日志文件

Comments
(2)
Trackbacks (0)Leave
a comment
Trackback

  1. lixora

    March 8th, 2014 at 21:48 | #1

    Reply | Quote

    宋大师,这里的‘’此时主库还是那6组日志信息,包括前3组没有文件的日志信息和后建立的3组正确的REDO日志,而主库现在只有3组后建立的REDO信息 ‘’ 中的 –‘’此时主库还是‘’–应该是备库吧,笔误;
    另外我有个疑惑这里,‘此时主库还是那6组日志信息,包括前3组没有文件的日志信息和后建立的3组正确的REDO日志,而主库现在只有3组后建立的REDO信息,这样就好办啦,主库重建备库STANDBY控制文件,发给备库,备库只要应用这个控制文件就没有前3组错误的REDO信息啦。’ 备库使用主库新建的的standby 后还需要rename 备库的redolog name吧,因为控制文件记录的主库的redolog的信息,不知道这样理解对么?请大师指点下

时间: 2024-08-17 09:29:10

rman恢复的方式搭建dataguard后redo log 的处理的相关文章

操作系统-ClouderaManager方式搭建CDH环境后,无法启动各个服务

问题描述 ClouderaManager方式搭建CDH环境后,无法启动各个服务 困扰好几天了,百度不出来.可能是操作系统的问题,但是不熟悉Linux,无从下手.请各路大侠指点!! 1. 环境 测试用的小集群. ClouderaManager 5 , CDH 5.1.3 ,CentOS 6.6 操作系统. 6台服务器,64GB内存,512GB磁盘. 已关闭防火墙.SELinux.已配置互信.已同步时钟.已增大ulimit.磁盘.内存 剩余充足. 2. 搭建方式 卸载(rpm -e --nodeps

【RMAN】RMAN恢复各类错误解决总结

[RMAN]RMAN恢复各类错误解决总结 第一章 RMAN恢复错误 1.1  不完全恢复错误 1.1.1  RMAN-06023 RMAN-06023 : no backup or copy of datafile found to restore 说明 RMAN 的备份信息如下:   RMAN> list backupset summary; List of Backups =============== Key     TY LV S Device Type Completion Time

搭建dataguard碰到的几个小问题

今天在搭建dataguard环境的时候,发现操作还是生疏了,环境也被反反复复折腾了好久,也碰到了一些小问题,总结一下. 第一个问题是使用sys账户登录rman的时候总是报错.比如密码是oracle ,使用sqlplus登录的时候总是报错. >sqlplus sys/oracle@test11g as sysdbaERROR:ORA-01031: insufficient privileges 这个问题的思路就是密码文件出现了问题,但是使用orapwd重建密码文件都不见效,最后冷静下来,使用tns

DataGuard - 利用Cascaded Redo Log Destinations避免WAN稳定性问题

问题 最近一直头疼于DataGuard环境中万一网络失败将导致的Primary库短时间内无法正常工作的问题. 这个问题的现象基本上是这样:当Primary和Standby之间的网络出现问题,比如说在测试环境中我们拔掉Standby的网线,此时当Primary发生日志切换(Log Switch)的时候,Primary将试图通知Standby同样作归档,但是由于网络不通,就会默认有30秒的TimeOut,而在这30秒的时间内,Primary上的任何DML操作都将被悬停.至今为止我还没有找到很好的办法

rman恢复方案和oracle异机恢复_oracle

注:①恢复的前提是已经做好备份②完全恢复数据库是数据库遇到故障,在恢复时候没有丢失任何已经提交事物数据的恢复不完全恢复数据库是数据库遇到故障,在恢复时候丢失部分数据的恢复③在linux下需要设置环境变量,即需要恢复的oracle数据库的实例名:export ORACLE_SID=orcl④当用resetlogs启动数据库时,应该要对数据库进行一次全备份 一.恢复方案1.丢失数据文件,进行完全恢复 复制代码 代码如下: RMAN>startup mount;RMAN>restore databa

[20160718]rman恢复与filesystemio_options

[20160718]rman恢复与参数filesystemio_options=setall.txt --今天在测试环境恢复数据库,遇到许多诡异的问题,做一个记录. 1.恢复环境. SYS@dbcn1> @ &r/ver BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11

RMAN恢复案例——丢失spfile的恢复

恢复 1.1. 丢失spfile的恢复大前提:已经配置了数据库控制文件的自动备份,并且已经有可靠的备份: RMAN> CONFIGURE CONTROLFILE AUTOBACKUP on;   新的 RMAN 配置参数: CONFIGURE CONTROLFILE AUTOBACKUP ON; 已成功存储新的 RMAN 配置参数 正在启动全部恢复目录的 resync 完成全部 resync   RMAN>   RMAN> CONFIGURE CONTROLFILE AUTOBACKUP

rman恢复案例——丢失全部控制文件的恢复

恢复|控制 1.1. 丢失全部控制文件的恢复1.1.1.    模拟控制文件丢失RMAN> shutdown abort;   Oracle 例程已关闭   RMAN> host;   Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp.   C:\>del D:\oracle92\test1\CONTROL*.CTL   C:\>dir D:\oracle92\test1\CONTROL*.CT

Oracle10g数据库恢复(RMAN 恢复)教程

Oracle10g数据库恢复(RMAN 恢复)教程 一.自动管理文件   二.使用RMAN功能,包括所有资料档案库维护和报告功能可通过使用Oracle Enterprise Manager来完成[调用RMAN恢复的脚本]   RMAN恢复:restore和recover命令   restore:是RMAN从我们备份的地方找一下备份集,然后把这些备   份集移动到现在数据文件的位置.[相当于用户管理中的copy命令]   recover:开始使用归档日志文件或者联机重做日志文件把你变化的数据恢复回