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';
--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
--------- ---------- -------------------- ----------------
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
---------- ------------ ------------
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
8178572277879
on primary:
RMAN> backup device type disk incremental from scn 8178572277879 database format
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
scp bkupdf1_8rl6le4c_1_1 oracle@192.168.1.101:/dbbackup/incrback
on standby:
shutdown oracle
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]$ 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/';
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
=====================================
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
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: /dbbackup/incrback/bkup_8nl6la3v_1_1
=======================
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
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;
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
---------- ------- ------------------------------------------------------------
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;
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;
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)
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';
RMAN> DELETE BACKUP TAG 'standby';
--check the last applied log
SQL> select max(sequence#) from v$archived_log where applied='YES';
MAX(SEQUENCE#)
--------------
15363
--------------
15363