Oracle RMAN 備份及不完全恢複(刪除archievelog)

來源:互聯網
上載者:User

標籤:

RMAN備份命令

 

backup Database format=‘/home/oracle/backup/bak_full_%U_%T‘ tag=‘bak_full‘; 
sql ‘alter system archive log current‘; 
backup archivelog all tag=‘arc_bak‘ format=‘/home/oracle/backup/arch_%U_%T‘ delete input; 
backup current controlfile tag=‘bak_ctlfile‘ format=‘/home/oracle/backup/bak_ctl_%U_%T‘; 
backup spfile tag=‘spfile‘ format=‘/home/oracle/backup/bak_spfile_%U_%T‘;

 

 

 

備份完後插入測試資料

insert into zz values(2); commit;

insert into qq values(2); commit;

然後通過alter system switch logfile多切幾次歸檔,切出多個歸檔檔案

o1_mf_1_12_cpb2xhg8_.arc o1_mf_1_14_cpb36dbo_.arc
o1_mf_1_13_cpb35zgs_.arc o1_mf_1_15_cpb37ff2_.arc

刪除12和14檔案

[[email protected] 2016_06_18]$ rm o1_mf_1_12_cpb2xhg8_.arc
[[email protected] 2016_06_18]$ rm o1_mf_1_14_cpb36dbo_.arc

 

通過在RMAN中運行處理使得報錯

run {

sql‘alter database datafile 6 offline‘;

restore datafile 6;

recover datafile 6;

sql‘alter database datafile 6 online‘;

}

錯誤為

RMAN> recover datafile 6;

Starting recover at 18-JUN-16
using channel ORA_DISK_1

starting media recovery

archived log for thread 1 with sequence 13 is already on disk as file /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_13_cpb35zgs_.arc
archived log for thread 1 with sequence 15 is already on disk as file /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_15_cpb37ff2_.arc
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 06/18/2016 16:59:59
RMAN-06053: unable to perform media recovery because of missing log
RMAN-06025: no backup of archived log for thread 1 with sequence 14 and starting SCN of 1105737 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 12 and starting SCN of 1080714 found to restore

 

查看archieve目錄,發現確實只有

o1_mf_1_13_cpb35zgs_.arc  o1_mf_1_15_cpb37ff2_.arc

 

查看v$log,得到最後需要應用的記錄檔應該是16

SQL> select group#,sequence#,status from v$log;

GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
1 16 CURRENT
2 14 INACTIVE
3 15 INACTIVE

 

被還原的6號檔案的scn為

SQL> select file#,change# from v$recover_file;

FILE# CHANGE#
---------- ----------
6 1080514

 

查看v$log_history得知需要從10號檔案開始恢複

SQL> select sequence# from v$log_history where 1080514 between first_change# and next_change#-1;

SEQUENCE#
----------
10

 

RMAN> list backup of archivelog all;


List of Backup Sets
===================


BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
3 61.04M DISK 00:00:03 16-JUN-16
BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20160616T165323
Piece Name: /u01/app/oracle/flash_recovery_area/ORCL/backupset/2016_06_16/o1_mf_annnn_TAG20160616T165323_cp4t83nk_.bkp

List of Archived Logs in backup set 3
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 6 1022418 08-JUN-16 1033516 16-JUN-16
1 7 1033516 16-JUN-16 1047305 16-JUN-16

BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
4 61.05M DISK 00:00:02 16-JUN-16
BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20160616T165445
Piece Name: /u01/app/oracle/flash_recovery_area/ORCL/backupset/2016_06_16/o1_mf_annnn_TAG20160616T165445_cp4tbogp_.bkp

List of Archived Logs in backup set 4
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 6 1022418 08-JUN-16 1033516 16-JUN-16
1 7 1033516 16-JUN-16 1047305 16-JUN-16
1 8 1047305 16-JUN-16 1047358 16-JUN-16

BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
7 61.02M DISK 00:00:03 18-JUN-16
BP Key: 7 Status: AVAILABLE Compressed: NO Tag: ARC_BACK
Piece Name: /home/oracle/backup/arch_07r8fcti_1_1_20160618

List of Archived Logs in backup set 7
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 9 1047358 16-JUN-16 1071119 16-JUN-16
1 10 1071119 16-JUN-16 1080684 18-JUN-16
1 11 1080684 18-JUN-16 1080714 18-JUN-16

 

備份級裡面有6,7,8,9,10,11,6號檔案test01.dbf需要的是從10號archivelog開始,但需要恢複到16號檔案,目前缺少12,14檔案.

 

尋找一下12-14檔案的位置,進行確認.

RMAN> list archivelog low sequence 12 high sequence 14

2> ;

List of Archived Log Copies for database with db_unique_name ORCL
=====================================================================

Key Thrd Seq S Low Time
------- ---- ------- - ---------
7 1 12 A 18-JUN-16
Name: /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_12_cpb2xhg8_.arc

8 1 13 A 18-JUN-16
Name: /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_13_cpb35zgs_.arc

9 1 14 A 18-JUN-16
Name: /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_14_cpb36dbo_.arc

 

只能不完全恢複到12

shutdown abort;

starup force mount;

 

RMAN> run {
2> set until sequence 12;
3> restore database;
4> }

executing command: SET until clause

Starting restore at 18-JUN-16
using channel ORA_DISK_1
flashing back control file to SCN 1080714

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/orcl/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/orcl/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/orcl/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/orcl/example01.dbf
channel ORA_DISK_1: restoring datafile 00006 to /u01/app/oracle/oradata/orcl/test01.dbf
channel ORA_DISK_1: reading from backup piece /home/oracle/backup/back_full_05r8fcon_1_1_20160618
channel ORA_DISK_1: piece handle=/home/oracle/backup/back_full_05r8fcon_1_1_20160618 tag=BACK_FULL
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:35
Finished restore at 18-JUN-16

RMAN> run {
2> set until sequence 12;
3> recover database;
4> }

executing command: SET until clause

Starting recover at 18-JUN-16
using channel ORA_DISK_1

starting media recovery

channel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=10
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=11
channel ORA_DISK_1: reading from backup piece /home/oracle/backup/arch_07r8fcti_1_1_20160618
channel ORA_DISK_1: piece handle=/home/oracle/backup/arch_07r8fcti_1_1_20160618 tag=ARC_BACK
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
archived log file name=/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_10_cpb4clcf_.arc thread=1 sequence=10
channel default: deleting archived log(s)
archived log file name=/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_10_cpb4clcf_.arc RECID=20 STAMP=914865395
archived log file name=/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_11_cpb4clcl_.arc thread=1 sequence=11
channel default: deleting archived log(s)
archived log file name=/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_11_cpb4clcl_.arc RECID=19 STAMP=914865394
media recovery complete, elapsed time: 00:00:00
Finished recover at 18-JUN-16

RMAN> alter database open resetlogs;

database opened

 

用scott/tiger登入後查看,發現插入的資料不在了.

 

Oracle RMAN 備份及不完全恢複(刪除archievelog)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.