restore dataguard while primary's archivelog was deleted by accident without applied

 
on standby:
--find out the current scn for incremental backup
$ sqlplus "/ as sysdba"
SQL> startup mount
SQL> select sequence# from v$log where status='CURRENT';
no rows selected
 
SQL> select name,open_mode,PROTECTION_MODE,DATABASE_ROLE from v$database;
NAME      OPEN_MODE  PROTECTION_MODE      DATABASE_ROLE
--------- ---------- -------------------- ----------------
ORCL     MOUNTED    MAXIMUM PERFORMANCE  PHYSICAL STANDBY
 
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
 SEQUENCE# FIRST_TIME   NEXT_TIME
---------- ------------ ------------
     15347 13-FEB-10    13-FEB-10
     15348 13-FEB-10    13-FEB-10
272 rows selected.
 
SQL> select ARCHIVE_CHANGE# ,CURRENT_SCN from v$database;
8178572277879
 
on primary:
RMAN> backup device type disk incremental from scn 8178572277879 database format
'/dbbackup/bkup_%U' tag 'standby';

-- recreate the standby controlfile:
SQL> alter database create standby controlfile as '/dbbackup/ctl_bk1.ctl';
 
scp all backup file to standby server:
scp bkupdf1_8rl6le4c_1_1
oracle@192.168.1.101:/dbbackup/incrback
 
on standby:
shutdown oracle
 
--replace the old control file
[oracle@whdbdg incrback]$ cp ctl_bk1.ctl /u01/oradata/ORCL/control01.ctl
[oracle@whdbdg incrback]$ cp ctl_bk1.ctl /u01/oradata/ORCL/control02.ctl
[oracle@whdbdg incrback]$ mv ctl_bk1.ctl /u01/oradata/ORCL/control03.ctl
 
[oracle@whdbdg incrback]$ rman target /;
RMAN> startup mount;
RMAN> catalog start with '/dbbackup/incrback/';

using target database control file instead of recovery catalog
searching for all files that match the pattern /dbbackup/incrback/
List of Files Unknown to the Database
=====================================
File Name: /dbbackup/incrback/bkup_8nl6la3v_1_1
Do you really want to catalog the above files (enter YES or NO)? YES
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: /dbbackup/incrback/bkup_8nl6la3v_1_1

RMAN> recover database noredo;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 02/22/2010 12:44:56
RMAN-06094: datafile 34 must be restored

on primary:
-- check the newly created datafile.
SQL>select FILE#,name from v$datafile where CREATION_CHANGE#>=28178572277879;
-- or
SQL> set line 200
SQL> set pagesize 9999
SQL> col name format a60
SQL> select FILE#,STATUS,NAME from v$datafile order by 1;
     FILE# STATUS  NAME
---------- ------- ------------------------------------------------------------
         1 SYSTEM  /u01/oradata/ORCL/system01.dbf
...
        33 ONLINE  /u01/oradata/ORCL/whdb_data20.dbf
        34 ONLINE  /u01/oradata/ORCL/whdb_index05.dbf
        35 ONLINE  /u01/oradata/ORCL/whdb_data21.dbf
        36 ONLINE  /u01/oradata/ORCL/whdb_data22.dbf

RMAN> backup device type disk datafile 34,35,36 FORMAT '/dbbackup/bkupdf1_%U';
scp all backup file to standby server
 
on standby:
RMAN> catalog start with '/dbbackup/incrback/';
RMAN> restore datafile 34,35,36;
RMAN> recover database noredo;
 
-- startup dg to apply log
SQL> alter database recover managed standby database disconnect from session;
 
on primary:
SQL> alter system archive log current;

on standby:
check alertlog to identify whether the dg runs right:
Completed: alter database recover managed standby database disconnect from session
Mon Feb 22 13:05:25 2010
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[2]: Assigned to RFS process 11763
RFS[2]: Identified database type as 'physical standby'
Primary database is in MAXIMUM PERFORMANCE mode
Primary database is in MAXIMUM PERFORMANCE mode
RFS[2]: Successfully opened standby log 7: '/u01/oradata/ORCL/redo07.log'
Mon Feb 22 13:06:07 2010
RFS[1]: Successfully opened standby log 8: '/u01/oradata/ORCL/redo08.log'
Mon Feb 22 13:06:08 2010
Media Recovery Log /u01/arch/arch_1_15363_643904690.arc
Media Recovery Waiting for thread 1 sequence 15364 (in transit)

-- clear old log and backup
RMAN> delete noprompt archivelog until time 'sysdate-7';
find /u01/arch -type f -name "arch_1_1*.arc" -mtime +5 -exec rm {} /;
 
on primary:
--clear rman backup
RMAN> DELETE BACKUP TAG 'standby';
 
--check the last applied log
SQL> select max(sequence#) from v$archived_log where applied='YES';
MAX(SEQUENCE#)
--------------
         15363
 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值