备份恢复问题

来源:互联网 发布:php post在线测试 编辑:程序博客网 时间:2024/06/14 06:58
与备份和恢复相关的服务级别协议的三个方面分别是:
MTBF(平均无故障时间),MTTR(平均恢复时间)和数据丢失。作为DBA来说,
目标就是增加MTBF,减少MTTR和数据丢失。
其中,MTBF指数据库会变得不可用的频率。对于一些组织,数据库必须始终可用。例如卫星飞行控制等这样的实时系统必须一直运行;即使是几分钟的故障也是灾难性的。
Oracle提供了两个可实现100%可用性的高级选项:RAC和流(streams).
(1)RAC或群集数据库由被多台计算机上的多个实例打开的一个物理数据库构成。
任何一台计算机或实例失败了,仍可通过其余活动的实例打开数据库供使用。
RAC可以防御硬件,操作系统和软件故障。
(2)流环境由单独计算机的两个或多个数据库构成。流机制可使两个数据库保持实时
同步。用户可以相互连接,在每个数据库上的变更会发布到其他数据库。如果一个数据库由于某种原因不可用,可再其他数据库上继续工作。流的容错能力超过RAC,因为它既可以防御磁盘和网络故障,又能防御硬件,操作系统和软件故障。
MTTR指的是失败后的停机时间。对于许多组织来说,这比丢失数据更严重。例如电信的账单系统在无法使用时,每一分钟就意味着用户可打免费电话,而延长的停机时间会比丢失几分钟的数据损失更多的钱。显然,理想情况是让系统一直使用,但当它失败时,就要求dba以最短的延时恢复。减少mttr的关键就是实践。当数据库崩溃时,您必须在重压之下尽可能的打开它。做好准备很重要。
您并不希望在采取行动前还要查看手册。要不断实践--如果无法在运行的系统上测试恢复,就再备用系统上测试。模拟各种失败,并为各种可能性做准备。
(3)第三个目标是最小化数据丢失。有些组织不能忍受任何数据丢失。例如股票系统
不能丢失任何一笔交易。
从Oracle9i版本开始,可将Oracle数据库配置为在任何环境下都无数据丢失。这是通过Data Guard实现的。在Data Guard环境中,主数据库被一个或多个备用数据库保护。备用数据库不断地用应用于主数据库上的所有变更进行更新。如有需要,可实时传播这些变更。
有三个高级选项--RAC,流,和Data Guard。它们都有性能影响(根据安装情况和目标,性能可能更好或更差),因此不要轻率采用。


任何容错环境都严重依赖硬件冗余,在这方面,同样不能独立于系统管理员进行工作。如果数据文件因为磁盘故障不可用,数据库也将变得(至少部分)不可用
。增加MTBF的目标必须与系统管理员的磁盘冗余和替换的目标相一致。
同样,这也完全取决于网络。如果用户不能连接,它们不会管原因是路由器坏了还是数据库崩溃了。设置数据库时,必须考虑整个IT环境,服务级别协议必须明确这一点。DBA要确保有关正常运行时间和数据丢失的协议标准,而不管失败的本质是什么。

原创粉丝点击