在nocatalog模式下的备份,所有的备份信息都存储在控制文件中,所以数据库的一个完整备份集应该包括数据文件,控制文件,初始化参数文件还有所有的归档日志。
Oracle 10G环境rman全备份脚本:
rman>run{
allocate channedl d1 device type disk;
backup full tag ‘orcl’ database include current controlfile plus archivelog delete all input:
}
在数据库全备份完成之后,需要执行alter system archive log current命令将当前日志归档,备份归档日志应该包括最后生成的归档日志。
...
RMAN> backup full tag 'orcl' database include current controlfile plus archivelog delete all input;
Starting backup at 01-9月 -11
current log archived ———归档当前日志,此时switch logfile,发生检查点,减少恢复时间
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=18 recid=48 stamp=760723817
input archive log thread=1 sequence=19 recid=49 stamp=760723833
input archive log thread=1 sequence=20 recid=50 stamp=760724658
channel ORA_DISK_1: starting piece 1 at 01-9月 -11
channel ORA_DISK_1: finished piece 1 at 01-9月 -11
piece handle=D:ORACLEPRODUCT10.1.0FLASH_RECOVERY_AREAORCLBACKUPSET2011_09_01O1_MF_ANNNN_ORCL_75YJ9NN8_.BKP comment=NONE —归档日志备份集
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
channel ORA_DISK_1: deleting archive log(s) —删除已经备份的archivelog
archive log filename=D:ORACLEPRODUCT10.1.0FLASH_RECOVERY_AREAORCLARCHIVELO
G2011_09_01O1_MF_1_18_75YHH8W9_.ARC recid=48 stamp=760723817
archive log filename=D:ORACLEPRODUCT10.1.0FLASH_RECOVERY_AREAORCLARCHIVELO
G2011_09_01O1_MF_1_19_75YHHS4B_.ARC recid=49 stamp=760723833
archive log filename=D:ORACLEPRODUCT10.1.0FLASH_RECOVERY_AREAORCLARCHIVELO
G2011_09_01O1_MF_1_20_75YJ9LLX_.ARC recid=50 stamp=760724658
Finished backup at 01-9月 -11
Starting backup at 01-9月 -11
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=D:ORACLEPRODUCT10.1.0ORADATAORCLSYSTEM01.DBF
input datafile fno=00003 name=D:ORACLEPRODUCT10.1.0ORADATAORCLSYSAUX01.DBF
input datafile fno=00005 name=D:ORACLEPRODUCT10.1.0ORADATAORCLMSSM01.DBF
input datafile fno=00002 name=D:ORACLEPRODUCT10.1.0ORADATAORCLUNDOTBS01.DB
F
input datafile fno=00004 name=D:ORACLEPRODUCT10.1.0ORADATAORCLUSERS01.DBF
channel ORA_DISK_1: starting piece 1 at 01-9月 -11
channel ORA_DISK_1: finished piece 1 at 01-9月 -11
piece handle=D:ORACLEPRODUCT10.1.0FLASH_RECOVERY_AREAORCLBACKUPSET2011_09_01O1_MF_NNNDF_ORCL_75YJ9Q3S_.BKP comment=NONE——数据文件的备份集
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:36
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current controlfile in backupset —控制文件的备份
channel ORA_DISK_1: starting piece 1 at 01-9月 -11
channel ORA_DISK_1: finished piece 1 at 01-9月 -11
piece handle=D:ORACLEPRODUCT10.1.0FLASH_RECOVERY_AREAORCLBACKUPSET2011_09 _01O1_MF_NCNNF_ORCL_75YJDQCW_.BKP comment=NONE —控制文件的备份集
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04
Finished backup at 01-9月 -11
Starting backup at 01-9月 -11
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=21 recid=51 stamp=760724762
channel ORA_DISK_1: starting piece 1 at 01-9月 -11
channel ORA_DISK_1: finished piece 1 at 01-9月 -11
piece handle=D:ORACLEPRODUCT10.1.0FLASH_RECOVERY_AREAORCLBACKUPSET2011_09_01O1_MF_ANNNN_ORCL_75YJDWHV_.BKP comment=NONE ——备份rman备份期间产生的归档日志,此时数据库还在open会产生redo log。
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
channel ORA_DISK_1: deleting archive log(s)
archive log filename=D:ORACLEPRODUCT10.1.0FLASH_RECOVERY_AREAORCLARCHIVELO
G2011_09_01O1_MF_1_21_75YJDTQ9_.ARC recid=51 stamp=760724762
Finished backup at 01-9月 -11
Starting Control File and SPFILE Autobackup at 01-9月 -11——控制文件自动备份
piece handle=D:ORACLEPRODUCT10.1.0FLASH_RECOVERY_AREAORCLCONTROLC-1288250
893-20110901-03 comment=NONE
Finished Control File and SPFILE Autobackup at 01-9月 -11
上述的rman备份脚本的:首先是归档当前redo log,备份archivelog,然后删除掉已经备份archivelog;然后执行backup database include current controlfile备份数据文件,最后由于此备份期间还有redo log在线,再次归档当前日志然后备份删除最后备份archivelog。
由于启用了控制文件的自动备份将进行控制文件的自动备份。
如果在oracle9I环境下,其中的控制文件和参数文件备份包含在全备份集中,那样从中恢复控制文件比较复杂,oracle10G就把其中include current controlfile分离出来(应该是从9I全备份中提取ctl时间上的影响)。
在nocatalog模式下由于所有的备份信息都存储在控制文件中,控制文件的安全就非常重要。
在数据库配置中,应该在不同磁盘上存储多份控制文件,在spfile中control_file的参数要对控制文件。
启用控制文件的自动备份,表空间发生变化,备份等都会触发控制文件的自动备份。
Rman进行控制文件备份或同步时,会执行控制文件快照的备份。
全备份或其他备份时include corrent controlfile也会发生控制文件的备份。
Rman还可以单独备份当前ctl
Rman>backup current controlfile format ‘d:ctlcontrol%s.ctl’
单独备份控制文件
Rman>backup as copy current controlfile format ‘d:ctlcontrol01.ctl’
对控制文件进行拷贝备份,rman备份的控制文件需要进行恢复才可以启动数据库,而拷贝备份的控制文件是ctl的副本,可以直接启动数据库
Rman>backup datafile 1
备份system表空间的数据文件在控制文件自动备份没有开启前也会备份ctl文件,如果configure controlfile autobackup on 控制文件自动备份开启,不会备份ctl文件因为有控制文件会自动备份。
啰嗦了半天主要是一个rman全备份的过程,还有控制文件几种安全措施。
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25362835/viewspace-1054671/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25362835/viewspace-1054671/