Oracle RMAN 將 備份集 重新 註冊到控制文件 說明

一.說明

 

     RMAN 備份分2種,Catalog 和Nocatalog,對於Nocatalog,oracle 會使用控制文件來保存RMAN備份的一些記錄。 而且實際上多數也是使用Nocatalog來備份。因爲使用Nocatalog比較方便。

 

    但對於使用Nocatalog的情況就會讓RMAN 恢復的時候依賴與控制文件中記錄的備份的信息。如果不一致,就會導致不能進行有效的恢復。

 

我們這裏演示二種情況:

(1)  使用RMAN 的nocatalog 進行備份,然後將備份轉移到其他的目錄, 在進行恢復。

(2)  使用Nocatalog 備份,然後重建控制文件,在使用RMAN 備份進行恢復。

 

兩種方法都是使用catalog 命令把RMAN備份集的信息重新註冊到控制文件。

 

 

二.備份集位置發生改變

 

在我們RMAN 進行異地恢復的時候,就會遇到路徑的問題,如果路徑不同,就沒辦法進行有效的恢復,我們看這時候怎麼處理。

 

2.1 使用RMAN Nocatalog 進行全庫備份

 

Nocatalog 下的RMAN 增量備份 shell腳本

http://blog.csdn.net/tianlesoftware/article/details/6164931

 

2.2 查看備份信息

 

[oracle@dave scripts]$ exportNLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

 

[oracle@dave scripts]$ rman target /

 

Recovery Manager: Release 11.2.0.3.0 -Production on Tue Apr 16 04:49:49 2013

 

Copyright (c) 1982, 2011, Oracle and/or itsaffiliates.  All rights reserved.

 

connected to target database: ANQING(DBID=743034417)

 

RMAN> list backup summary;

 

 

using target database control file insteadof recovery catalog

 

List of Backups

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

Key    TY LV S Device Type Completion Time    #Pieces #Copies Compressed Tag

------- -- -- - ------------------------------ ------- ------- ---------- ---

18     B  0  A DISK       2013-04-16 04:25:53 1       1       NO         DAVE_LEV0

19     B  0  A DISK       2013-04-16 04:26:01 1       1       NO        DAVE_LEV0

21     B  0  A DISK       2013-04-16 04:26:16 1       1       NO         DAVE_LEV0

22     B  A  A DISK       2013-04-16 04:26:26 1       1       NO         ARC_BAK

24     B  F  A DISK       2013-04-16 04:26:31 1       1       NO         BAK_CTLFILE

 

 

這裏通過list 命令查看,也可以通過如下視圖來查看詳細信息:

V$BACKUP_PIECE, 

V$BACKUP_SET, 

V$BACKUP_DATAFILE, 

V$BACKUP_REDOLOG,

V$BACKUP_SPFILE.

 

通過V$BACKUP_PIECE 查詢出來的備份集:

/u01/backup/dave_lev0_0jo76nh7_1_1_20130416

/u01/backup/dave_lev0_0io76nh7_1_1_20130416

/u01/backup/dave_lev0_0ko76nim_1_1_20130416

/u01/backup/arch_0no76njh_1_1_20130416

/u01/backup/ctl_file_0oo76njm_1_1_20130416

 

我這裏備份集保存在/u01/backup的目錄:

[oracle@dave admin]$ cd /u01/backup

[oracle@dave backup]$ ls

arch_0no76njh_1_1_20130416  block_change_tracking.f         dave_lev0_0io76nh7_1_1_20130416  dave_lev0_22o687qp_1_1_20130404

arch_1ho6566m_1_1_20130403  ctl_file_0oo76njm_1_1_20130416  dave_lev0_0jo76nh7_1_1_20130416  dave_spfile_1mo65679_1_1_20130403

arch_1io6566n_1_1_20130403  ctl_file_1lo65676_1_1_20130403  dave_lev0_0ko76nim_1_1_20130416  dave_spfile_29o687sc_1_1_20130404

arch_26o687rp_1_1_20130404  ctl_file_28o687sa_1_1_20130404  dave_lev0_20o687pl_1_1_20130404

arch_27o687s8_1_1_20130404  ctl_file_2ao6vobb_1_1_20130413  dave_lev0_21o687pl_1_1_20130404

 

 

 

2.3 將整個備份集目錄進行修改

 

[oracle@dave u01]$ mv backup bak

 

[oracle@dave u01]$ cd bak

[oracle@dave bak]$ ls

arch_0no76njh_1_1_20130416  block_change_tracking.f         dave_lev0_0io76nh7_1_1_20130416  dave_lev0_22o687qp_1_1_20130404

arch_1ho6566m_1_1_20130403  ctl_file_0oo76njm_1_1_20130416  dave_lev0_0jo76nh7_1_1_20130416  dave_spfile_1mo65679_1_1_20130403

arch_1io6566n_1_1_20130403  ctl_file_1lo65676_1_1_20130403  dave_lev0_0ko76nim_1_1_20130416  dave_spfile_29o687sc_1_1_20130404

arch_26o687rp_1_1_20130404  ctl_file_28o687sa_1_1_20130404  dave_lev0_20o687pl_1_1_20130404

arch_27o687s8_1_1_20130404  ctl_file_2ao6vobb_1_1_20130413  dave_lev0_21o687pl_1_1_20130404

 

2.4用RMAN 效驗

 

--使用RMAN 進行效驗:

RMAN> list backupset summary;

 

using target database control file insteadof recovery catalog

 

List of Backups

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

Key    TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag

------- -- -- - ----------- ---------------------- ------- ---------- ---

18     B  0  A DISK       16-APR-13       1       1      NO         DAVE_LEV0

19     B  0  A DISK       16-APR-13       1       1      NO         DAVE_LEV0

21     B  0  A DISK       16-APR-13       1       1      NO         DAVE_LEV0

22     B  A  A DISK       16-APR-13       1       1      NO         ARC_BAK

24     B  F  A DISK       16-APR-13       1       1      NO         BAK_CTLFILE

 

備份集有兩種狀態:

A(Available,RMAN認爲該項存在於備份介質上), 

X(Expired,備份存在於控制文件或恢復目錄中,但是並沒有物理存在於備份介質上)

 

這裏的狀態是A。

 

 

RMAN> crosscheckbackup;

 

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=54 device type=DISK

crosschecked backup piece: found to be'EXPIRED'

backup piecehandle=/u01/backup/dave_lev0_0jo76nh7_1_1_20130416 RECID=18 STAMP=812867112

crosschecked backup piece: found to be'EXPIRED'

backup piecehandle=/u01/backup/dave_lev0_0io76nh7_1_1_20130416 RECID=19 STAMP=812867111

crosschecked backup piece: found to be'EXPIRED'

backup piecehandle=/u01/backup/dave_lev0_0ko76nim_1_1_20130416 RECID=21 STAMP=812867158

crosschecked backup piece: found to be'EXPIRED'

backup piecehandle=/u01/backup/arch_0no76njh_1_1_20130416 RECID=22 STAMP=812867185

crosschecked backup piece: found to be'EXPIRED'

backup piecehandle=/u01/backup/ctl_file_0oo76njm_1_1_20130416 RECID=24 STAMP=812867191

Crosschecked 5 objects

 

 

RMAN> list backupsetsummary;

 

 

List of Backups

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

Key    TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag

------- -- -- - ----------- ---------------------- ------- ---------- ---

18      B 0  X DISK        16-APR-13       1      1       NO         DAVE_LEV0

19     B  0  X DISK       16-APR-13       1       1      NO         DAVE_LEV0

21     B  0  X DISK       16-APR-13       1       1      NO         DAVE_LEV0

22     B  A  X DISK       16-APR-13       1       1      NO         ARC_BAK

24     B  F  X DISK       16-APR-13       1       1      NO         BAK_CTLFILE

--當我們corsscheck 之後,狀態就都變成X了。

 

--因爲備份集物理不存在,這些都被標記爲expired

RMAN> list expired backup;

 

 

List of Backup Sets

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

 

 

BS Key Type LV Size       Device TypeElapsed Time Completion Time

------- ---- -- ---------- ----------------------- ---------------

18     Incr 0  633.95M    DISK       00:00:42     16-APR-13     

       BP Key: 18   Status: EXPIRED  Compressed: NO  Tag: DAVE_LEV0

       Piece Name: /u01/backup/dave_lev0_0jo76nh7_1_1_20130416

 List of Datafiles in backup set 18

 File LV Type Ckp SCN    CkpTime  Name

 ---- -- ---- ---------- --------- ----

 2    0  Incr 3136508    16-APR-13/u01/app/oracle/oradata/dave/sysaux01.dbf

 3    0  Incr 3136508    16-APR-13/u01/app/oracle/oradata/dave/undotbs01.dbf

 4    0  Incr 3136508    16-APR-13/u01/app/oracle/oradata/dave/users01.dbf

 8    0  Incr 3136508    16-APR-13 /u01/app/oracle/oradata/dave/FDA01.dbf

 9    0  Incr 3136508    16-APR-13/u01/app/oracle/oradata/dave/FDA02.dbf

 

BS Key Type LV Size       Device TypeElapsed Time Completion Time

------- ---- -- ---------- ----------------------- ---------------

19     Incr 0  908.19M    DISK       00:00:50     16-APR-13     

       BP Key: 19   Status: EXPIRED  Compressed: NO  Tag: DAVE_LEV0

       Piece Name: /u01/backup/dave_lev0_0io76nh7_1_1_20130416

 List of Datafiles in backup set 19

 File LV Type Ckp SCN    CkpTime  Name

  ------ ---- ---------- --------- ----

 1    0  Incr 3136507    16-APR-13/u01/app/oracle/oradata/dave/system01.dbf

 10   0  Incr 3136507    16-APR-13/u01/app/oracle/oradata/dave/FDA03.dbf

 11   0  Incr 3136507    16-APR-13 /u01/app/oracle/oradata/dave/FDA04.dbf

 12   0  Incr 3136507    16-APR-13/u01/app/oracle/oradata/dave/ts01.dbf

 13   0  Incr 3136507    16-APR-13/u01/app/oracle/oradata/dave/ts02.dbf

 

BS Key Type LV Size       Device TypeElapsed Time Completion Time

------- ---- -- ---------- ----------------------- ---------------

21     Incr 0  426.01M    DISK       00:00:18     16-APR-13     

       BP Key: 21   Status: EXPIRED  Compressed: NO  Tag: DAVE_LEV0

       Piece Name: /u01/backup/dave_lev0_0ko76nim_1_1_20130416

 List of Datafiles in backup set 21

 File LV Type Ckp SCN    CkpTime  Name

 ---- -- ---- ---------- --------- ----

 5    0  Incr 3136645    16-APR-13/u01/app/oracle/oradata/dave/example01.dbf

 6    0  Incr 3136645    16-APR-13/u01/app/oracle/oradata/dave/mssm01.dbf

 7    0  Incr 3136645    16-APR-13/u01/app/oracle/oradata/dave/assm01.dbf

 14   0  Incr 3136645    16-APR-13/u01/app/oracle/oradata/dave/dave01.dbf

 15   0  Incr 3136645    16-APR-13/u01/app/oracle/oradata/dave/anqing01.dbf

 

BS Key Size       Device Type ElapsedTime Completion Time

------- ---------- ----------- ---------------------------

22     40.93M     DISK        00:00:01     16-APR-13     

       BP Key: 22   Status: EXPIRED  Compressed: NO  Tag: ARC_BAK

       Piece Name: /u01/backup/arch_0no76njh_1_1_20130416

 

 List of Archived Logs in backup set 22

 Thrd Seq     Low SCN    Low Time Next SCN   Next Time

 ---- ------- ---------- --------- ---------- ---------

 1    23      3120875   15-APR-13 3136670    16-APR-13

 1    24      3136670   16-APR-13 3136678    16-APR-13

 

BS Key Type LV Size       Device TypeElapsed Time Completion Time

------- ---- -- ---------- ----------------------- ---------------

24     Full    9.64M      DISK        00:00:01     16-APR-13     

       BP Key: 24   Status: EXPIRED  Compressed: NO  Tag: BAK_CTLFILE

       Piece Name: /u01/backup/ctl_file_0oo76njm_1_1_20130416

 Control File Included: Ckp SCN: 3136695      Ckp time: 16-APR-13

 

RMAN>

 

--刪除這些過期的信息:

RMAN> delete noprompt expired backup;

 

using channel ORA_DISK_1

 

List of Backup Pieces

BP Key BS Key  Pc# Cp# Status      Device Type Piece Name

------- ------- --- --- ---------------------- ----------

18     18      1   1  EXPIRED     DISK        /u01/backup/dave_lev0_0jo76nh7_1_1_20130416

19     19      1   1  EXPIRED     DISK       /u01/backup/dave_lev0_0io76nh7_1_1_20130416

21     21      1   1  EXPIRED     DISK       /u01/backup/dave_lev0_0ko76nim_1_1_20130416

22     22      1   1  EXPIRED     DISK        /u01/backup/arch_0no76njh_1_1_20130416

24     24      1   1  EXPIRED     DISK       /u01/backup/ctl_file_0oo76njm_1_1_20130416

deleted backup piece

backup piecehandle=/u01/backup/dave_lev0_0jo76nh7_1_1_20130416 RECID=18 STAMP=812867112

deleted backup piece

backup piecehandle=/u01/backup/dave_lev0_0io76nh7_1_1_20130416 RECID=19 STAMP=812867111

deleted backup piece

backup piecehandle=/u01/backup/dave_lev0_0ko76nim_1_1_20130416 RECID=21 STAMP=812867158

deleted backup piece

backup piece handle=/u01/backup/arch_0no76njh_1_1_20130416RECID=22 STAMP=812867185

deleted backup piece

backup piecehandle=/u01/backup/ctl_file_0oo76njm_1_1_20130416 RECID=24 STAMP=812867191

Deleted 5 EXPIRED objects

 

RMAN>

 

--RMAN 驗證:

RMAN> list backupset summary;

 

specification does not match any backup inthe repository

 

2.5 將備份集重新註冊到控制文件

 

因爲之前備份集的位置發生改變,導致corsscheck之後,將之前備份的記錄標記爲expired,我們後來手工刪除了這些expired的備份集信息。

 

現在我們要進行恢復,必須將之前的備份信息重新註冊到控制文件中來。

 

2.5.1 方法一:註冊單個備份片

 

RMAN> CATALOG BACKUPPIECE '/u01/bak/arch_0no76njh_1_1_20130416','/u01/bak/ctl_file_0oo76njm_1_1_20130416';

 

cataloged backup piece

backup piecehandle=/u01/bak/arch_0no76njh_1_1_20130416 RECID=25 STAMP=812872014

cataloged backup piece

backup piece handle=/u01/bak/ctl_file_0oo76njm_1_1_20130416RECID=26 STAMP=812872014

 

--可以正常查看:

RMAN> list backupset summary;

 

List of Backups

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

Key    TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag

------- -- -- - ----------- ---------------------- ------- ---------- ---

25     B  A  A DISK       16-APR-13       1       1      NO         ARC_BAK

26     B  F  A DISK       16-APR-13       1       1      NO         BAK_CTLFILE

RMAN> catalog start with'/data01/';  

 

2.5.2 方法二:註冊整個目錄

 

---ASM:

CATALOG START WITH '+disk'; # catalog allfiles from an ASM disk group

 

--本地目錄:最後一定要加/

CATALOG START WITH '/fs1/datafiles/'; #catalog all files in directory

 

--有多個目錄,註冊多次:

RMAN> catalog start with'/data01/';  
RMAN>catalog start with '/data02/';  
RMAN>catalog start with '/data03/';

 

 

--示例:

RMAN> catalog start with '/u01/bak';

 

searching for all files that match thepattern /u01/bak

 

List of Files Unknown to the Database

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

File Name: /u01/bak/dave_lev0_0io76nh7_1_1_20130416

File Name:/u01/bak/dave_lev0_21o687pl_1_1_20130404

File Name:/u01/bak/dave_spfile_1mo65679_1_1_20130403

File Name:/u01/bak/arch_27o687s8_1_1_20130404

File Name:/u01/bak/ctl_file_2ao6vobb_1_1_20130413

File Name: /u01/bak/arch_26o687rp_1_1_20130404

File Name:/u01/bak/arch_1ho6566m_1_1_20130403

File Name:/u01/bak/dave_lev0_20o687pl_1_1_20130404

File Name:/u01/bak/arch_1io6566n_1_1_20130403

File Name:/u01/bak/dave_spfile_29o687sc_1_1_20130404

File Name: /u01/bak/ctl_file_1lo65676_1_1_20130403

File Name: /u01/bak/block_change_tracking.f

File Name:/u01/bak/ctl_file_28o687sa_1_1_20130404

File Name:/u01/bak/dave_lev0_0ko76nim_1_1_20130416

File Name:/u01/bak/dave_lev0_22o687qp_1_1_20130404

File Name: /u01/bak/dave_lev0_0jo76nh7_1_1_20130416

 

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

cataloging files...

cataloging done

 

List of Cataloged Files

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

File Name:/u01/bak/dave_lev0_0io76nh7_1_1_20130416

File Name: /u01/bak/ctl_file_2ao6vobb_1_1_20130413

File Name:/u01/bak/dave_lev0_0ko76nim_1_1_20130416

File Name:/u01/bak/dave_lev0_0jo76nh7_1_1_20130416

 

List of Files Which Where Not Cataloged

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

File Name: /u01/bak/dave_lev0_21o687pl_1_1_20130404

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name:/u01/bak/dave_spfile_1mo65679_1_1_20130403

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name: /u01/bak/arch_27o687s8_1_1_20130404

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name:/u01/bak/arch_26o687rp_1_1_20130404

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name: /u01/bak/arch_1ho6566m_1_1_20130403

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name:/u01/bak/dave_lev0_20o687pl_1_1_20130404

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name: /u01/bak/arch_1io6566n_1_1_20130403

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name:/u01/bak/dave_spfile_29o687sc_1_1_20130404

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name:/u01/bak/ctl_file_1lo65676_1_1_20130403

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name: /u01/bak/block_change_tracking.f

 RMAN-07529: Reason: catalog is not supported for this file type

File Name: /u01/bak/ctl_file_28o687sa_1_1_20130404

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name:/u01/bak/dave_lev0_22o687qp_1_1_20130404

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

 

RMAN>

 

--驗證:

RMAN> list backupset summary;

 

 

List of Backups

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

Key    TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag

------- -- -- - ----------- ---------------------- ------- ---------- ---

25     B  A  A DISK       16-APR-13       1       1      NO         ARC_BAK

26     B  F  A DISK       16-APR-13       1       1      NO         BAK_CTLFILE

27     B  0  A DISK       16-APR-13       1       1      NO         DAVE_LEV0

28     B  F  A DISK       13-APR-13       1      1       NO         BAK_CTLFILE

29     B  0  A DISK       16-APR-13       1       1      NO         DAVE_LEV0

30     B  0  A DISK       16-APR-13       1       1      NO         DAVE_LEV0

 

2.6 使用RMAN 進行完全恢復

 

RMAN> startup mount force

 

Oracle instance started

database mounted

 

Total System Global Area     818401280 bytes

 

Fixed Size                     2232800 bytes

Variable Size                482348576 bytes

Database Buffers             331350016 bytes

Redo Buffers                   2469888 bytes

 

RMAN> restore database;

 

Starting restore at 16-APR-13

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=18 device type=DISK

 

channel ORA_DISK_1: starting datafilebackup set restore

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

channel ORA_DISK_1: restoring datafile00001 to /u01/app/oracle/oradata/dave/system01.dbf

channel ORA_DISK_1: restoring datafile00010 to /u01/app/oracle/oradata/dave/FDA03.dbf

channel ORA_DISK_1: restoring datafile00011 to /u01/app/oracle/oradata/dave/FDA04.dbf

channel ORA_DISK_1: restoring datafile00012 to /u01/app/oracle/oradata/dave/ts01.dbf

channel ORA_DISK_1: restoring datafile00013 to /u01/app/oracle/oradata/dave/ts02.dbf

channel ORA_DISK_1: reading from backuppiece /u01/bak/dave_lev0_0io76nh7_1_1_20130416

channel ORA_DISK_1: piecehandle=/u01/bak/dave_lev0_0io76nh7_1_1_20130416 tag=DAVE_LEV0

channel ORA_DISK_1: restored backup piece 1

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

channel ORA_DISK_1: starting datafilebackup set restore

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

channel ORA_DISK_1: restoring datafile00002 to /u01/app/oracle/oradata/dave/sysaux01.dbf

channel ORA_DISK_1: restoring datafile00003 to /u01/app/oracle/oradata/dave/undotbs01.dbf

channel ORA_DISK_1: restoring datafile00004 to /u01/app/oracle/oradata/dave/users01.dbf

channel ORA_DISK_1: restoring datafile00008 to /u01/app/oracle/oradata/dave/FDA01.dbf

channel ORA_DISK_1: restoring datafile00009 to /u01/app/oracle/oradata/dave/FDA02.dbf

channel ORA_DISK_1: reading from backuppiece /u01/bak/dave_lev0_0jo76nh7_1_1_20130416

channel ORA_DISK_1: piecehandle=/u01/bak/dave_lev0_0jo76nh7_1_1_20130416 tag=DAVE_LEV0

channel ORA_DISK_1: restored backup piece 1

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

channel ORA_DISK_1: starting datafilebackup set restore

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

channel ORA_DISK_1: restoring datafile00005 to /u01/app/oracle/oradata/dave/example01.dbf

channel ORA_DISK_1: restoring datafile00006 to /u01/app/oracle/oradata/dave/mssm01.dbf

channel ORA_DISK_1: restoring datafile00007 to /u01/app/oracle/oradata/dave/assm01.dbf

channel ORA_DISK_1: restoring datafile 00014to /u01/app/oracle/oradata/dave/dave01.dbf

channel ORA_DISK_1: restoring datafile00015 to /u01/app/oracle/oradata/dave/anqing01.dbf

channel ORA_DISK_1: reading from backuppiece /u01/bak/dave_lev0_0ko76nim_1_1_20130416

channel ORA_DISK_1: piece handle=/u01/bak/dave_lev0_0ko76nim_1_1_20130416tag=DAVE_LEV0

channel ORA_DISK_1: restored backup piece 1

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

Finished restore at 16-APR-13

 

RMAN> recover database;

 

Starting recover at 16-APR-13

using channel ORA_DISK_1

 

starting media recovery

media recovery complete, elapsed time:00:00:03

 

Finished recover at 16-APR-13

 

RMAN> alter database open;

 

database opened

 

RMAN>

 

成功恢復。

 

 

三 .重建控制文件

 

    第二節中我們演示的備份集的位置發生改變。那麼還有另一種情況,就是控制文件被重建了。 這時候也會清空RMAN 備份中的相關信息。

 

    而重建控制文件又分兩種情況:resetlogs 和noresetlogs。

 

Oracle 控制文件 說明

http://blog.csdn.net/tianlesoftware/article/details/4974440

 

使用使用resetlogs 重建控制文件後,RMAN恢復又會涉及到incarnation 問題,而Noresetlogs 就不會出現這種問題。

 

    我們這裏演示Noresetlogs 的方式重建控制文件並恢復的問題。

 

 

3.1 使用RMAN Nocatalog 進行全庫備份

 

Nocatalog 下的RMAN 增量備份 shell腳本

http://blog.csdn.net/tianlesoftware/article/details/6164931

 

 

3.2 查看備份信息

 

[oracle@dave bak]$ exportNLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

[oracle@dave bak]$ rman target /

 

Recovery Manager: Release 11.2.0.3.0 -Production on Tue Apr 16 05:59:00 2013

 

Copyright (c) 1982, 2011, Oracle and/or itsaffiliates.  All rights reserved.

 

connected to target database: ANQING(DBID=743034417)

 

RMAN> list backup summary;

 

using target database control file insteadof recovery catalog

 

List of Backups

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

Key    TY LV S Device Type Completion Time    #Pieces #Copies Compressed Tag

------- -- -- - ------------------------------ ------- ------- ---------- ---

25     B  A  A DISK       2013-04-16 04:26:25 1       1       NO         ARC_BAK

26     B  F  A DISK       2013-04-16 04:26:30 1       1       NO         BAK_CTLFILE

27      B 0  A DISK        2013-04-16 04:25:11 1       1      NO         DAVE_LEV0

28     B  F  A DISK       2013-04-13 12:56:11 1       1       NO         BAK_CTLFILE

29     B  0  A DISK       2013-04-16 04:25:58 1       1       NO         DAVE_LEV0

30      B 0  A DISK        2013-04-16 04:25:11 1       1      NO         DAVE_LEV0

 

我這裏使用的還是之前的備份,所以我這裏所有的備份集都是之前修改過多路徑:/u01/bak.

 

3.3 使用noresetlogs重建控制文件

 

SQL> oradebug setmypid

Statement processed.

SQL> alter database backup controlfileto trace;

Database altered.

 

SQL> oradebug tracefile_name

/u01/app/oracle/diag/rdbms/anqing/anqing/trace/anqing_ora_8932.trc

 

 

SQL> shutdown immediate

ORA-01109: database not open

 

 

Database dismounted.

ORACLE instance shut down.

SQL>

SQL> startup nomount;

ORACLE instance started.

 

Total System Global Area  818401280 bytes

Fixed Size                  2232800 bytes

Variable Size             482348576 bytes

Database Buffers          331350016 bytes

Redo Buffers                2469888 bytes

SQL> CREATE CONTROLFILE REUSE DATABASE"ANQING" NORESETLOGS ARCHIVELOG

 2      MAXLOGFILES 16

 3      MAXLOGMEMBERS 3

 4      MAXDATAFILES 100

 5      MAXINSTANCES 8

 6      MAXLOGHISTORY 292

 7  LOGFILE

 8    GROUP 1'/u01/app/oracle/oradata/dave/redo01.log' SIZE 50M BLOCKSIZE 512,

 9    GROUP 2'/u01/app/oracle/oradata/dave/redo02.log' SIZE 50M BLOCKSIZE 512,

 10   GROUP 3 '/u01/app/oracle/oradata/dave/redo03.log'  SIZE 50M BLOCKSIZE 512

 11 DATAFILE

 12   '/u01/app/oracle/oradata/dave/system01.dbf',

 13   '/u01/app/oracle/oradata/dave/sysaux01.dbf',

 14   '/u01/app/oracle/oradata/dave/undotbs01.dbf',

 15   '/u01/app/oracle/oradata/dave/users01.dbf',

 16   '/u01/app/oracle/oradata/dave/example01.dbf',

 17   '/u01/app/oracle/oradata/dave/mssm01.dbf ',

 18   '/u01/app/oracle/oradata/dave/assm01.dbf',

 19   '/u01/app/oracle/oradata/dave/FDA01.dbf',

 20   '/u01/app/oracle/oradata/dave/FDA02.dbf',

 21   '/u01/app/oracle/oradata/dave/FDA03.dbf',

 22   '/u01/app/oracle/oradata/dave/FDA04.dbf',

 23   '/u01/app/oracle/oradata/dave/ts01.dbf',

 24   '/u01/app/oracle/oradata/dave/ts02.dbf',

 25   '/u01/app/oracle/oradata/dave/dave01.dbf',

 26   '/u01/app/oracle/oradata/dave/anqing01.dbf'

 27 CHARACTER SET AL32UTF8

 28  ;

 

Control file created.

 

SQL> RECOVER DATABASE

ORA-00283: recovery session canceled due toerrors

ORA-00264: no recovery required

 

 

SQL> ALTER DATABASE OPEN;

 

Database altered.

 

SQL> ALTER TABLESPACE TEMP ADD TEMPFILE'/u01/app/oracle/oradata/dave/temp01.dbf'

 2       SIZE 20971520  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;

 

Tablespace altered.

 

具體說明參考:

Oracle控制文件 說明

http://blog.csdn.net/tianlesoftware/article/details/4974440

 

 

3.4 查看重建控制文件的RMAN 備份信息

 

RMAN> list backupset summary;

 

using target database control file insteadof recovery catalog

specification does not match any backup inthe repository

 

--什麼信息都沒。

 

3.5 將備份集重新註冊到控制文件

 

RMAN> catalog start with '/u01/bak';

 

searching for all files that match thepattern /u01/bak

 

List of Files Unknown to the Database

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

File Name:/u01/bak/arch_0no76njh_1_1_20130416

File Name: /u01/bak/dave_lev0_0io76nh7_1_1_20130416

File Name:/u01/bak/dave_lev0_21o687pl_1_1_20130404

File Name:/u01/bak/dave_spfile_1mo65679_1_1_20130403

File Name:/u01/bak/arch_27o687s8_1_1_20130404

File Name:/u01/bak/ctl_file_2ao6vobb_1_1_20130413

File Name: /u01/bak/arch_26o687rp_1_1_20130404

File Name:/u01/bak/arch_1ho6566m_1_1_20130403

File Name:/u01/bak/dave_lev0_20o687pl_1_1_20130404

File Name:/u01/bak/arch_1io6566n_1_1_20130403

File Name:/u01/bak/dave_spfile_29o687sc_1_1_20130404

File Name: /u01/bak/ctl_file_1lo65676_1_1_20130403

File Name: /u01/bak/block_change_tracking.f

File Name:/u01/bak/ctl_file_0oo76njm_1_1_20130416

File Name:/u01/bak/ctl_file_28o687sa_1_1_20130404

File Name:/u01/bak/dave_lev0_0ko76nim_1_1_20130416

File Name: /u01/bak/dave_lev0_22o687qp_1_1_20130404

File Name:/u01/bak/dave_lev0_0jo76nh7_1_1_20130416

 

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

cataloging files...

cataloging done

 

List of Cataloged Files

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

File Name: /u01/bak/arch_0no76njh_1_1_20130416

File Name:/u01/bak/dave_lev0_0io76nh7_1_1_20130416

File Name:/u01/bak/ctl_file_2ao6vobb_1_1_20130413

File Name:/u01/bak/ctl_file_0oo76njm_1_1_20130416

File Name:/u01/bak/dave_lev0_0ko76nim_1_1_20130416

File Name: /u01/bak/dave_lev0_0jo76nh7_1_1_20130416

 

List of Files Which Where Not Cataloged

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

File Name:/u01/bak/dave_lev0_21o687pl_1_1_20130404

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name:/u01/bak/dave_spfile_1mo65679_1_1_20130403

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name:/u01/bak/arch_27o687s8_1_1_20130404

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name:/u01/bak/arch_26o687rp_1_1_20130404

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name:/u01/bak/arch_1ho6566m_1_1_20130403

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name:/u01/bak/dave_lev0_20o687pl_1_1_20130404

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name:/u01/bak/arch_1io6566n_1_1_20130403

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name:/u01/bak/dave_spfile_29o687sc_1_1_20130404

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name:/u01/bak/ctl_file_1lo65676_1_1_20130403

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name: /u01/bak/block_change_tracking.f

 RMAN-07529: Reason: catalog is not supported for this file type

File Name:/u01/bak/ctl_file_28o687sa_1_1_20130404

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

File Name:/u01/bak/dave_lev0_22o687qp_1_1_20130404

 RMAN-07518: Reason: Foreign database file DBID: 854240218  Database Name: DAVE

 

RMAN>

 

--效驗:

RMAN> list backupset summary;

 

 

List of Backups

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

Key    TY LV S Device Type Completion Time    #Pieces #Copies Compressed Tag

------- -- -- - ------------------------------ ------- ------- ---------- ---

1      B  A  A DISK       2013-04-16 04:26:25 1       1       NO         ARC_BAK

2      B  0  A DISK       2013-04-16 04:25:11 1       1       NO        DAVE_LEV0

3      B  F  A DISK       2013-04-13 12:56:11 1       1       NO         BAK_CTLFILE

4      B  F  A DISK       2013-04-16 04:26:30 1       1       NO         BAK_CTLFILE

5      B  0  A DISK       2013-04-16 04:25:58 1       1      NO         DAVE_LEV0

6      B  0  A DISK       2013-04-16 04:25:11 1       1       NO         DAVE_LEV0

 

 

3.6 執行RMAN 恢復

 

RMAN> startup mount force;

 

Oracle instance started

database mounted

 

Total System Global Area     818401280 bytes

 

Fixed Size                     2232800 bytes

Variable Size                482348576 bytes

Database Buffers             331350016 bytes

Redo Buffers                   2469888 bytes

 

RMAN> restore database;

 

Starting restore at 2013-04-16 06:10:47

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=1 device type=DISK

 

channel ORA_DISK_1: starting datafilebackup set restore

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

channel ORA_DISK_1: restoring datafile00001 to /u01/app/oracle/oradata/dave/system01.dbf

channel ORA_DISK_1: restoring datafile00010 to /u01/app/oracle/oradata/dave/FDA03.dbf

channel ORA_DISK_1: restoring datafile00011 to /u01/app/oracle/oradata/dave/FDA04.dbf

channel ORA_DISK_1: restoring datafile00012 to /u01/app/oracle/oradata/dave/ts01.dbf

channel ORA_DISK_1: restoring datafile00013 to /u01/app/oracle/oradata/dave/ts02.dbf

channel ORA_DISK_1: reading from backuppiece /u01/bak/dave_lev0_0io76nh7_1_1_20130416

channel ORA_DISK_1: piecehandle=/u01/bak/dave_lev0_0io76nh7_1_1_20130416 tag=DAVE_LEV0

channel ORA_DISK_1: restored backup piece 1

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

channel ORA_DISK_1: starting datafilebackup set restore

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

channel ORA_DISK_1: restoring datafile00002 to /u01/app/oracle/oradata/dave/sysaux01.dbf

channel ORA_DISK_1: restoring datafile00003 to /u01/app/oracle/oradata/dave/undotbs01.dbf

channel ORA_DISK_1: restoring datafile00004 to /u01/app/oracle/oradata/dave/users01.dbf

channel ORA_DISK_1: restoring datafile00008 to /u01/app/oracle/oradata/dave/FDA01.dbf

channel ORA_DISK_1: restoring datafile00009 to /u01/app/oracle/oradata/dave/FDA02.dbf

channel ORA_DISK_1: reading from backuppiece /u01/bak/dave_lev0_0jo76nh7_1_1_20130416

channel ORA_DISK_1: piecehandle=/u01/bak/dave_lev0_0jo76nh7_1_1_20130416 tag=DAVE_LEV0

channel ORA_DISK_1: restored backup piece 1

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

channel ORA_DISK_1: starting datafile backupset restore

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

channel ORA_DISK_1: restoring datafile00005 to /u01/app/oracle/oradata/dave/example01.dbf

channel ORA_DISK_1: restoring datafile00006 to /u01/app/oracle/oradata/dave/mssm01.dbf

channel ORA_DISK_1: restoring datafile00007 to /u01/app/oracle/oradata/dave/assm01.dbf

channel ORA_DISK_1: restoring datafile00014 to /u01/app/oracle/oradata/dave/dave01.dbf

channel ORA_DISK_1: restoring datafile00015 to /u01/app/oracle/oradata/dave/anqing01.dbf

channel ORA_DISK_1: reading from backuppiece /u01/bak/dave_lev0_0ko76nim_1_1_20130416

channel ORA_DISK_1: piecehandle=/u01/bak/dave_lev0_0ko76nim_1_1_20130416 tag=DAVE_LEV0

channel ORA_DISK_1: restored backup piece 1

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

Finished restore at 2013-04-16 06:12:14

 

RMAN> recover database;

 

Starting recover at 2013-04-16 06:12:17

using channel ORA_DISK_1

 

starting media recovery

 

archived log for thread 1 with sequence 24is already on disk as file/u01/app/oracle/fast_recovery_area/ANQING/archivelog/2013_04_16/o1_mf_1_24_8prydhlc_.arc

archived log for thread 1 with sequence 25is already on disk as file /u01/app/oracle/fast_recovery_area/ANQING/archivelog/2013_04_16/o1_mf_1_25_8prxqnrq_.arc

archived log for thread 1 with sequence 26is already on disk as file/u01/app/oracle/fast_recovery_area/ANQING/archivelog/2013_04_16/o1_mf_1_26_8prydhsm_.arc

channel ORA_DISK_1: starting archived logrestore to default destination

channel ORA_DISK_1: restoring archived log

archived log thread=1 sequence=23

channel ORA_DISK_1: reading from backuppiece /u01/bak/arch_0no76njh_1_1_20130416

channel ORA_DISK_1: piece handle=/u01/bak/arch_0no76njh_1_1_20130416tag=ARC_BAK

channel ORA_DISK_1: restored backup piece 1

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

archived log filename=/u01/app/oracle/fast_recovery_area/ANQING/archivelog/2013_04_16/o1_mf_1_23_8pryt3dw_.arcthread=1 sequence=23

channel default: deleting archived log(s)

archived log filename=/u01/app/oracle/fast_recovery_area/ANQING/archivelog/2013_04_16/o1_mf_1_23_8pryt3dw_.arcRECID=19 STAMP=812873540

archived log file name=/u01/app/oracle/fast_recovery_area/ANQING/archivelog/2013_04_16/o1_mf_1_24_8prydhlc_.arcthread=1 sequence=24

media recovery complete, elapsed time:00:00:03

Finished recover at 2013-04-16 06:12:23

 

RMAN> alter database open;

 

database opened

 

RMAN>

 

 

 

測試OK。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章