尽管备份Oracle数据库可能会耗时,但比起事务丢失的恐惧、收入的损失和不满的客户,这点耗时就微不足道了。因此,备份Oracle数据库在今天正成为备份/存储管理员能做的最重要的任务。
用户可以留意一下有几个常见的Oracle备份问题。首先,备份Oracle数据库不仅包括物理数据备份(数据库文件的副本),而且包括逻辑数据的备份---数据用SQL命令导出以及在重做日志文件缓存中的已提交和未提交的改变。
当oracle数据库发生故障时,需要恢复相关的数据库文件。恢复操作需要使用重做数据将备份更新到一个新的时间点,并将数据库回滚到事务未提交前无错误的一致状态。如果数据库或IT系统管理员已经使用了数据库快照,那么恢复可能只需要利用快照并对之应用重做数据。
在Oracle数据库备份中,有许多文件需要备份。它们是数据文件,控制文件,联机重做日志文件和归档重做日志文件。 Oracle数据库被组织成一个或多个物理文件,它们在逻辑上被称为表空间。数据文件本身被划分为数据块。控制文件包含数据库名称,创建时间戳,数据文件,重做日志文件,一个检查点和备份元数据。重做日志文件记录了数据库的所有变化。
每个数据库都有一种回滚和撤消改变的机制,用来遏制和消除变化。在Oracle中,这就是所谓的自动管理撤消。撤消记录有助于回滚事务操作、恢复和数据读取一致性。
Oracle数据库的备份方法
Oracle提供了许多方法来备份数据库。其中包括恢复管理器(RMAN),能使备份恢复操作自动化;Oracle数据泵,用以数据库的逻辑备份;以及用户管理,用户管理允许用户通过操作系统命令手动备份数据库。
同时还有各种各样的其他的数据库备份和恢复软件,增强了Oracle的备份实用程序,如CommVault公司的Simpana和IBM公司的Tivoli Storage Manager。
Matthew Staver,Pentel公司加利福尼州亚托兰斯的信息技术部经理,使用一系列工具的联合。Staver说,“当我们处理一些特别事务时,将采用HP(Hewlett-Packard's)存储业务EVA商业拷贝软件来进行快照处理,如果我们需要推出一个新的数据库补丁到Oracle时,我们会首先做一个快照,这样我们可以在任何出错的情况下回滚。”
Staver拥有惠普企业虚拟阵列和各种HP Blade System伺服器来部署和管理Oracle数据库。对于日常数据库备份操作,他利用Oracle的RMAN方式进行。 Staver还依靠惠普的复制解决方案管理服务来克隆他的数据库,供测试和开发使用。
“当我们要刷新我们用来测试和开发的Oracle实例时,我们会对产品数据库做一个快照处理” Staver 说,“当数据库与惠普公司称之为复制解决方案管理器的脚本一起运行时我们能够做到这些。[这]让你的脚本与存储区域网络相关,使你的数据库进入热备份模式,以及基于时间点的快照,将其置于SAN的VMware主机上,然后运行Oracle数据库快速克隆脚本,一到两分钟内完成所有数据的备份操作”
Staver说,对于Oracle快速克隆过程,数据库管理员需要几个小时将其上线。而这一过程通常需要花费一到两天时间来从磁带恢复并应用。
Oracle自动存储管理器
另一个来自东南部大学的一位不愿意透露身份的IT负责人同样使用一个Oracle工具进行数据库的备份操作。
“我们正在Oracle的集群环境中使用自动存储管理,因为这允许我们在Oracle安装可见的集群上同时制作两份数据副本”,他说, “从数据中心到最不繁忙的节点,我们都可以进行备份。当我们备份到A节点时,花费的时间较多。这样,因为我们已经跨过了这个时间,我们可以对另一个节点B进行相应的备份操作,这将我们的备份时间从大约12个小时缩短到2小时以内。”
Oracle备份提示
以下是一些来自专家的有用的Oracle数据库备份最佳实践,包括:
1. 当数据库处于运行状态时的热备份时,不备份活动事务;
2. 使用比如Oracle工具或者其他的第三方软件压缩Oracle备份数据,比如IBM/Tivoli的数据存储管理器等。例如,使用Oracle RAMN,数据库表的压缩能够将大表完整扫描的时间减少一半。
关于作者:Deni Connor现在是Austin, TX的数据存储策略方面的首席分析师。
3. 如果维持数据存储空间比备份和恢复数据库时间更重要的话,可以考虑使用二进制压缩。