来自农村的老实娃
分类: Oracle
2007-08-02 10:54:36
备份中恢复的,Oracle 恢复会直接处理此类情况。
完全自动表空间时间点恢复。RMAN 只提供了一条命令,用于将表空间恢复到过去的某个时间点。此操作是完全自动的,而且在恢复结束时就可以使用表空间。
在备份或恢复期间进行自动通道切换。有多少次几乎要完成备份或恢复操作时,因为发生错误导致通道中断而无法完成最后的文件恢复?RMAN 将结束其他已分配通道的工作,然后自动继续完成操作。
表空间重命名。某些情况中,表空间分享同一个表空间名称,特别是如果它们被克隆后。具备跨平台可传输的表空间能力的情况下,可以很方便地在表空间级别移动数据。重新命名表空间的能力使表空间变得更加轻便。
删除数据库。如果定期创建的数据库是用于测试和授权的,应该在此临时数据库完成使命后将属于数据库的文件删除。否则,磁盘将装满孤儿数据文件。新的 RMAN DROP DATABASE 命令提供了从操作系统中删除所有数据库文件的进程。
RMAN 比对用户管理的恢复
恢复管理器提供了 Oracle 数据库有效的恢复方法。但是有许多 DBA 继续使用其自编的脚本完成备份和恢复操作。下表对 RMAN 和用户管理的通用恢复操作进行了比较。
操作 |
恢复管理器步骤 |
用户管理步骤 |
丢失数据文件 |
1. 脱机数据文件和/或表空间。 |
1. 查找备份,特别是最新的备份。 |
2. RMAN 恢复数据文件备份。 3. RMAN 自动恢复任何所需的存档日志时会恢复数据文件。 4. 联机数据文件和/或表空间。 |
2. 如果备份在磁带上,要求有要恢复的文件。 3. 脱机数据文件和/或表空间 4. 发出恢复数据文件命令。 5. 如果需要存档日志,则恢复它们。 6. 使用恢复命令所需的存档日志 7. 联机数据文件和/或表空间 | ||
修补损坏的程序块 |
1. 程序块恢复block_number |
1. 导出数据 2. 损坏程序块中的数据丢失,除非可以从备用数据库或先前备份中抽取它。同时即使只有一个程序块损坏也很难抽取损环程序块以外的表数据。 3. 导入表数据 | |
表空间时间点恢复 |
1. 恢复表空间用户、工具,直到 |
1. 为临时数据库创建init.ora 文件 2. 为系统恢复备份、撤销、用户、工具。 3. 恢复要求有恢复所需的存档日志 4. 安装临时数据库并恢复到 5. 使用数据泵设备,提取数据也就是字典数据,这样用户和工具表空间可以插入到数据库中。 6. 将用户和工具表空间插入到生产数据库。 7. 删除临时数据库文件,它们是用于恢复 TSPITR 操作的。 | |
所有联机控制文件丢失 |
1. 恢复控制文件 |
1. 创建控制文件脚本,它包含所有数据库文件和联机日志。 2. 运行脚本以创建控制文件。 注意:所有的 RMAN 备份和存档日志信息都丢失了。 | |
验证备份 |
1. 恢复数据库验证; |
因为没有可用的工具,无法执行。 | |
网格集群
这是场可看作是演化的革命。网格计算很可能掀起一场计算方式的革命。同时也将是快速发展的一种方式。一次可以方便地移动至网格一步。每一步都受益颇大
企业可以购买满足企业所有需求的资源,并按照需要或策略提供给他们个别的应用程序。这导致更加有效地使用企业资源,同时极大地降低了开发、部署和管理成本。它可以让您决定部署组织计算资源的方式,而且在组织需求改变时可快速更改部署
无论数据在何处,RMAN 知道什么数据需要备份,并且提供利用跨平台的可传输表空间功能从任何平台插入数据的能力。有关 GRID 的详细信息,请参见 OracleWorld 技术白皮书 40123 – Oracle 和网格。
人为错误的挑战
多项研究表明,40% 的应用程序损耗都是由操作员或用户的错误造成的。人非圣贤,孰能无过?这些错误很难避免,而且在没有事先规划和使用正确技术的前提下尤其难以恢复。这样的错误会导致“逻辑”数据损坏,或者导致 IT 基础架构的一个或多个组件停止运行。纠正个别组件的错误相对来说简单,而检测并纠正逻辑数据的损坏,例如意外删除了有价值的数据时,它耗费的操作将导致业务产出的巨大损失。典型的用户错误可能包括意外删除了有价值的数据,删除了错误数据和删除了错误表格。
人为错误纠正 — 闪回技术
Oracle 数据库
Oracle9i 引入了闪回查询从而提供简单、强大和完整的非破坏机制,并从人为错误中恢复。它允许用户查看过去某点的数据状态,而不需要更改任何的数据库结构。Oracle 数据库
闪回技术使恢复过程实现了革命性变化,您只需对更改的数据进行操作。现在,错误恢复所需的时间就相当于错误发生的时间。闪回
人为错误的传统恢复
传统备份和恢复方式可靠而且容易执行备份了数据库后如果出现错误,则恢复文件并使用存档日志。瞧!几个小时后,您已经修复了故障。从人为错误恢复基本上有四种方式可供使用。
手工重新输入丢失的数据。成本高,耗时并暴露出额外的人为错误。
从最后一次冷备份恢复。自最后一次备份以来事务处理的丢失。
数据库时间点恢复。发生错误后事务处理的丢失。
表空间时间点恢复。丢失的事务只独立于表空间集。
四种方式中的任何一种都是有效的恢复策略。只有一次落下 —— 从磁带恢复备份并执行恢复操作所花费的时间。
恢复时间目标
如果发生无法预料的事件例如自然灾害、技术故障或人为错误时,您的公司可以承受的可接受停机时间是多少?一个小时?两个小时?四个小时?一整天?公司不同数值也会有所不同。为这些无法预料的事件作规划将减轻损失。恢复时间目标,或者 RTO 是恢复数据所需的小时数或天数。RTO 应该成为恢复计划的一部分,而且根据各个公司对于数据可用性需求的不同而有所不同。据 Gartner 统计,当前组织要求的主要系统停机平均恢复时间为 2 至 24 小时。
为什么要花费数小时来纠正数分钟造成的故障呢?为什么要执行冗长的备份恢复来恢复您的数据库呢?很好,只要有了 Oracle 数据库
何时使用闪回与传统恢复的对比
Oracle 数据库中发生逻辑故障(人为错误)时,应该使用闪回技术,而且需要快速而方便的恢复。如果发生人为错误,则很难确定错误事务影响的对象和行。闪回有助于分析诊断错误是如何被引入到数据库中的,这样您就可以修补损失并且防止此类错误再次发生。Oracle 数据库
目标级别 |
方案 |
闪回技术 |
传统恢复 |
数据库 |
删除用户 |
闪回数据库 |
时间点恢复 |
截断表 |
闪回数据库 |
时间点恢复 | ||
出现批量任务错误,导致大量表格只部分更新。 |
闪回数据库 |
数据库时间点恢复。 | ||
表格 |
删除表格 |
闪回删除 |
时间点恢复 | |
不带专门的‘where’ 从句的更新 |
闪回表 |
时间点恢复 | ||
恢复删除的数据或撤销错误的更改,甚至是在更改提交以后 |
闪回查询或者 闪回表 |
表空间时间点恢复 | ||
对照过去某个时间的数据比较当前数据 |
闪回查询 |
空间故意保持空白.. | ||
事务 |
批处理任务运行两次,但无法真正肯定受到影响的对象 |
闪回版本查询 & 闪回事务查询 |
数据库时间点恢复 | |