Oracle备份策略:用户管理备份

日期: 2010-12-08 作者:W. Curtis Preston翻译:冯昀晖 来源:TechTarget中国 英文

接上文:Oracle备份策略:可选方案   有一种Oracle备份策略叫做用户管理的备份。采用这种用户管理的备份方法,你通常会有一个shell脚本,该脚本是由用户编写的,完全不是Oracle提供的,该脚本会利用Oracle数据库中自带的命令(来执行备份)。该脚本中可以包括从关闭数据库实例到只是把数据库切换到备份模式的所有工作。随着时间的推移,Oracle还真的增加了这样的功能。

例如,几年前,你要采用这种备份方式的必经途径就是你不得不通过查询Oracle来得到所有表空间的清单,然后你还不得不把每个实例切换到备份模式。这需要进行大量臆测。没有那个单独的命令,你不得不编写良好的脚本来查询Oracle……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

接上文:Oracle备份策略:可选方案

  有一种Oracle备份策略叫做用户管理的备份。采用这种用户管理的备份方法,你通常会有一个shell脚本,该脚本是由用户编写的,完全不是Oracle提供的,该脚本会利用Oracle数据库中自带的命令(来执行备份)。该脚本中可以包括从关闭数据库实例到只是把数据库切换到备份模式的所有工作。随着时间的推移,Oracle还真的增加了这样的功能。例如,几年前,你要采用这种备份方式的必经途径就是你不得不通过查询Oracle来得到所有表空间的清单,然后你还不得不把每个实例切换到备份模式。这需要进行大量臆测。没有那个单独的命令,你不得不编写良好的脚本来查询Oracle,得到表空间列表,然后解析该列表并把列表传递给另一个循环,再把那些表空间切换到备份模式。虽然这不是火箭科学(超级难题),但是它令很多人难以理解,而且这种做法容易出错;所以,Oracle现在已经添加了这一功能,大家就很方便了。因此,采用用户管理的备份,你基本上要么把它切换到离线模式,要么切换到热备份模式,然后备份相关文件。当你完成所有这些工作以后,你必须启动数据库,并把它从备份模式中切换出来。

  采用用户管理的备份意味着你还会对这些文件做一些其它工作。要么你将利用商业备份软件备份这些文件,要么你可能只是把它们复制到存储区的另一部分,然后再用你的商业备份软件抓取那些文件。这已经成为了一种相当普遍的做法,然而它未必是我喜欢的那种做法。但是,越来越多的数据库管理员(DBA)们都在管理着它们的数据库备份。他们会写这样的脚本,然后在把数据库切换到备份模式或者关闭之后把那些文件复制走,基本上都是这样的备份流程。然后他们会把这些文件放到一个指定目录,备份人员会备份这些文件。

  我并不是一个用户管理备份方法的热衷者,因为这种方法有一定挑战。首先,你所做的一切都是用户管理的备份,这容易出错,而且脚本也容易混乱。如果你把脚本搞乱了,那么你不会得到Oracle的帮助。还有另一个问题,特别是采用的如果是我前面说的两个步骤的方法时,你不得不购买更多磁盘,可能还得花不少钱。你还必须把所有这些工作协调好。你的备份软件只备份文件,它并不一定知道那些文件是不是没问题。我们也不知道DBA的shell脚本好用不好用。这种备份过程和数据库过程之间的脱节是用户管理备份方式的最大挑战。

  在恢复方面,你的最大挑战是你还管理着恢复。选择在各种模式下启动数据库,然后手工从磁带或者磁盘恢复文件是由你决定的。用户管理的备份方法是一种非常手工化的流程,而如果使用RMAN,整个流程都是自动化的。另一个要考虑的大问题就是用户管理的备份是没有增量备份的概念的。因此,你对Oracle中做的每一次备份都将充满着网络带宽,CPU资源和存储能力的挑战。

  然而,尽管存在这样的挑战,还是有许多人出于两方面的原因喜欢用户管理的备份方式。第一,他们这么做已经很长时间了,而且他们知道所有风险,可以把这件事做好。第二,他们把这种方法看作是一种更廉价的选择。因为如果你选择了RMAN路线,你将需要购买你备份软件的一份代理。

作者

W. Curtis Preston
W. Curtis Preston

TechTarget存储执行编辑

相关推荐