这里主要进行rman对表空间、数据文件、控制文件、归档日志文件的备份
1、表空间的备份
只要实例启动并处于加载状态,无论数据库是否打开,都可以在rman中对表空间进行备份,如下命令:
RMAN> backup tablespace RHF_STUDY1;
Starting backup at 21-MAY-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00005 name=/opt/oracle/oradata/ORCL/datafile/study_data01.dbf
channel ORA_DISK_1: starting piece 1 at 21-MAY-13
channel ORA_DISK_1: finished piece 1 at 21-MAY-13
piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_nnndf_TAG20130521T021451_8snt0vw7_.bkp tag=TAG20130521T021451 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 21-MAY-13
同样可以备份到指定位置:
RMAN> backup tablespace RHF_STUDY1 format '/opt/backup/bak_%U.bak';
Starting backup at 21-MAY-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00005 name=/opt/oracle/oradata/ORCL/datafile/study_data01.dbf
channel ORA_DISK_1: starting piece 1 at 21-MAY-13
channel ORA_DISK_1: finished piece 1 at 21-MAY-13
piece handle=/opt/backup/bak_06oa5dgi_1_1.bak tag=TAG20130521T021650 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 21-MAY-13
可以通过list backup 命令查看备份的表空间信息:
RMAN> list backup of tablespace RHF_STUDY1;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1 Full 370.65M DISK 00:00:31 21-MAY-13
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20130521T005056
Piece Name: /opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_nnndf_TAG20130521T005056_8sno3jks_.bkp
List of Datafiles in backup set 1
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
5 Full 275562 21-MAY-13 /opt/oracle/oradata/ORCL/datafile/study_data01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
3 Full 370.65M DISK 00:00:34 21-MAY-13
BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20130521T005539
Piece Name: /opt/backup/bak_03oa58ob_1_1
List of Datafiles in backup set 3
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
5 Full 275762 21-MAY-13 /opt/oracle/oradata/ORCL/datafile/study_data01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
5 Full 344.00K DISK 00:00:02 21-MAY-13
BP Key: 5 Status: AVAILABLE Compressed: NO Tag: TAG20130521T021451
Piece Name: /opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_nnndf_TAG20130521T021451_8snt0vw7_.bkp
List of Datafiles in backup set 5
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
5 Full 278624 21-MAY-13 /opt/oracle/oradata/ORCL/datafile/study_data01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
6 Full 344.00K DISK 00:00:00 21-MAY-13
BP Key: 6 Status: AVAILABLE Compressed: NO Tag: TAG20130521T021650
Piece Name: /opt/backup/bak_06oa5dgi_1_1.bak
List of Datafiles in backup set 6
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
5 Full 278974 21-MAY-13 /opt/oracle/oradata/ORCL/datafile/study_data01.dbf
2、数据文件的备份
有两种方式指定要备份的数据文件,分别是数据文件的名称(即数据文件的详细路径)和file_id,这两项都可以通过dba_data_files中查询出来,如下:
SQL> select file_id,file_name from dba_data_files;
FILE_ID FILE_NAME
---------- ----------------------------------------------------------------------
1 /opt/oracle/oradata/ORCL/datafile/o1_mf_system_8sb04sh7_.dbf
2 /opt/oracle/oradata/ORCL/datafile/o1_mf_undotbs1_8sb05c7y_.dbf
3 /opt/oracle/oradata/ORCL/datafile/o1_mf_sysaux_8sb05p5d_.dbf
4 /opt/oracle/oradata/ORCL/datafile/o1_mf_users_8sb06dqc_.dbf
5 /opt/oracle/oradata/ORCL/datafile/study_data01.dbf
通过file_id备份:
RMAN> backup datafile 5;
Starting backup at 21-MAY-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00005 name=/opt/oracle/oradata/ORCL/datafile/study_data01.dbf
channel ORA_DISK_1: starting piece 1 at 21-MAY-13
channel ORA_DISK_1: finished piece 1 at 21-MAY-13
piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_nnndf_TAG20130521T022558_8sntoq2n_.bkp tag=TAG20130521T022558 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 21-MAY-13
通过file_name备份:
RMAN> backup datafile '/opt/oracle/oradata/ORCL/datafile/study_data01.dbf';
Starting backup at 21-MAY-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00005 name=/opt/oracle/oradata/ORCL/datafile/study_data01.dbf
channel ORA_DISK_1: starting piece 1 at 21-MAY-13
channel ORA_DISK_1: finished piece 1 at 21-MAY-13
piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_nnndf_TAG20130521T022709_8sntqx7v_.bkp tag=TAG20130521T022709 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 21-MAY-13
查看备份信息:
RMAN>list backup of datafile 5;
或者
RMAN>list backup of datafile '/opt/oracle/oradata/ORCL/datafile/study_data01.dbf';
3、控制文件的备份
在rman中对数据文件的备份方式比较灵活,有以下几种方式:
1)手动执行备份命令,如下:
RMAN> backup current controlfile;
Starting backup at 21-MAY-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
channel ORA_DISK_1: starting piece 1 at 21-MAY-13
channel ORA_DISK_1: finished piece 1 at 21-MAY-13
piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_ncnnf_TAG20130521T023541_8snv7xtz_.bkp tag=TAG20130521T023541 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 21-MAY-13
2)执行backup命令时指定INCLUDE CURRENT CONTROLFILE字句,如下:
RMAN> backup database include current controlfile;
Starting backup at 21-MAY-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/opt/oracle/oradata/ORCL/datafile/o1_mf_system_8sb04sh7_.dbf
input datafile fno=00002 name=/opt/oracle/oradata/ORCL/datafile/o1_mf_undotbs1_8sb05c7y_.dbf
input datafile fno=00003 name=/opt/oracle/oradata/ORCL/datafile/o1_mf_sysaux_8sb05p5d_.dbf
input datafile fno=00005 name=/opt/oracle/oradata/ORCL/datafile/study_data01.dbf
input datafile fno=00004 name=/opt/oracle/oradata/ORCL/datafile/o1_mf_users_8sb06dqc_.dbf
channel ORA_DISK_1: starting piece 1 at 21-MAY-13
channel ORA_DISK_1: finished piece 1 at 21-MAY-13
piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_nnndf_TAG20130521T024836_8snw04fb_.bkp tag=TAG20130521T024836 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:36
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 21-MAY-13
channel ORA_DISK_1: finished piece 1 at 21-MAY-13
piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_ncsnf_TAG20130521T024836_8snw192f_.bkp tag=TAG20130521T024836 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 21-MAY-13
3)备份system表空间时数据库会触发控制文件的自动备份(因为此前备份信息较多,因此我将前面的备份信息都删除了,删除命令会在下篇介绍,请稍等!)
RMAN> backup datafile 1;
Starting backup at 21-MAY-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/opt/oracle/oradata/ORCL/datafile/o1_mf_system_8sb04sh7_.dbf
channel ORA_DISK_1: starting piece 1 at 21-MAY-13
channel ORA_DISK_1: finished piece 1 at 21-MAY-13
piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_nnndf_TAG20130521T063608_8so9brdj_.bkp tag=TAG20130521T063608 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 21-MAY-13
channel ORA_DISK_1: finished piece 1 at 21-MAY-13
piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_ncsnf_TAG20130521T063608_8so9c8q3_.bkp tag=TAG20130521T063608 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 21-MAY-13
4)通过CONFIGURE 命令将CONTROLFILE AUTOBACK置为on后rman做任何备份操作都会自动对控制文件进行备份
RMAN> configure controlfile autobackup on;
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
查看备份的控制文件,命令如下:
RMAN> list backup of controlfile;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
13 Full 6.80M DISK 00:00:02 21-MAY-13
BP Key: 13 Status: AVAILABLE Compressed: NO Tag: TAG20130521T063608
Piece Name: /opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_ncsnf_TAG20130521T063608_8so9c8q3_.bkp
Control File Included: Ckp SCN: 300503 Ckp time: 21-MAY-13
4、归档文件的备份
归档文件对于数据库介质恢复相当关键,只要拥有相应的归档日志文件,就能确保我们将数据库恢复到备份之后的任意时刻。在rman中备份归档
文件有以下两种方式:
1)利用BACKUP ARCHIVELOG命令备份
RMAN> backup archivelog all;
Starting backup at 21-MAY-13
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=11 recid=1 stamp=815858044
input archive log thread=1 sequence=12 recid=2 stamp=815941814
input archive log thread=1 sequence=13 recid=3 stamp=815958978
input archive log thread=1 sequence=14 recid=4 stamp=815985118
input archive log thread=1 sequence=15 recid=5 stamp=815986772
channel ORA_DISK_1: starting piece 1 at 21-MAY-13
channel ORA_DISK_1: finished piece 1 at 21-MAY-13
piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_annnn_TAG20130521T065932_8sobpos5_.bkp tag=TAG20130521T065932 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:08
Finished backup at 21-MAY-13
BACKUP ARCHIVELOG命令比较灵活,all是指备份当前所有可访问到的归档文件,还可以通过until、scn、time、sequence等参数指定要备份的归档区间。
2)执行backup命令时指定plus archivelog字句,如下:
RMAN> backup current controlfile plus archivelog;
Starting backup at 21-MAY-13
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=11 recid=1 stamp=815858044
input archive log thread=1 sequence=12 recid=2 stamp=815941814
input archive log thread=1 sequence=13 recid=3 stamp=815958978
input archive log thread=1 sequence=14 recid=4 stamp=815985118
input archive log thread=1 sequence=15 recid=5 stamp=815986772
input archive log thread=1 sequence=16 recid=6 stamp=815987112
channel ORA_DISK_1: starting piece 1 at 21-MAY-13
channel ORA_DISK_1: finished piece 1 at 21-MAY-13
piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_annnn_TAG20130521T070512_8soc1b13_.bkp tag=TAG20130521T070512 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04
Finished backup at 21-MAY-13
Starting backup at 21-MAY-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
channel ORA_DISK_1: starting piece 1 at 21-MAY-13
channel ORA_DISK_1: finished piece 1 at 21-MAY-13
piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_ncnnf_TAG20130521T070517_8soc1fb0_.bkp tag=TAG20130521T070517 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 21-MAY-13
Starting backup at 21-MAY-13
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=17 recid=7 stamp=815987118
channel ORA_DISK_1: starting piece 1 at 21-MAY-13
channel ORA_DISK_1: finished piece 1 at 21-MAY-13
piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_annnn_TAG20130521T070518_8soc1hhp_.bkp tag=TAG20130521T070518 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 21-MAY-13
这条命令指的是在备份控制文件之前备份所有的归档文件。
backup ... plus archivelog 命令在备份过程中依次执行如下步骤:
(1)运行alter system archive log current语句对当前的redolog进行归档;
(2)执行backup archivelog all命令备份所有已归档的日志;
(3)执行backup命令备份指定项;
(4)再次运行alter system archive log current语句对当前的redolog进行归档;
(5)对新生成的尚未备份的归档文件进行备份。
查看归档文件的备份信息:
RMAN> list backup of archivelog all;
List of Backup Sets
===================
BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
14 84.19M DISK 00:00:06 21-MAY-13
BP Key: 14 Status: AVAILABLE Compressed: NO Tag: TAG20130521T065932
Piece Name: /opt/oracle/flash_recovery_area/ORCL/backupset/2013_05_21/o1_mf_annnn_TAG20130521T065932_8sobpos5_.bkp
List of Archived Logs in backup set 14
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 11 166984 17-MAY-13 200557 19-MAY-13
1 12 200557 19-MAY-13 241939 20-MAY-13
1 13 241939 20-MAY-13 268961 20-MAY-13
1 14 268961 20-MAY-13 300240 21-MAY-13
1 15 300240 21-MAY-13 301521 21-MAY-13