但是,本文将大道至简,回归备份恢复技术最简单的原理,并从这个原理角度去阐述备份恢
复的十大问题和相应的解决之道。本文将只讲述最重要的Oracle数据库物理备份恢复即RMAN技
术,其实RMAN的技术原理非常简单,本质上就是操作系统的文件级操作!甚至与复杂的数据库内
部逻辑尤其是与SQL逻辑无关,即与业务和应用没有直接关系,所以RMAN也叫做物理级备份恢复
技术。
了解Oracle数据库内部架构和从事过RMAN实施的同仁们都知道,Oracle软件虽然很高深,但
客户数据最终都是以各种文件形式(ASM文件、集群文件系统、普通文件系统、裸设备等)存储
在数据库服务器中,数据库的各种DDL、DML操作也是以日志文件形式(联机日志文件和归档日志
文件)存储在数据库服务器中。因此,无论是全库备份,还是增量备份,以及归档日志备份等操
作,都是对数据文件和日志文件进行备份操作,本质上就是文件复制和拷贝操作。例如,这就是
我20多年前为某银行最早实施的RMAN备份脚本:
backup incremental level 0 database format='/backup/FULL_%d_%t_%U' plus archivelog
delete all input tag=Weekly_Full_Backup;
backup incremental level 1 database format='/backup/DAILY_%d_%t_%U' plus
archivelog delete all input tag=Daily_Backup;
上述脚本分别是“全库备份+归档日志备份”和“1级增量备份+归档日志备份”,本质上就
是对数据文件和归档日志文件这两类文件在进行复制操作。
而RMAN恢复操作呢?无论是全库恢复,还是表空间恢复、数据文件恢复、数据块恢复等,也
无论是完全恢复还是不完全恢复,所有RMAN恢复命令都涉及到两个重要操作和步骤:先Restore,
然后Recover。Restore操作就是将全量备份数据从磁带库和磁盘重新加载到数据库之中,也就是
将全量备份数据重新复制和拷贝回数据库所在的ASM磁盘组、文件目录中,而Recover操作就是先
将增量备份数据加载回来,然后将相关的归档日志文件和联机日志文件中的日志项对被加载回
来的数据文件在数据块级别进行恢复操作。因此,无论是Restore的数据加载,还是日志文件的
Recover恢复操作,本质上也都是文件级物理操作。
因此也有人戏言,搞RMAN的人可以不懂数据库,尤其可以不懂SQL,但是若不懂操作系统、
不懂存储、不懂磁带库、不懂网络,肯定玩不好RMAN。也因此,本文即将展开的RMAN实施十大问
题其实都是文件级操作存在的问题。连文件级操作都有这么多问题,难道我们的大部分IT系统就
这么不堪?且听我一一道来。
2. Oracle官方的RMAN十大最佳实践经验
这就是我发给同事的Oracle关于RMAN的十大最佳实践经验的官方文档:《Top 10 Backup and
Recovery best practices. [ID 388422.1]》,本文仅将该官方文档的这十大最佳实践经验简
要罗列如下:(1)开启数据库坏块检查功能,检测物理存储故障;(2)实施快速增量备份技术,即
相关文档
评论