rman三个级别备份
rman配置备份策略
rman配置备份策略一、概述在数据库管理中,数据备份是非常重要的一项工作。
通过备份,可以及时恢复数据,避免数据丢失或损坏带来的风险。
RMAN是Oracle数据库专用的备份和恢复工具,它提供了一种简单且灵活的方式来配置备份策略。
二、备份类型在配置备份策略之前,我们首先需要了解不同的备份类型,以便选择适合的备份方式。
常见的备份类型包括完全备份、增量备份和归档日志备份。
1. 完全备份(Full Backup):备份整个数据库,包括数据文件、控制文件和归档日志文件等。
完全备份可以保证数据的完整性,但备份时间和存储空间较大。
2. 增量备份(Incremental Backup):只备份自上次备份以来发生更改的数据块。
增量备份可以减少备份时间和存储空间,但恢复时需要同时恢复多个备份。
3. 归档日志备份(Archive Log Backup):备份数据库的归档日志文件,以保证数据的连续性。
归档日志备份通常与完全备份或增量备份一起使用。
三、配置备份策略配置备份策略主要包括以下几个方面:备份频率、保留策略、备份位置和备份验证。
1. 备份频率:根据业务需求和数据变化情况,确定备份的频率。
一般建议进行定期的完全备份,并根据需要进行增量备份或归档日志备份。
2. 保留策略:根据法规要求和业务需求,确定备份数据的保留时间。
可以设置保留周期或保留备份数量,以确保备份数据的长期存储和可恢复性。
3. 备份位置:选择合适的备份位置,可以是本地磁盘、网络存储或磁带库等。
建议将备份数据存储在不同的位置,以防止单点故障。
4. 备份验证:在备份完成后,可以使用RMAN工具进行备份验证,以确保备份数据的完整性和可恢复性。
验证可以包括检查备份集的完整性、恢复测试和自动化的备份验证脚本等。
四、RMAN命令示例RMAN提供了一套丰富的命令来配置备份策略。
以下是一些常用的RMAN命令示例:1. 配置备份频率:- 完全备份:RMAN> BACKUP DATABASE;- 增量备份:RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;- 归档日志备份:RMAN> BACKUP ARCHIVELOG ALL;2. 配置保留策略:- 设置保留周期:RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;- 设置保留备份数量:RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;3. 配置备份位置:- 设置备份到本地磁盘:RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/backup/%U';- 设置备份到磁带库:RMAN> CONFIGURE CHANNEL DEVICE TYPE SBT_TAPE FORMAT '/backup/%U';4. 备份验证:- 检查备份集的完整性:RMAN> VALIDATE BACKUPSET;- 恢复测试:RMAN> RUN {SET UNTIL SCN 1000000;RESTORE DATABASE;RECOVER DATABASE;}- 备份验证脚本:RMAN> RUN {ALLOCATE CHANNEL c1 DEVICE TYPE DISK;BACKUP VALIDATE DATABASE;}五、总结通过合理配置备份策略,可以确保数据库的数据安全性和可恢复性。
oracle dg rman备份策略
oracle dg rman备份策略Oracle数据库的备份是非常重要的,可以在系统出现故障或数据丢失的情况下恢复数据库的完整性。
在Oracle数据库中,可以使用RMAN(Recovery Manager)来管理和执行备份和恢复操作。
RMAN是Oracle提供的一个备份恢复工具,可以通过RMAN备份策略来实现灵活、高效的数据库备份。
RMAN备份策略主要包括完全备份、增量备份和增量备份合并等几个方面。
1. 完全备份:完全备份是指备份整个数据库的操作。
在RMAN中使用“backup database”命令可以进行完全备份。
完全备份是数据库备份策略的基础,因为只有完全备份才能确保数据库的全部数据得到保存。
完全备份可以通过物理备份或逻辑备份来实现。
物理备份是指备份数据库文件本身,包括数据文件、控制文件和归档日志文件等。
逻辑备份是指将数据库中的逻辑对象(如表、视图、存储过程等)导出为可执行的SQL语句,并将其存储到备份集中。
2. 增量备份:增量备份是在完全备份的基础上,只备份数据库中自上次备份后有所修改的数据。
增量备份可以减少备份的数据量和备份时间,并且可以更快地进行恢复操作。
在RMAN中,可以通过“backup incremental”命令进行增量备份。
增量备份可以分为增量备份级别0和增量备份级别1。
增量备份级别0是指备份整个数据库,与完全备份相同;而增量备份级别1只备份自上次备份后有所修改的数据块。
3. 增量备份合并:随着时间的推移,增量备份产生的备份集可能会变得很大。
为了减少备份集的大小和提高恢复操作的效率,可以使用增量备份合并来合并增量备份集。
在RMAN中,可以使用“backup incremental ... merge”命令来合并增量备份集。
增量备份合并可以通过将最新的增量备份与之前的备份集合并来创建一个新的备份集,从而减少备份集的数量。
除了以上的备份策略,还可以通过设置保留策略来管理备份集的保留时间和数量。
RMAN备份详解
RMAN备份1、创建映像文件备份2、创建整体数据库备份3、创建完全数据库备份4、启用快速增量备份5、创建双向备份集6、备份备份集7、创建RMAN多部分备份8、创建归档备份以用于长期保留9、报告和维护备份1:创建映像文件备份即在backup的时候指定as copy即可。
2、备份整体数据库。
即将所有数据文件及归档文件,还有控制文件跟参数文件备份了去:如下:所有,看到上面,可以发现归档,数据,参数,控制4种文件都备份。
3:增量备份。
(1):完全备份:即将包含所有使用的数据文件块备份。
(即不包括高水位以上的和以下未使用的块)。
这样,就是完全备份。
将users表空间的使用的数据块全部备份了(2)0级增量备份:等同于标记为0级的完全备份(即跟完全备份不同的是0级增量备份能增量备份,完全备份不能。
)即可以在这个备份上做增量备份。
(3)1级累积增量备份:只包含自上次0级增量备份以来修改过的块。
(4)1级差异增量备份:只包含自上次增量备份以来修改过的块。
与1级累积增量备份不同的是,1即累积增量备份是自上次0级增量备份以来修改过的块,而差异增量备份是上次增量备份以来修改过的块,下面来个图比较:4、快速增量备份:通过块更改跟踪实现,它可以:维护自上次备份以来发生更改的块的记录。
生成重做时,将此记录写入文件。
执行备份时自动访问,使备份更快的执行。
快速增量备份,即启用块更改跟踪。
块更改跟踪会将有更改的每个块得物理地址写入到一个文件中。
需要执行增量备份时,RMAN可查看块更改跟踪文件,并只备份该文件所引用的块,无需通过扫描每个块来确定该块自上次备份以来是否发生过更改。
这会加快增量备份的速度。
跟踪文件的维护是完全自动进行的,不需用户干预。
如下:启用了块更改跟踪。
因为是0级增量备,所以会记录全部的扫描的129个,我们给他加个表,再1级增量备份试试;从上面图中发现,不是1级增量备份明显比0级得扫描的块少,只要扫描和更改改变的块就行了。
rman备份与恢复数据库
再执行BACKUP DATABASE指令备份整个数据库。
(1)使用数据库用户名和密码登陆RMAN
D:\>rman target system/oracle@orcl
(2)在RMAN执行程序中,通过客户端指令关闭数据库,
然后从RMAN加载数据到MOUNT状态。
RMAN>shutdown immediate
RMAN>startup mount
(3)使用BACKUP DATABRMAT参数说明备份的全库
(3)将数据库处于归档模式。
使用BACKUP DATABASE联机备份整个数据库
RMAN>backup database;
在备份整个数据库时,其实就是备份了数据文件,
其中包含了当前的控制文件和参数文件。而重做日志文件或归档日志文件
因此oracle建议创建单独的恢复目录,
这样可以更好的发挥RMAN提供的新特性。
快闪恢复区(flash recovery area)
快闪恢复区是存储与备份和恢复数据文件以及相关信息的存储区。
快闪恢复区保存了每个数据文件的备份,
增量备份,控制文件备份,以及归档重做日志备份。
信息库既可以存储在数据库的控制文件中,
也可以存储在恢复目录中。
在oracle中默认先将RMAN信息库写入控制文件,
如果存在恢复目录则需要继续写入到恢复目录。
使用控制文件的不足是控制文件中记录RMAN信息库的空间有限
当空间不足时可能被覆盖掉。
(2)控制文件
(3)数据库文件和控制文件的映像副本
(4)归档日志文件
读书笔记 RMAN 备份命令
读书笔记之RMAN 备份命令一备份命令简介·连接本地数据库WIN下:>SET ORACLE_SID = oraclesid>RMAN TARGET /Linux/unix下:$export ORACLE_SID = oraclesid$rman target /Tip:如果数据库在OPEN状态执行备份(即READ WRITE状态),则数据库必须置于归档模式,否则执行备份时会出现ORA-19602错误。
·执行操作系统命令RMAN>HOST;·执行SQL语句RMAN>SQL ‘ALTER SYSTEM ARCHIVE LOG ALL’;Tip:RMAN中的SQL不能执行select语句,可以执行,但是看不到结果。
Tip:一些控制RMAN环境变量,或操作CATALOG的操作都不能在RUN{}块中执行,如:CONFIGUER、LIST、REPORT等。
·整库备份RMAN>BACKUP DATABASE;Tip:会生成两个备份集(存数数据文件,存储控制文件和SPFILE)在安装目录下。
RMAN>BACKUP DATABASE FROMAT ‘F:\ORACLE\BACKUP\NAME_%U’;Tip:要确保format的目录是存在的,否则会报错。
RMAN>LIST BACKUP OF DA TABASE 查看创建的全库备份·表空间备份RMAN>BACKUP TABLESPACE USERS;Tip:只要实例启动并处于加载状态,无论数据库是否打开,都可以在RMAN中对表空间进行备份。
RMAN>LIST BACKUP OF TABLESPACE USERS; 查看表空间备份·数据文件的备份RMAN>BACKUP DATAFILE ‘数据文件路径’/FILE_ID;Tip:数据文件路径和FILE_ID可以通过数据字典DBA_DATA_FILES或V$DA TAFILE查询。
rman备份压缩参数
在Oracle RMAN备份中,可以使用压缩功能来减小备份文件的大小,从而节省存储空间。
以下是一些常用的RMAN备份压缩参数:
PRESSION LEVEL:RMAN允许设置不同的压缩级别,包括NONE(无压缩)、
LOW(低压缩,速度快)、MEDIUM(中等压缩)和HIGH(高压缩,速度慢)。
可以
根据需求选择合适的压缩级别。
2.BACKUPSET COMPRESSION:可以通过设置BACKUPSET COMPRESSION选项来启
用或禁用备份集的压缩。
语法为“BACKUP AS COMPRESSED BACKUPSET DATABASE”。
3.DATAFILE COPY COMPRESSION:对数据文件副本进行备份时,也可以使用压缩参
数。
语法为“BACKUP AS COPY COMPRESSED DATAFILE”。
4.ARCHIVELOG COMPRESSION:在备份归档日志时,也可以使用压缩参数。
语法为
“BACKUP ARCHIVELOG ALL COMPRESSED”。
在实际操作中,可以根据需要选择合适的压缩参数,并结合具体的备份策略和存储需求来进行设置。
压缩参数的选择应平衡备份速度、存储成本和恢复性能等因素。
此外,还需要注意压缩可能会增加备份和恢复的CPU负载,因此需要综合考虑系统资源的利用情况。
Rman 全备与0、1级增量备份
Rman 全备与0、1级增量备份时间: 2013-10-9分类: ORACLE备份恢复作者: Dennis 450 次浏览TAGS: RMAN增量备份rman 全备与0、1级增量备份1、简单来说, rman全库备份只需要backup database;(未压缩),或者 backup as compressed backupset database; (压缩)。
即可完全备份,如下:RMAN> backup database;Starting backup at 08-OCT-13using target database control file instead of recovery catalog allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=34 device type=DISKchannel ORA_DISK_1: starting full datafile backup setchannel ORA_DISK_1: specifying datafile(s) in backup setinput datafile file number=00001name=/u01/app/oracle/oradata/orcl/system01.dbfinput datafile file number=00002name=/u01/app/oracle/oradata/orcl/sysaux01.dbfinput datafile file number=00003name=/u01/app/oracle/oradata/orcl/undotbs01.dbfinput datafile file number=00004name=/u01/app/oracle/oradata/orcl/users01.dbfchannel ORA_DISK_1: starting piece 1 at 08-OCT-13channel ORA_DISK_1: finished piece 1 at 08-OCT-13piecehandle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o 1_mf_nnndf_TAG20131008T221828_95851ofr_.bkp tag=TAG20131008T221828 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:55 channel ORA_DISK_1: starting full datafile backup setchannel ORA_DISK_1: specifying datafile(s) in backup setincluding current control file in backup setincluding current SPFILE in backup setchannel ORA_DISK_1: starting piece 1 at 08-OCT-13channel ORA_DISK_1: finished piece 1 at 08-OCT-13piecehandle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o 1_mf_ncsnf_TAG20131008T221828_95853fmr_.bkp tag=TAG20131008T221828 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 08-OCT-13RMAN>可以看出备份集以及备份保存路径等信息,这部分信息都在show all;的参数中进行设置,这里都是默认的参数;由于是nocatalog模式,备份信息都存在控制文件中.可以使用操作系统命令查看相关的控制文件信息:[oracle@oracledba ~]$strings/u01/app/oracle/oradata/orcl/control01.ctlDISK/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nn ndf_TAG20131008T221828_95851ofr_.bkpTAG20131008T221828DISK/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nc snf_TAG20131008T221828_95853fmr_.bkpTAG20131008T221828DISK/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nn ndf_TAG20131008T221828_95851ofr_.bkpTAG20131008T221828使用list backupset;命令查看备份信息:RMAN> list backupset;using target database control file instead of recovery catalogList of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 1 Full 1.03G DISK 00:00:50 08-OCT-13 BP Key: 1 Status: AVAILABLE Compressed: NO Tag:TAG20131008T221828Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nn ndf_TAG20131008T221828_95851ofr_.bkpList of Datafiles in backup set 1File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- --------- ----1 Full 1059012 08-OCT-13/u01/app/oracle/oradata/orcl/system01.dbf2 Full 1059012 08-OCT-13/u01/app/oracle/oradata/orcl/sysaux01.dbf3 Full 1059012 08-OCT-13/u01/app/oracle/oradata/orcl/undotbs01.dbf4 Full 1059012 08-OCT-13/u01/app/oracle/oradata/orcl/users01.dbfBS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 2 Full 9.36M DISK 00:00:01 08-OCT-13 BP Key: 2 Status: AVAILABLE Compressed: NO Tag:TAG20131008T221828Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nc snf_TAG20131008T221828_95853fmr_.bkpSPFILE Included: Modification time: 08-OCT-13SPFILE db_unique_name: ORCLControl File Included: Ckp SCN: 1059037 Ckp time: 08-OCT-13 RMAN>可以看出有两个备份集,每个备份集有一个备份片,恢复的时候需要用到这两个备份,可以把文件拷贝到其他目录或者磁带上保存,需要恢复的时候拷贝到原始备份的目录(即控制文件中记录的目录)即可恢复!如果需要压缩备份全库及归档日志可以执行如下命令:backup as compressed backupset database plus archivelog;2、rman 0级增量备份:其实全备和0级增量备份都是全备,但是也是有区别的,0级增量备份可以用于增量备份恢复的基础,而单独的全备不能用于增量备份的恢复基础!0级增量备份的命令如下:RMAN> backup incremental level 0 database;或者RMAN> backup incremental level= 0 database;RMAN> backup incremental level 0 database;Starting backup at 08-OCT-13using channel ORA_DISK_1channel ORA_DISK_1: starting incremental level 0 datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup setinput datafile file number=00001name=/u01/app/oracle/oradata/orcl/system01.dbfinput datafile file number=00002name=/u01/app/oracle/oradata/orcl/sysaux01.dbfinput datafile file number=00003name=/u01/app/oracle/oradata/orcl/undotbs01.dbfinput datafile file number=00004name=/u01/app/oracle/oradata/orcl/users01.dbfchannel ORA_DISK_1: starting piece 1 at 08-OCT-13channel ORA_DISK_1: finished piece 1 at 08-OCT-13piecehandle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o 1_mf_nnnd0_TAG20131008T225334_95873gfh_.bkp tag=TAG20131008T225334 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:45 channel ORA_DISK_1: starting incremental level 0 datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup setincluding current control file in backup setincluding current SPFILE in backup setchannel ORA_DISK_1: starting piece 1 at 08-OCT-13channel ORA_DISK_1: finished piece 1 at 08-OCT-13piecehandle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o 1_mf_ncsn0_TAG20131008T225334_95874wqs_.bkp tag=TAG20131008T225334 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 08-OCT-13RMAN> list backupset;List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 4 Incr 0 1.03G DISK 00:00:43 08-OCT-13 BP Key: 4 Status: AVAILABLE Compressed: NO Tag:TAG20131008T225334Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nn nd0_TAG20131008T225334_95873gfh_.bkpList of Datafiles in backup set 4File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- --------- ----1 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/system01.dbf2 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/sysaux01.dbf3 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/undotbs01.dbf4 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/users01.dbfBS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 5 Incr 0 9.36M DISK 00:00:01 08-OCT-13 BP Key: 5 Status: AVAILABLE Compressed: NO Tag:TAG20131008T225334Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nc sn0_TAG20131008T225334_95874wqs_.bkpSPFILE Included: Modification time: 08-OCT-13SPFILE db_unique_name: ORCLControl File Included: Ckp SCN: 1060170 Ckp time: 08-OCT-13list backupset结果可以看出,全备和0级增量备份在type上的区别!同理,可以对数据库做1级增量备份,命令如下:RMAN> backup incremental level 1 database;此时rman需要对比0级增量备份后到执行1级增量备份时候的数据变化情况,备份出来的备份大小由数据更改的多少而定!RMAN> backup incremental level 1 database;Starting backup at 08-OCT-13using channel ORA_DISK_1channel ORA_DISK_1: starting incremental level 1 datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup setinput datafile file number=00001name=/u01/app/oracle/oradata/orcl/system01.dbfinput datafile file number=00002name=/u01/app/oracle/oradata/orcl/sysaux01.dbfinput datafile file number=00003name=/u01/app/oracle/oradata/orcl/undotbs01.dbfinput datafile file number=00004name=/u01/app/oracle/oradata/orcl/users01.dbfchannel ORA_DISK_1: starting piece 1 at 08-OCT-13channel ORA_DISK_1: finished piece 1 at 08-OCT-13piecehandle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o 1_mf_nnnd1_TAG20131008T230442_9587rd4t_.bkp tag=TAG20131008T230442 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:35 channel ORA_DISK_1: starting incremental level 1 datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup setincluding current control file in backup setincluding current SPFILE in backup setchannel ORA_DISK_1: starting piece 1 at 08-OCT-13channel ORA_DISK_1: finished piece 1 at 08-OCT-13piecehandle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o 1_mf_ncsn1_TAG20131008T230442_9587shm2_.bkp tag=TAG20131008T230442 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 08-OCT-13RMAN> list backupset;List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 4 Incr 0 1.03G DISK 00:00:43 08-OCT-13 BP Key: 4 Status: AVAILABLE Compressed: NO Tag:TAG20131008T225334Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nn nd0_TAG20131008T225334_95873gfh_.bkpList of Datafiles in backup set 4File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- --------- ----1 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/system01.dbf2 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/sysaux01.dbf3 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/undotbs01.dbf4 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/users01.dbfBS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 5 Incr 0 9.36M DISK 00:00:01 08-OCT-13 BP Key: 5 Status: AVAILABLE Compressed: NO Tag:TAG20131008T225334Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nc sn0_TAG20131008T225334_95874wqs_.bkpSPFILE Included: Modification time: 08-OCT-13SPFILE db_unique_name: ORCLControl File Included: Ckp SCN: 1060170 Ckp time: 08-OCT-13BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 6 Incr 1 8.53M DISK 00:00:26 08-OCT-13 BP Key: 6 Status: AVAILABLE Compressed: NO Tag:TAG20131008T230442Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nn nd1_TAG20131008T230442_9587rd4t_.bkpList of Datafiles in backup set 6File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- --------- ----1 1 Incr 1060699 08-OCT-13/u01/app/oracle/oradata/orcl/system01.dbf2 1 Incr 1060699 08-OCT-13/u01/app/oracle/oradata/orcl/sysaux01.dbf3 1 Incr 1060699 08-OCT-13/u01/app/oracle/oradata/orcl/undotbs01.dbf4 1 Incr 1060699 08-OCT-13/u01/app/oracle/oradata/orcl/users01.dbfBS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 7 Incr 1 9.36M DISK 00:00:01 08-OCT-13 BP Key: 7 Status: AVAILABLE Compressed: NO Tag:TAG20131008T230442Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nc sn1_TAG20131008T230442_9587shm2_.bkpSPFILE Included: Modification time: 08-OCT-13SPFILE db_unique_name: ORCLControl File Included: Ckp SCN: 1060711 Ckp time: 08-OCT-13 RMAN>以上3种备份生成的文件,可以通过list backupset命令查看相关区别!同样备份信息可以在控制文件中查看!。
RMAN备份概念
RMAN备份概念Topics:•About RMAN Channels•About RMAN Backups•Multiple Copies of RMAN Backups•RMAN Backup Options: Naming, Sizing, and Speed•RMAN Backup Types•Control File and Server Parameter File Autobackups•Backup Retention Policies•Backup Optimization•Restartable Backups•Managing Backup Windows and Performance: BACKUP... DURATION •How RMAN Responds to Backup Errors•Tests and Integrity Checks for BackupsAbout RMAN ChannelsAn RMAN channel represents one stream of data to a device type, and corresponds to one server session.自动分配通道CONFIGURE DEVICE TYPE ... PARALLELISMCONFIGURE DEFAULT DEVICE TYPECONFIGURE CHANNEL手工分配通道在RUN{}块中分配通道。
About RMAN BackupsImage copy是单个数据文件,归档redolog文件,或控制文件的原样拷贝。
BACKUP AS COPY创建印像拷贝CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY配置备份类型为映像拷贝。
Multiple Copies of RMAN Backups在RMAN中,有两种方式使同一备份产生多份拷贝:1、在backup as backupset命令中多次备份。
[Oracle数据库]使用RMAN备份与还原数据库原理
使用RMAN备份与还原Oracle数据库原理一、数据库备份概念对于Oracle数据库,备份方式包括物理备份和逻辑备份。
1、物理备份将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带。
该方法实现数据库的完整恢复,但数据库必须运行在归档模式下(业务数据库在非归档模式下运行),且需要极大的外部存储设备,例如磁带库,具体包括冷备份和热备份。
冷备份和热备份是物理备份(也称低级备份),它涉及到组成数据库的文件,但不考虑逻辑内容。
使用RMAN备份与还原ORACLE数据库的方式,属于物理备份方法。
2、逻辑备份利用SQL语言从数据库中抽取数据并存于二进制文件的过程。
业务数据库采用此种方式,此方法不需要数据库运行在归档模式下,不但备份简单,而且可以不需要外部存储设备,包括导出/导入(EXPORT/IMPORT)。
这种方法包括读取一系列的数据库日志,并写入文件中,这些日志的读取与其所处位置无关。
二、RMAN备份方式使用RMAN备份Oracle数据库,包括以下三种备份概念。
1、完全备份(Full Backup)与增量备份(Incremental Backup)完全备份与增量备份是针对数据文件而言,控制文件和归档日志文件不能进行增量备份。
当然,后两者可以做备份优化。
2、打开备份(Open Backup)或关闭备份(Closed Backup)数据库打开状态下进行备份即是打开备份,数据库关闭状态下(加载状态)进行的备份即关闭备份。
3、一致备份(Consistent Backup)与不一致备份(Inconsistent Backup)数据库打开状态或不干净关闭状态(shutdown abort)进行的备份是不一致备份,利用不一致的备份修复数据库后还需要做数据库的恢复。
在数据库干净关闭状态进行的备份是一致备份,利用一致备份修复数据库后不需要做数据库的恢复。
三、备份策略由于数据库占据物理空间较大,每次都进行全库备份,对存储介质要求比较高,也会造成空间的冗余浪费,故而在实际的数据备份过程中,通常采用增量备份的方法。
RMAN管理的备份和恢复
10、RMAN提供了恢复目录用来存放RMAN信息库,RMAN恢复目录由几个表 和存储过程组成,这些对象存放在一个schema下面,因为表用来存放RMAN备 份的元数据,因此可以永久的保留下去,而不需要删除历史记录 11、RMAN恢复目录是可选的,不是必须的,元数据通过目标数据库的控制文 件传递到恢复目录,RMAN的元数据始终都存放一份在目标数据库的控制文件 中,不会因为恢复目录的存在而删除,使用RMAN完成备份以后,会将控制文 件的RMAN元数据同步到恢复目录,默认情况下,控制文件中的信息保留7天, 恢复目录永久保留。RMAN还可以同时为多个目标数据库服务,在同一个恢复 目录里面,可以保留多个目标数据库的RMAN元数据 12、如果使用恢复目录,则在使用RMAN时,除了建立到目标数据库的连接以 外,还必须建立到恢复目录所在数据库的连接,在恢复目录数据库里面创建对 应的服务器进程和session 13、RMAN工具本身由两部分组成 RMAN可执行程序:这是一个命令接口,提供了交互的界面,能够解释我们的 RMAN命令,返回结果。在工作中,完成的实质性工作很少 脚本文件recover.bsp:备份恢复的实质性工作是由目标数据库的程序包完成的, 对目标数据库的相应程序包的调用则是由文件recover.bsp实现的
等等
配置RMAN
RMAN的体系结构 服务器进程 控制 文件 目标数据库 Recovery catalog 数据库
服务器进程
RMAN可执行程序
通道 通道 MML 通道 Recover.bsq
磁盘
磁带库
闪回恢 复区
1、RMAN要进行备份的数据库叫做目标数据库 2、RMAN是一个客户端程序,需要建立到目标数据库的客户端连接,并在目标数据 库上创建对应的服务器进程以及session,RMAN输入的各个命令,从客户端传递到 服务器,由服务器进程负责执行,RMAN只能使用专用服务器连接,不能使用共享服 务器连接 3、备份过程中,RMAN读取目标数据库的控制文件,从而获得目标数据库里包含哪 些数据文件、归档日志文件、以及各个检查点SCN,指导RMAN完成备份和恢复的具 体操作
Oracle RMAN备份策略
Oracle RMAN 备份策略RMAN 可以进行的两种类型的备份,即完全备份(Full Backup )和增量备份(Incremental Backup )。
在进行完全备份时,RMAN 会将数据文件中除空白的数据块之外,所有的数据块都复制到备份集中。
需要注意,在RMAN 中可以对数据文件进行完全备份或者增量备份,但是对控制文件和日志文件只能进行完全备份。
与完全备份相反,在进行增量备份时RMAN 也会读取整个数据文件,但是只会备份与上一次备份相比发生了变化的数据块。
RMAN 可以对单独的数据文件、表空间,或者整个数据库进行增量备份。
使用RMAN 进行增量备份可以获得如下好处:● 在不降低备份频率的基础上能够缩小备份的尺寸,从而节省磁盘或磁带的存储空间。
● 当数据库运行在非归档模式时,定时的增量备份可以提供类似归档重做日志文件的功能。
在RMAN 中建立的增量备份可以具有不同的级别(Level ),每个级别都使用一个不小于0的整数来标识,例如级别0、级别1等。
级别为0的增量备份是所有增量备份的基础,因为在进行级别为0的备份时,RMAN 会将数据文件中所有已使用的数据块都复制到备份集中,类似于建立完全备份,级别大于0的增量备份将只包含与前一次备份相比发生了变化的数据块。
增量备份有两种方式:差异备份与累积备份。
差异备份是默认的增量备份类型,差异备份会备份上一次进行的同级或者低级备份以来所有变化的数据块。
而累积备份则备份上次低级备份以来所有的数据块。
例如,周一进行了一次2级增量备份,周二进行了一次3级增量备份,如果周四进行3级差异增量备份时,那么只备份周二进行的3级增量备份以后发生变化的数据块;如果进行3级累积备份,那么就会备份上次2级备份以来变化的数据块。
图15-4显示了一系列差异增量备份的情况,在该备份策略中,一周之内各天的备份方法如下:● 每周日进行一次0组增量备份,RMAN 将对数据文件中所有非空白的数据块进行备份。
rman 分配通道原理
rman 分配通道原理RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具。
在RMAN的工作中,通道(Channel)扮演着非常重要的角色。
通道是服务器进程发起并控制的目标数据库的文件与物理备份设备之间的字节流。
通道的工作原理主要分为三个阶段,分别是第一阶段“读”;第二阶段“复制”;第三阶段“写”。
通道的分配在RMAN中是自动完成的,大多数的RMAN命令执行时必须先手动或自动地分配通道。
一个通道必须要对应一个服务器进程(会话)。
通道中的设备则分为两种:DISK(磁盘)和SBT(串行备份磁带或又称系统备份至磁带,代表第三存储体)。
RMAN会为每个通道分配输出缓冲区,用于在数据溢出到备份片之前接受来自输入缓冲区的数据块。
在磁带上备份或恢复时,RMAN会为每个通道分配4个输出缓冲区,每个大小为256K,因此每个通道的内存区域通常为1M。
此外,RMAN的内存利用涉及到PGA(Program Global Area)和SGA (System Global Area)。
在磁盘上的备份会使用PGA内存作为备份缓冲区。
如果设置dbwr_io_slaves为任意的非零值,RMAN会自动分配4个I/O从属协调输入缓冲区内存中的数据块加载。
为实现此功能,RMAN磁盘备份的内存区会被推入SGA中的shared pool,如果SGA中有large pool,则被推入large pool。
默认情况下dbwr_io_slaves=0,所以磁盘备份默认使用PGA内存区。
如需更多关于RMAN的信息,建议咨询数据库专家或查阅数据库领域相关书籍文献。
RMAN备份方法
以下都是使用rman增量备份,主要是从数据库大小和备份还原所用时间两个方面考虑。
0级备份表示数据库的全备份,默认不包括只读表空间。
1级备份表示小于等于1级备份以来的数据库变化情况。
2级备份表示小于等于2级别分以来数据库的变化情况。
3级,4级的意思和1级相似。
1、一月一次0级备份,两周一次1级备份,一周一次2级备份,每天一次3级备份。
此备份方案将备份时间分散,可以说是节省了备份的时间,而且节省了许多存储备份的空间,但是这造成还原时间增加了许多。
2、两周一次0级备份,一周一次1级备份,每天一次2级备份。
此备份方案相对方案2在备份时间上增长,还原时间缩短,存储备份的空间也相对有少量的增加。
3、一周一次0级备份,每天一次1级备份。
此方案平凡的对数据库进行全备份,占用操作系统的资源相对方案2和方案3大了很多,而且占用更多存储空间,但是此方案节省了很多恢复的时间。
数据库的备份方案选择主要调节备份和还原所用时间之间的平衡,使其对生产系统的影响降到最小。
如果备份时间过长会长时间的占用I/O和内存资源,造成生产环境文件读取速度慢;如果还原时间太长,则拖延了系统恢复后正常上线的时间。
对于现在的数据库系统,案2和方案3在备份时间上和方案4相差无几,在备份存储上比方案4节省不少,但是在还原时间上却大大超过方案4。
为了数据的安全性,建议不用方案1作为主要备份。
而对于2,3,4,在实际生产环境中,根据现在数据库大小和每天产生的数据量大小的估计,方案4最适合。
虽然平凡的0级备份对操作系统的资源占用很大,但是从测试的情况看,每次0级备份所发的时间是20分钟左右,1级备份所用的时间是6分钟左右,而且每次0级备份都在周末比较空闲的00:00进行,对生产环境的影响可以忽略不计。
在备份存储方面,一次0级备份占用空间30G,每天1级备份占用空间是600M左右,一周的全部备份文件大小在120G左右,E盘存储空间大小正好适合于两周数据的存储,可以在1-2周手动的清理过期的备份集一次。
RMAN 备份详解
RMAN 备份详解/leshami/article/details/6032739--======================-- RMAN 备份详解--======================一、数据库备份与RMAN备份的概念1.数据库完全备份:按归档模式分为归档和非归档归档模式打开状态,属于非一致性备份关闭状态,可以分为一致性和非一致性非归档模式打开状态,非一致性备份无效关闭状态,一致性备份,非一致性备份不被推荐2.RMAN备份RMAN使用服务器会话来完成备份操作,从RMAN客户端连接到服务器将产生一个服务器会话RMAN备份内容包括:整个数据库,表空间,数据文件,指定的数据文件,控制文件,归档日志文件,参数文件等3.RMAN备份的类型完整备份(full) 或增量备份(incremental)一致性备份(consistent)或不一致性备份(inconsistent)热备(open)或冷备(closed),冷备时数据库必须处于mount状态,冷备可以为一致性备份或非一致性备份完整备份一个或多个数据文件的一个完整副本,包含从备份开始处所有的数据块.完整备份不能作为增量的基础增量备份包含从最近一次备份以来被修改或添加的数据块.可以分为差异增量备份和累计增量备份差异增量备份仅仅包含n级或n级以下被修改过的数据块。
备份数据量小,恢复时间长。
累计增量备份仅仅包含n-1级或n-1级以下被修改过的数据块。
备份数据量大,恢复时间短。
0级增量备份相当于一个完整备份,该备份包含所有已用的数据块文件,与完整备份的差异是完整备份不能用作级增量备份的基础一致性备份备份所包含的各个文件中的所有修改都具备相同的系统变化编号(system change number,SCN)。
也就是说,备份所包含的各个文件中的所有数据均来自同一时间点。
一致性数据库完全备份(consis-tent whole database backup)进行还原(restore)后,不需要执行恢复操作(recovery)非一致性备份在数据库处于打开(open)状态时,或数据库异常关闭(shut down abnormally)后,对一个或多个数据库文件进行的备份。
(完整版)Rman备份
RMAN备份脚本(Unix)2008年12月26日星期五上午 09:55备份策略:星期天 0 级星期一,二,四,五六 2 级星期三 1 级-—本地mkdir /home/oracle/backupmkdir /home/oracle/backup/scriptmkdir /home/oracle/backup/logmkdir /home/oracle/backup/export——备份目的地mkdir /home/oracle/rman_backupcreate tablespace rman_tbs datafile '/oradata/luke/rman_tbs01。
dbf' size 1024M;create user rman identified by rman default tablespace rman_tbs temporary tablespace temp; grant connect,resource ,recovery_catalog_owner to rman;rman catalog rman/rmancreate catalog tablespace rman_tbs;connect target sys/lukewhx@lukeregister database;report schema;configure retention policy to redundancy 2;configure retention policy to recovery window of 7 days;--倒出RMAN用户数据脚本exp_rman。
paruserid=rman/rmanfile=/home/oracle/backup/export/rman。
dmplog=/home/oracle/backup/log/rman.log—-倒出RMAN数据SHELL脚本exp_rman.sh#!/bin/bashcd $HOME. 。
Oracle-Rman备份详细讲解
数据备份与恢复通过本章的学习,要求学员掌握以下内容:1、大致了解ORACLE的备份方式。
2、了解如何配置RMAN。
3、了解如何部署备份策略4、如何实现一般的还原和恢复1备份概述1.1概述所谓备份,就是把数据库复制到转储设备的过程。
其中,转储设备是指用于放置数据库拷贝的磁带或磁盘。
通常也将存放于转储设备中的数据库的拷贝称为原数据库的备份或转储。
ORACLE数据库的备份分为物理备份和逻辑备份两种。
物理备份是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带。
可以使用Oracle 的恢复管理器(Recovery Manager,RMAN)或操作系统命令进行数据库的物理备份。
逻辑备份是利用SQL语言从数据库中抽取数据并存于二进制文件的过程。
Oracle提供的逻辑备份工具是EXP。
数据库逻辑备份是物理备份的补充,对于逻辑备份来说,时间点恢复是不可能的,逻辑备份通常不会用作产品数据库备份与恢复计划的部分。
1.2 数据库运行方式在说明ORACLE备份方式之前,应大致了解一下ORACLE数据库的运行方式。
ORACLE 数据库有两种运行方式:一是归档方式(ARCHIVELOG),归档方式的目的是当数据库发生故障时最大限度恢复数据库,可以保证不丢失任何已提交的数据;二是不归档方式(NOARCHIVELOG),只能恢复数据库到最近的回收点(冷备份或是逻辑备份)。
根据数据库的高可用性和用户可承受丢失的工作量的多少,对于生产数据库,强烈要求采用为归档方式;那些正在开发和调试的数据库可以采用不归档方式。
在创建数据库时,就可以设置数据库初始的存档方式。
一般情况下默认为NOARCHIVELOG方式。
当数据库创建好以后,根据我们的需要把需要运行在归档方式的数据库改成ARCHIVELOG方式。
方法如下:1.改变不归档方式为为归档方式(1)关闭数据库,备份已有的数据,改变数据库的运行方式是对数据库的重要改动,所以要对数据库做备份,对可能出现的问题作出保护。
rman
startup
backup database;
run {
configure retention policy to recovery window of 7 days;
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to 'D:\1\%F';
}
allocate channel for maintenance device type disk;
crosscheck backupset;
delete noprompt obsolete;
全备
RMAN> run{
2> allocate channel cha1 type disk;
1. 是否选择增量备份
1. 建立增量备份的全库备份RMAN>BACKUP INCREMENTAL LEVEL=0 DATABASE;
2. 为数据文件user.dbf建立1级增量备份RMAN>BACKUP INCREMENTAL LEVEL=1 DATAFILE 'D:\ORAHOME\ORADATA\USER.DBF';
3> backup
4> format ' Nhomakorabea:\bak\full_%t'
5> tag full_backup
6> database;
7> release channel cha1;
8> }
【RMAN】RMAN增量备份
【RMAN】RMAN增量备份⼀、增量备份 增量备份主要作⽤是仅复制上次备份以来已更改的数据块。
可以使⽤RMAN创建数据⽂件,表空间或整个数据库的增量备份。
将增量备份作为策略的⼀部分的主要原因是:⽤于基于增量更新备份的策略,其中这些增量备份⽤于定期前滚数据库的映像副本;减少每⽇备份所需的时间;通过⽹络备份时节省⽹络宽带;恢复时能够使⽤NOLOGGING选项创建对象的更改。
例如,直接插⼊不会创建重做⽇志,并且⽆法使⽤介质恢复重现其更改的数据条⽬。
但是,这样会更改数据块,因此会通过增量备份进⾏还原;能够将物理备⽤数据库与主数据库同步。
可以使⽤RMAN BACKUP INCREMENTAL FROM SCN命令在主数据库上创建备份,该备份从备⽤数据库的当前SCN开始,备库可⽤该备份前滚备⽤数据库;减少⾮归档数据库的备份⼤⼩,可以进⾏增量备份,⽽不是每次都进⾏完整的数据库备份。
与完全备份⼀样,如果处于ARCHIVELOG模式,则可以在数据库打开时进⾏增量备份;如果数据库处于NOARCHIVELOG模式,则只能在⼀致关闭后进⾏增量备份。
Note:完整备份(full backup)不能成为增量备份策略的⼀部分;它不能成为后续增量备份的⽗级。
⼆、增量备份算法 数据⽂件中的每个数据块都包含⼀个系统更改号(SCN),它是最近对块进⾏更改的SCN。
在增量备份期间,RMAN读取输⼊⽂件中每个数据块的SCN,并将其与⽗增量备份的检查点SCN进⾏⽐较。
如果输⼊数据块中的SCN⼤于或等于⽗级的检查点,则RMAN复制该块。
如果启⽤块更改跟踪功能,RMAN可以引⽤更改跟踪⽂件以识别数据⽂件中已更改的块,⽽⽆需扫描数据⽂件的完整内容,启⽤后提⾼增量备份的效率,但由于要时刻维护块跟踪,系统在平时会增加额外的⼀点负担。
#开启块跟踪SQL> alter database enable block change tracking using file '/u01/app/backup/track_block';Database altered.#查看块跟踪⽂件SQL> select filename from v$block_change_tracking;FILENAME--------------------------------------------------------------------------------/u01/app/backup/track_block#关闭块跟踪SQL> alter database disable block change tracking;Database altered.三、多级增量备份 RMAN可以创建多级增量备份。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0 2 * * 1-6 su – oracle -c /home/oracle/app/oradataback/rmanscripts/rmanlevel2.sh //每周一周六2:00运行 2级增量备份
sql 'alter system archive log current';
backup archivelog all format '/home/oracle/app/oradataback/archback/db_arch_%T_%U' delete input;
release channel c1;
sql 'alter system archive log current';
backup archivelog all format '/home/oracle/app/oradataback/archback/db_arch_%T_%U' delete input;
release channel c1;
}
EOF
1Hale Waihona Puke 备份文件: --rmanlevel1.sh--
#!/bin/sh
# set porfile_env
export ORACLE_SID=eytdbs # rman level0 backup
rman log='/home/oracle/app/oradataback/db_rman1.log' append <<EOF
connect target /;
run
{
allocate channel c1 type disk;
backup incremental level=2 database format '/home/oracle/app/oradataback/db_level2_%T_%U' tag='level2';
}
EOF
2级备份文件:
--rmanlevel2.sh--
#!/bin/sh
# set porfile_env
export ORACLE_SID=eytdbs # rman level0 backup
rman log='/home/oracle/app/oradataback/db_rman2.log' append <<EOF
}
EOF
#说明:在oracle用户下手动运行脚本的命令:sh rmanlevel2.sh
3. 加自动运行任务:
在root下设置,用vi编辑: #crontab -e
0 2 1 * * su – oracle -c /home/oracle/app/oradataback/rmanscripts/rmanlevel0.sh //每月1日2:00运行 0级备份
chmod 775 oradataback
chown -R oracle:oinstall /home/oracle/app/oradataback
touch rmanlevel0.sh rmanlevel1.sh rmanlevel2.sh
赋权同上
2. vi 编辑3个文件:
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
4. 测试结果:
可以自动运行,能成功的备份数据, 但有点小问题,
一是rman备份格式 %F 一直都用这个格式,但今天既然不认识了,只能改为_%T_%U',不知道什么原因。
sql 'alter system archive log current';
backup archivelog all format '/home/oracle/app/oradataback/archback/db_arch_%T_%U' delete input;
release channel c1;
0级备份文件:
--rmanlevel0.sh--
#!/bin/sh
# set porfile_env
export ORACLE_SID=eytdbs # rman level0 backup
rman log='/home/oracle/app/oradataback/db_rman0.log' append <<EOF
--查看添加的任务: crontab -l
--crontab的格式:
minutes|hours|day of month|month|day of week|
--启动crond:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
connect target /;
run
{
allocate channel c1 type disk;
backup as compressed backupset incremental level=0 database format '/home/oracle/app/oradataback/db_level0_%T_%U' tag='level0';
二是报了几个错误:
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found "identifier": expecting one of: "...... {, "
connect target /;
run
{
allocate channel c1 type disk;
backup incremental level=1 database format '/home/oracle/app/oradataback/db_level1_%T_%U' tag='level1';
RMAN-01008: the bad identifier was: EOF
RMAN-01007: at line 1 column 1 file: standard input
找了半天也没找到毛病,以后再慢慢的研究吧。
1. 建备份目录 oradataback,2级目录archback(放归档日志)、rmanscripts(备份脚本),
在rmanscripts下面建 rmanlevel0.sh rmanlevel1.sh rmanlevel2.sh 文件:
mkdir oradataback
--home/oracle/app/oradataback