Backup And Recovery User's Guide-執行完全資料庫恢復-執行整個資料庫的完全恢復

LuiseDalian發表於2014-02-27

執行整個資料庫的完全恢復

這裡假設資料庫trgt丟失了大部分或所有的資料檔案,並且資料庫使用快速恢復區。

在整個資料庫的還原和恢復之後,當資料庫開啟時,在控制檔案中記錄的丟失的臨時表空間會使用之前的大小、AUTOEXTENTMAXSIZE屬性重新被建立。

只有丟失的臨時表空間被重新建立。

如果臨時檔案存在於RMAN庫中記錄的位置上,但具有無效的header,則RMAN不會重新建立這個臨時檔案。

 

如果臨時檔案是以OMF建立的,則被重新建立在DB_CREATE_FILE_DEST位置上,否則在它之前的位置被建立。

如果RMAN因為I/O錯誤或其它原因不能重建這個檔案,則會在預警日誌中報告錯誤,且資料開啟操作繼續執行。

練習:還原和恢復整個資料庫

--1. 啟動RMAN並連線到目標資料庫,RMAN顯示它連線到資料庫時的狀態

--   not started, not mounted, not open(資料庫已經mount但沒open), none(已經opne)

% rman

RMAN> CONNECT TARGET /

 

--2. 如果資料庫沒有被mount,則mount

STARTUP MOUNT;

--3. 使用SHOW命令檢視預先配置的channel

--   如果需要的裝置和通道已經被配置了,則不需要其它的操作;否則 使用CONFIGURE命令配置自動通道或在RUN塊中包含ALLOCATE CHANNEL命令

SHOW ALL;

 

 

RMAN configuration parameters for database with db_unique_name PROD1 are:

.

.

.

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default

CONFIGURE DEVICE TYPE SBT_TAPE PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default

CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS "SBT_LIBRARY=/usr/local/oracle/backup/lib/libobk.so";

--4. 如果還原口令加密的備份,則指定口令; 如果使用了多個不同的口令建立備份,則需要執行SET DECRYPTION IDENTIFIED BY多次

--   指定還原備份可能需要的所有口令。

SET DECRYPTION IDENTIFIED BY password;

--5. 還原和恢復資料庫

--5.1 如果還原所有的資料檔案到原始的位置,則順序地執行RESTORE DATABASERECOVER DATABASE

RMAN> RESTORE DATABASE;

 

Starting restore at 20-JUN-06

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=35 device type=DISK

allocated channel: ORA_SBT_TAPE_1

channel ORA_SBT_TAPE_1: SID=34 device type=SBT_TAPE

channel ORA_SBT_TAPE_1: Oracle Secure Backup

 

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 /disk1/oracle/dbs/tbs_01.f

channel ORA_DISK_1: restoring datafile 00002 to /disk1/oracle/dbs/tbs_ax1.f

.

.

.

Finished restore at 20-JUN-06

 

RMAN> RECOVER DATABASE;

 

Starting recover at 20-JUN-06

using channel ORA_DISK_1

allocated channel: ORA_SBT_TAPE_1

channel ORA_SBT_TAPE_1: SID=34 device type=SBT_TAPE

channel ORA_SBT_TAPE_1: Oracle Secure Backup

 

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=5

channel ORA_DISK_1: restoring archived log

archived log thread=1 sequence=6

.

.

.

channel ORA_DISK_1: reading from backup piece /disk1/oracle/work/orcva/TKRM/backupset/2007_06_20/o1_mf_annnn_TAG20070620T113128_29jhr197_.bkp

channel ORA_DISK_1: piece handle=/disk1/oracle/work/orcva/TKRM/backupset/2007_06_20/o1_mf_annnn_TAG20070620T113128_29jhr197_.bkp tag=TAG20070620T113128

channel ORA_DISK_1: restored backup piece 1

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

archived log file name=/disk1/oracle/work/orcva/TKRM/archivelog/2007_06_20/o1_mf_1_5_29jhv47k_.arc thread=1 sequence=5

channel default: deleting archived log(s)

.

.

.

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

Finished recover at 20-JUN-06

 

--5.2 如果手動地分配通道,則必須在一個RUN塊中執行RESTORERECOVER命令

RUN

{

  ALLOCATE CHANNEL c1 DEVICE TYPE sbt;

  RESTORE DATABASE;

  RECOVER DATABASE;

}

 

--5.3 還原資料檔案到新的位置,則必須在RUN塊中執行RESTORERECOVER命令,使用SET NEWNAME來重新命名資料檔案。

RUN

{ 

  SET NEWNAME FOR DATAFILE 2 TO '/disk2/df2.dbf';

  SET NEWNAME FOR DATAFILE 3 TO '/disk2/df3.dbf';

  SET NEWNAME FOR DATAFILE 4 TO '/disk2/df4.dbf';

  RESTORE DATABASE;

  SWITCH DATAFILE ALL;

  RECOVER DATABASE;

}

--6. 檢查輸出來確定介質恢復是否成功,如果成功開啟資料庫

ALTER DATABASE OPEN;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1093859/,如需轉載,請註明出處,否則將追究法律責任。

相關文章