使用rman增量备份恢复std数据库

使用rman增量备份恢复std数据库

3.1 停止mrp

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

3.2 确定最小scn

SQL> SELECT CURRENT_SCN FROM V$DATABASE;

CURRENT_SCN

­­­­­­­­­­­­­­

3164433

SQL> select min(checkpoint_change#) from v$datafile_header

where file# not in (select file# from v$datafile where enabled = 'READ ONLY');

MIN(F.FHSCN)

­­­­­­­­­­­­­­­­

3162298

3.3 备份

RMAN> BACKUP INCREMENTAL FROM SCN 3162298 DATABASE FORMAT '/tmp/ForStandby_%U' tag

'FORSTANDBY';

3.4 传输备份集并注册到control file

scp /tmp/ForStandby_* standby:/tmp

RMAN> CATALOG START WITH '/tmp/ForStandby';

using target database control file instead of recovery catalog

searching for all files that match the pattern /tmp/ForStandby

List of Files Unknown to the Database

=====================================

File Name: /tmp/ForStandby_2lkglss4_1_1

File Name: /tmp/ForStandby_2mkglst8_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: /tmp/ForStandby_2lkglss4_1_1

File Name: /tmp/ForStandby_2mkglst8_1_1

3.5 恢复

RMAN> RECOVER DATABASE NOREDO;

starting recover at 03­JUN­09

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=28 devtype=DISK

channel ORA_DISK_1: starting incremental datafile backupset restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

destination for restore of datafile 00001: +DATA/mystd/datafile/system.297.688213333

destination for restore of datafile 00002: +DATA/mystd/datafile/undotbs1.268.688213335

destination for restore of datafile 00003: +DATA/mystd/datafile/sysaux.267.688213333

channel ORA_DISK_1: reading from backup piece /tmp/ForStandby_2lkglss4_1_1

channel ORA_DISK_1: restored backup piece 1

piece handle=/tmp/ForStandby_2lkglss4_1_1 tag=FORSTANDBY

channel ORA_DISK_1: restore complete, elapsed time: 00:00:02

Finished recover at 03­JUN­09

3.6 备份新的controlfile

RMAN> BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/tmp/ForStandbyCTRL.bck';

scp /tmp/ForStandbyCTRL.bck standby:/tmp

3.7 Catalog std数据库数据文件

spool datafile_names_step8.txt

set lines 200

col name format a60

select file#, name from v$datafile order by file# ;

spool off

Switch datafile

 

RMAN> SHUTDOWN IMMEDIATE ;

RMAN> STARTUP NOMOUNT;

RMAN> RESTORE STANDBY CONTROLFILE FROM '/tmp/ForStandbyCTRL.bck';

Starting restore at 03­JUN­09

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=36 devtype=DISK

channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:07

output filename=+DATA/mystd/controlfile/current.257.688583989

Finished restore at 03­JUN­09

11) Shut down the STANDBY database and startup mount:

RMAN> CATALOG START WITH '+DATA/mystd/datafile/';

List of Files Unknown to the Database

=====================================

File Name: +data/mystd/DATAFILE/SYSTEM.309.685535773

File Name: +data/mystd/DATAFILE/SYSAUX.301.685535773

File Name: +data/mystd/DATAFILE/UNDOTBS1.302.685535775

File Name: +data/mystd/DATAFILE/SYSTEM.297.688213333

File Name: +data/mystd/DATAFILE/SYSAUX.267.688213333

File Name: +data/mystd/DATAFILE/UNDOTBS1.268.688213335

Do you really want to catalog the above files (enter YES or NO)? YES

cataloging files...

cataloging done

List of Cataloged Files

=======================

File Name: +data/mystd/DATAFILE/SYSTEM.297.688213333

File Name: +data/mystd/DATAFILE/SYSAUX.267.688213333

File Name: +data/mystd/DATAFILE/UNDOTBS1.268.688213335

 

SQL>SELECT FILE#, NAME FROM V$DATAFILE WHERE CREATION_CHANGE# > 3162298

 

RMAN> SWITCH DATABASE TO COPY;

datafile 1 switched to datafile copy "+DATA/mystd/datafile/system.297.688213333"

datafile 2 switched to datafile copy "+DATA/mystd/datafile/undotbs1.268.688213335"

datafile 3 switched to datafile copy "+DATA/mystd/datafile/sysaux.267.688213333"

 

SQL> ALTER DATABASE FLASHBACK OFF;

SQL> ALTER DATABASE FLASHBACK ON;

 

3.8 开始mrp

14) On STANDBY database, clear all standby redo log groups:

SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;

SQL> ALTER DATABASE CLEAR LOGFILE GROUP 2;

SQL> ALTER DATABASE CLEAR LOGFILE GROUP 3;

....

15) On the STANDBY database, start the MRP

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;

上一篇:ORA-16032: parameter LOG_ARCHIVE_DEST_3 destination string cannot be translated问题处理过程


下一篇:一看就会一做就废系列:说说 RECOVER DATABASE(上)