RMAN备份介质的移动与再恢复测试 [ catalog start with ‘dir’ ]

--RMAN备份介质的移动与再恢复测试
---------------------------------------------------------2013/09/21
 
由于目前生产环境中没有集中的备份条件,所以备份要考虑到可以移动再恢复性.这里要测试的就是,RMAN全部备份的介质,我关注是否可以定期的移动到其他存储介质中,到要恢复的时候再拿过来.
 
1. 备份现有数据库和控制文件.
RMAN> backup database include current controlfile;
 
2. 移走备份集,到另外的目录/u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/o1_mf_nnndf_TAG20130920T235853_93tjxkb9_.bkp
 
3. 查看过期的备份介质.
RMAN> report obsolete;
 
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of obsolete backups and copies
Type                 Key    Completion Time    Filename/Handle
-------------------- ------ ------------------ --------------------
Archive Log          1      15-SEP-13          /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_15/o1_mf_1_2_93cc8thy_.arc
Archive Log          2      15-SEP-13          /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_15/o1_mf_1_3_93ck0mxm_.arc
Archive Log          3      16-SEP-13          /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_16/o1_mf_1_4_93ftwxqj_.arc
Archive Log          4      19-SEP-13          /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_19/o1_mf_1_5_93o9xt7k_.arc
Backup Set           1      19-SEP-13        
  Backup Piece       1      19-SEP-13          /u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/2013_09_19/o1_mf_nnndf_TAG20130919T011640_93odqb65_.bkp
Archive Log          5      19-SEP-13          /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_19/o1_mf_1_6_93qgls17_.arc
Backup Set           2      19-SEP-13        
  Backup Piece       2      19-SEP-13          /u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/2013_09_19/o1_mf_ncsnf_TAG20130919T011640_93odvkkc_.bkp
Archive Log          6      19-SEP-13          /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_19/o1_mf_1_7_93qh7sqx_.arc
Archive Log          7      19-SEP-13          /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_19/o1_mf_1_8_93qs3s52_.arc
Archive Log          8      20-SEP-13          /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_20/o1_mf_1_1_93qzp568_.arc
Backup Set           3      19-SEP-13        
  Backup Piece       3      19-SEP-13          /u01/app/oracle/flash_recovery_area/august/AUGUST/autobackup/2013_09_19/o1_mf_s_826585286_93qs5xdg_.bkp
Archive Log          15     20-SEP-13          /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_20/o1_mf_1_1_93t8b5jm_.arc
Backup Set           4      20-SEP-13        
  Backup Piece       4      20-SEP-13          /u01/app/oracle/flash_recovery_area/august/AUGUST/autobackup/2013_09_20/o1_mf_s_826666416_93t8gcfz_.bkp
Backup Set           6      21-SEP-13        
  Backup Piece       6      21-SEP-13          /u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/2013_09_21/o1_mf_ncnnf_TAG20130920T235853_93tkd6kk_.bkp
 
 
4. 删除过期的备份介质.
 
RMAN> delete obsolete(nopormt指定无需确认立即删除)
 
5. 由于我们已经讲备份的介质移走了,但是RMAN的备份记录中依然存在,清除这些信息。
 
RMAN> crosscheck backup;
 
using channel ORA_DISK_1
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/2013_09_20/o1_mf_nnndf_TAG20130920T235853_93tjxkb9_.bkp RECID=5 STAMP=826675137
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/app/oracle/flash_recovery_area/august/AUGUST/autobackup/2013_09_21/o1_mf_s_826675611_93tkdfgw_.bkp RECID=7 STAMP=826675613
Crosschecked 2 objects
 
6. 删除过期的备份信息。
 
RMAN> delete expired backup;
 
using channel ORA_DISK_1
 
List of Backup Pieces
BP Key  BS Key  Pc# Cp# Status      Device Type Piece Name
------- ------- --- --- ----------- ----------- ----------
5       5       1   1   EXPIRED     DISK        /u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/2013_09_20/o1_mf_nnndf_TAG20130920T235853_93tjxkb9_.bkp
 
Do you really want to delete the above objects (enter YES or NO)? yes
deleted backup piece
backup piece handle=/u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/2013_09_20/o1_mf_nnndf_TAG20130920T235853_93tjxkb9_.bkp RECID=5 STAMP=826675137
Deleted 1 EXPIRED objects
 
7. 关闭数据库删除控制文件和数据文件。
 
8. 启动数据库到nomount下,恢复控制文件。
 
RMAN> startup nomount;
 
Oracle instance started
.
.
RMAN> restore controlfile from autobackup;
 
Starting restore at 21-SEP-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=18 device type=DISK
 
recovery area destination: /u01/app/oracle/flash_recovery_area/august
database name (or database unique name) used for search: AUGUST
channel ORA_DISK_1: AUTOBACKUP /u01/app/oracle/flash_recovery_area/august/AUGUST/autobackup/2013_09_21/o1_mf_s_826675611_93tkdfgw_.bkp found in the recovery area
channel ORA_DISK_1: looking for AUTOBACKUP on day: 20130921
channel ORA_DISK_1: restoring control file from AUTOBACKUP /u01/app/oracle/flash_recovery_area/august/AUGUST/autobackup/2013_09_21/o1_mf_s_826675611_93tkdfgw_.bkp
channel ORA_DISK_1: control file restore from AUTOBACKUP complete
output file name=/u01/app/oracle/oradata/august/august/control01.ctl
output file name=/u01/app/oracle/flash_recovery_area/august/august/control02.ctl
Finished restore at 21-SEP-13
 
9. 改变数据库到mount状态,从备份集中恢复数据库。
 
RMAN> alter database mount;
 
database mounted
released channel: ORA_DISK_1
 
RMAN> restore database from '/u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/o1_mf_nnndf_TAG20130920T235853_93tjxkb9_.bkp';
 
Starting restore at 21-SEP-13
Starting implicit crosscheck backup at 21-SEP-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=18 device type=DISK
Crosschecked 6 objects
Finished implicit crosscheck backup at 21-SEP-13
 
Starting implicit crosscheck copy at 21-SEP-13
using channel ORA_DISK_1
Finished implicit crosscheck copy at 21-SEP-13
 
searching for all files in the recovery area
cataloging files...
cataloging done
 
List of Cataloged Files
=======================
File Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/o1_mf_nnndf_TAG20130920T235853_93tjxkb9_.bkp
File Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_21/o1_mf_1_1_93tlk8cg_.arc
File Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_21/o1_mf_1_4_93tlvr76_.arc
File Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_21/o1_mf_1_2_93tlkfwz_.arc
File Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_21/o1_mf_1_3_93tlkqgj_.arc
File Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/autobackup/2013_09_20/o1_mf_s_826618674_93rss9os_.bkp
File Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/autobackup/2013_09_21/o1_mf_s_826675611_93tkdfgw_.bkp
 
using channel ORA_DISK_1
 
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 09/21/2013 00:46:57
RMAN-06509: only SPFILE or control file can be restored from AUTOBACKUP
 
--看提示是说oracle不能这样恢复数据库。
 
那如何使用这个备份集恢复呢?
 
10. 需要先将备份集catalogRMAN备份记录中去。
 
RMAN> catalog start with '/u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/o1_mf_nnndf_TAG20130920T235853_93tjxkb9_.bkp';
 
searching for all files that match the pattern /u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/o1_mf_nnndf_TAG20130920T235853_93tjxkb9_.bkp
no files found to be unknown to the database
 
--查看现有的备份信息,此备份集已经能够被识别了。
RMAN> list backup of database;
 
List of Backup Sets
===================
 
BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
5       Full    953.57M    DISK        00:07:36     21-SEP-13     
        BP Key: 7   Status: AVAILABLE  Compressed: NO  Tag: TAG20130920T235853
        Piece Name: /u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/o1_mf_nnndf_TAG20130920T235853_93tjxkb9_.bkp
  List of Datafiles in backup set 5
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  1       Full 859599     20-SEP-13 /u01/app/oracle/oradata/august/august/system01.dbf
  2       Full 859599     20-SEP-13 /u01/app/oracle/oradata/august/august/sysaux01.dbf
  3       Full 859599     20-SEP-13 /u01/app/oracle/oradata/august/august/undotbs01.dbf
  4       Full 859599     20-SEP-13 /u01/app/oracle/oradata/august/august/users01.dbf
 
11. 将备份集信息编目后,就可以使用restore开始恢复数据库了。
 
RMAN> restore database;
 
Starting restore at 21-SEP-13
using channel ORA_DISK_1
 
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/august/august/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/august/august/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/august/august/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/august/august/users01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/o1_mf_nnndf_TAG20130920T235853_93tjxkb9_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/flash_recovery_area/august/AUGUST/backupset/o1_mf_nnndf_TAG20130920T235853_93tjxkb9_.bkp tag=TAG20130920T235853
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:05:36
Finished restore at 21-SEP-13
 
12. 进行介质恢复。
 
RMAN> recover database;
 
Starting recover at 21-SEP-13
using channel ORA_DISK_1
 
starting media recovery
 
archived log for thread 1 with sequence 1 is already on disk as file /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_21/o1_mf_1_1_93tlk8cg_.arc
archived log for thread 1 with sequence 2 is already on disk as file /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_21/o1_mf_1_2_93tlkfwz_.arc
archived log for thread 1 with sequence 3 is already on disk as file /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_21/o1_mf_1_3_93tlkqgj_.arc
archived log for thread 1 with sequence 4 is already on disk as file /u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_21/o1_mf_1_4_93tlvr76_.arc
archived log for thread 1 with sequence 5 is already on disk as file /u01/app/oracle/oradata/august/august/redo02.log
archived log file name=/u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_21/o1_mf_1_1_93tlk8cg_.arc thread=1 sequence=1
archived log file name=/u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_21/o1_mf_1_2_93tlkfwz_.arc thread=1 sequence=2
archived log file name=/u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_21/o1_mf_1_3_93tlkqgj_.arc thread=1 sequence=3
archived log file name=/u01/app/oracle/flash_recovery_area/august/AUGUST/archivelog/2013_09_21/o1_mf_1_4_93tlvr76_.arc thread=1 sequence=4
archived log file name=/u01/app/oracle/oradata/august/august/redo02.log thread=1 sequence=5
media recovery complete, elapsed time: 00:00:24
Finished recover at 21-SEP-13
 
RMAN> alter database open;
 
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 09/21/2013 01:45:51
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
 
RMAN> alter database open noresetlogs;
 
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found "identifier": expecting one of: "resetlogs, ;"
RMAN-01008: the bad identifier was: noresetlogs
RMAN-01007: at line 1 column 21 file: standard input
 
RMAN> alter database open resetlogs;
 
database opened
 
--之前讲过,在使用了备份的控制文件进行恢复之后,是需要用resetlogs方式打开的。
 
所以总结来说,利用备份集的移动是没有问题的,恢复时只需要重新编目到备份集信息中即可。 [catalog start with ‘dir’]
 
原文地址:https://www.cnblogs.com/jackhub/p/3331673.html