Oracle 11g, 12c восстановление с использованием Fast Recovery Area
После настройки FRA можно использовать ее для резервного копирования и восстановления.
Создав полную резервную копию БД с помощью RMAN, отобразим её:
RMAN> list backup of database;
Далее сделаем резевную копию Fast Recovery Area указав директорию
RMAN> backup recovery area to destination '/share/fra_backups/';
Если мы повторно отобразим список, то будет видно два набора резевных копий
RMAN> list backup of database;
List of Backup Sets
===================
BS Key Type LV Size
------- ---- -- ----------
24 Full 966.04M
List of Datafiles in backup set 24
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 Full 880130 21-OCT-13 /usr/oracle/app/oradata/test1/system01.dbf
2 Full 880130 21-OCT-13 /usr/oracle/app/oradata/test1/sysaux01.dbf
3 Full 880130 21-OCT-13 /usr/oracle/app/oradata/test1/undotbs01.dbf
4 Full 880130 21-OCT-13 /usr/oracle/app/oradata/test1/users01.dbf
Backup Set Copy #1 of backup set 24
Device Type Elapsed Time Completion Time Compressed Tag
----------- ------------ --------------- ---------- ---
DISK 00:00:50 21-OCT-13 NO TAG20131021T091707
List of Backup Pieces for backup set 24 Copy #1
BP Key Pc# Status Piece Name
------- --- ----------- ----------
30 1 AVAILABLE /usr/oracle/app/flash_recovery_area/TEST1/backupset/2013_10_21/o1_mf_nnndf_TAG20131021T091707_96bbbn13_.bkp
Backup Set Copy #2 of backup set 24
Device Type Elapsed Time Completion Time Compressed Tag
----------- ------------ --------------- ---------- ---
DISK 00:00:50 21-OCT-13 NO TAG20131021T091707
List of Backup Pieces for backup set 24 Copy #2
BP Key Pc# Status Piece Name
------- --- ----------- ----------
36 1 AVAILABLE /share/fra_backups/TEST1/backupset/2013_10_21/o1_mf_nnndf_TAG20131021T091707_96bd3s7b_.bkp
Если база данных и директория /usr/oracle/app/flash_recovery_area/ будет утеряна, можно будет восстановиться из директории /share/fra_backups.
Восстановление:
Запускаем экземпляр
$ rman target /
RMAN> startup nomount;
startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/usr/oracle/app/product/11.2.0/dbhome_1/dbs/inittest1.ora'
starting Oracle instance without parameter file for retrieval of spfile
Oracle instance started
Восстанавливаем spfile
RMAN> restore spfile from '/share/fra_backups/TEST1/backupset/2013_10_21/o1_mf_nnsnf_TAG20131021T091702_96bd3o0t_.bkp';
Starting restore at 21-OCT-13
using channel ORA_DISK_1
channel ORA_DISK_1: restoring spfile from AUTOBACKUP /share/fra_backups/TEST1/backupset/2013_10_21/o1_mf_nnsnf_TAG20131021T091702_96bd3o0t_.bkp
channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete
Finished restore at 21-OCT-13
Перезапускаем экземпляр
RMAN> shutdown immediate
RMAN> startup nomount
connected to target database (not started)
Oracle instance started
Восстанваливаем controlfile
RMAN> restore controlfile from '/share/fra_backups/TEST1/backupset/2013_10_21/o1_mf_ncnnf_TAG20131021T091702_96bd3mwv_.bkp';
Starting restore at 21-OCT-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/usr/oracle/app/oradata/test1/control01.ctl
output file name=/usr/oracle/app/flash_recovery_area/test1/control02.ctl
Finished restore at 21-OCT-13
Монтируем экземпляр
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
Восстанавливаем файлы данных
RMAN> catalog start with '/share/fra_backups/TEST1/backupset/2013_10_21/o1_mf_nnndf_TAG20131021T091707_96bd3s7b_.bkp';
RMAN> restore database;
Starting restore at 21-OCT-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 /usr/oracle/app/oradata/test1/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /usr/oracle/app/oradata/test1/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /usr/oracle/app/oradata/test1/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /usr/oracle/app/oradata/test1/users01.dbf
channel ORA_DISK_1: reading from backup piece /share/fra_backups/TEST1/backupset/2013_10_21/o1_mf_nnndf_TAG20131021T091707_96bd3s7b_.bkp
channel ORA_DISK_1: piece handle=/share/fra_backups/TEST1/backupset/2013_10_21/o1_mf_nnndf_TAG20131021T091707_96bd3s7b_.bkp tag=TAG20131021T091707
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:39
Finished restore at 21-OCT-13
Восстанавливаем архивлоги
RMAN> list backup;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
21 Full 966.04M DISK 00:00:00 21-OCT-13
BP Key: 27 Status: AVAILABLE Compressed: NO Tag: TAG20131021T091707
Piece Name: /share/fra_backups/TEST1/backupset/2013_10_21/o1_mf_nnndf_TAG20131021T091707_96bd3s7b_.bkp
List of Datafiles in backup set 21
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 Full 880130 21-OCT-13 /usr/oracle/app/oradata/test1/system01.dbf
2 Full 880130 21-OCT-13 /usr/oracle/app/oradata/test1/sysaux01.dbf
3 Full 880130 21-OCT-13 /usr/oracle/app/oradata/test1/undotbs01.dbf
4 Full 880130 21-OCT-13 /usr/oracle/app/oradata/test1/users01.dbf
RMAN> recover database until scn 880130;
Starting recover at 21-OCT-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 device type=DISK
starting media recovery
archived log file name=/usr/oracle/app/oraarch/1_11_825688950.dbf thread=1 sequence=11
archived log file name=/usr/oracle/app/oraarch/1_12_825688950.dbf thread=1 sequence=12
media recovery complete, elapsed time: 00:00:00
Finished recover at 21-OCT-13
Открываем базу данных
RMAN> alter database open resetlogs;
database opened
Просмотр использования дискового пространства для Recovery Area в процентах
SQL> select * from v$flash_recovery_area_usage;
Изменить размер FRA можно с помощью команды
SQL> alter system set db_recovery_file_dest_size = 10G;
Очистка дискового пространства FRA от устаревших резеврных копий
RMAN> report obsolete;
RMAN> delete obsolete;