Oracle Rman备份策略实施
1.关于Rman
RMAN,它是一个Oracle数据库工具,它与数据库集成在一起来执行备份和恢复操作,包括在由它备份的每个数据库的控制文件中维护一个历史备份元数据的库。
RMAN也可以在另一个数据库中维护一个集中式的备份库,称为恢复列表。RMAN是一个Oracle功能,不需要单独的安装。RMAN与Oracle Secure Backup集成在一起,提供了可靠的、集中式的磁带备份管理,保护文件系统数据和Oracle数据库文件。Oracle Secure Backup SBT接口允许使用RMAN向磁带进行备份和从磁带进行恢复,也允许使用基于Inernet的服务,例如Amazon S3。Oracle Secure Backup支持几乎所有磁带驱动器、在SAN和SCSI环境中的磁带库。可以通过命令行或EM来访问RMAN和Oracle Secure Backup。
2.关于备份
2.1.逻辑备份和物理备份
数据库的备份可以是逻辑的也可以是物理的。
物理备份,主要在备份和恢复策略中被考虑,是物理的数据库文件的拷贝。可以使用RMAN或操作系统工具进行物理备份。
逻辑备份,包含逻辑数据,例如表和存储过程。可以使用Oracle数据库工具,例如Data Pump Export来抽取逻辑数据并把它存储在二进制文件中。逻辑备份可以补充物理备份。
物理备份具有大的粒度和有限的可移植性,但非常快;逻辑备份具有细的粒度和完全的可移植性,但比物理备份慢。
2.2.完全备份和部分备份
完全数据库备份,是数据库中的每个数据文件和控制文件的备份。完全数据库备份是最常见的备份类型。
部分数据库备份,它包括数据库的子集,即单个的表空间或数据文件。
表空间的备份是指一个表空间的所有数据文件的备份。表空间的备份可能是一致的,也可能是不一致的。只有当数据库运行在ARCHIVELOG模式时才有效,因为需要redo来使还
原的表空间与数据库的剩余部分一致。
2.3.一致备份和非一致备份
完全的数据库备份可能是一致的或不一致的。
在一致的备份中,所有被读写的数据文件和控制文件具有相同的检查点SCN,保证这些文件包含所有到这个SCN的改变。这种类型的备份在还原之后不需要恢复。
一致备份只有在一致的shutdown之后才可用,而且对于运行在NOARCHIVELOG模式
的数据库来说,是唯一有效的备份选择。
其它的备份选项需要介质恢复来保持一致性,这对于不应用归档重做日志文件来说是不可能的。
注意:如果还原一致的完整数据库备份,而没用应用redo,则会丢失在备份之后的所有事务。
在不一致的备份中,读写数据文件和控制文件不保证具有相同的检查点SCN,这样改变可能会丢失。
所有的联机备份必定是不一致的,因为在备份发生时,数据文件可能被修改。
不一致的备份提供出众的可访问性,因为不需要关闭数据库来产生备份完全保护数据库。
如果数据库运行在ARCHIVELOG模式,并且备份了归档重做日志和数据文件,则不一致备份是合理的备份和恢复策略的基础。
2.4.备份集和镜像拷贝
RMAN BACKUP命令或者产生镜像拷贝,或者产生备份集。
镜像拷贝是数据文件、控制文件、归档重做日志文件在磁盘上的一位一位的复制。可以使用操作系统工具或RMAN来创建物理文件的镜像拷贝和还原它们。
注意:与操作系统拷贝不同,RMAN会验证文件中的块,并在RMAN库中记录镜像拷贝。
RMAN也可以以它自己的格式创建备份,这称为备份集。
备份集中包含一个或多个数据文件、归档重做日志文件、控制文件、服务器参数文件的数据。
备份集的最小单元是一个二进制的文件,称为备份片。备份集是RMAN唯一可以写到
顺序设备(例磁带)格式。
备份集允许磁带设备连续地流动。例,RMAN可以混合慢、中、快速磁盘中的块到一个备份集中,这样
磁带设备就会有一个固定的块的输入。镜像拷贝对于磁盘来说非常重要,因为可以增量地更新,也可以就地恢复。
2.5.备份处于归档模式的数据库
如果数据库运行在归档模式,则可以在数据库处于OPEN状态时对它进行备份。
这种备份称为不一致备份,因为在恢复的过程中需要redo数据来使数据库达到一致的状态。
如果具有恢复备份需要的归档重做日志,则打开不一致的数据库备份和一致的数据库备份会一样的高效。
2.6.备份处于非归档模式的数据库
如果数据库运行在非归档模式,则唯一有效的数据库备份是一致备份。
为了使备份一致,数据库在被一致shutdown之后必须被MOUNT。在还原这个备份的时候不需要进行恢复。
2.7.增量备份
如果指定了BACKUP INCREMENTAL,则RMAN会创建数据库的增量备份。
增量备份可以捕获上一个增量备份后在块的层次上对数据库的改变。
相对于完全数据库备份,增量备份通常很小,而且备份也很快。
使用增量备份进行恢复要比单独使用重做日志恢复要快。
增量备份策略的起点是level 0 增量备份,会备份数据库中的所有数据块。
level 0增量备份在内容上与完全备份是相同的,但与完全数据库备份不同,level 0增量备份被认为是增量备份策略的一部分。
level 1增量备份只包含在前面的增量备份后改变的块。
如果在当前数据库或父数据库的incarnation中没有level 0备份存在,当进行level 1备份时,RMAN会自动产生一个level 0备份。
注意:对于非归档模式的数据库,不能在OPEN状态进行增量备份,可以在一致关库后的MOUNT状态进行增量备份。
level 1增量备份可以是累积增量备份,包含自最近的0级备份开始,所有数据块的改变;
level 1增量备份也可以是差异增量备份,只包括从最近的增量备份开始,改变的数据块。
增量备份默认为差异增量备份。
当还原增量备份的时候,RMAN使用level 0备份做为开始点,然后使用level 1备份来更新改变的块,
可以避免从redo再应用这种改变。
使用增量备份进行恢复,不需要额外的工作。如果增量备份存在,则RMAN在恢复的过程中会使用它们。
3.Linux下备份策略实施实例(中航油)
环境准备:
Linux用户为oracle
Oracle home为:/home/oracle
备份脚本和备份存放在:/home/oracle/RmanBackup/
/home/oracle/.bash_profile 已配置ORACLE_HOME, ORACLE_SID等信息;
使用操作系统认证登录rman;使用as compressed backupset压缩,节省存储空间。
备份文件命名format参数说明:
%c copy ID
%p backup piece ID
%s backup set ID
%e log Sequence
%h log thread ID
%d database name
%n database name(x填充到8个字符)
%I DBID
%f file ID
%F DBID , day ,month ,year and sequence的复合格式
%N tablespace name
%t timestamp
%M mh mm格式
%Y year yyyy格式oracle数据库自动备份方法
%u backup set+time(x填充到8个字符))
%U %u_%p_%c
3.1.备份策略
每月1日Level 0全备;
每周一-六Level 1 差异增量;
每周日Level 1累积增量。
3.2.Level 0 脚本
(1)新建d
(2)新建level0.sh
3.3.Level 1 cumulative脚本(1)d
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论