日期:2014-05-16  浏览次数:20461 次

Oracle DB 备份和恢复的概念
? 确定Oracle DB 中可能发生的故障类型
? 说明优化实例恢复的方法
? 说明检查点、重做日志文件和归档日志文件的重要性
? 配置快速恢复区
? 配置ARCHIVELOG模式
 
  • 部分工作内容
数据库管理员的职责包括:
? 尽量避免数据库出现故障
? 延长平均故障间隔时间(MTBF)
? 通过冗余方式保护关键组件
? 缩短平均恢复时间(MTTR)
? 最大程度地减少数据丢失
 
数据库管理员(DBA) 的目标是确保数据库处于打开状态,以供用户在需要时使用。要实现这个目标,DBA 应完成以下工作(与系统管理员合作):
? 预计导致出现故障的常见原因并努力避免出现这些原因
? 尽量延长平均故障间隔时间(MTBF),否则会对可用性产生负面影响
? 尽量确保硬件可靠,通过冗余方式保护关键组件,并定期执行操作系统维护。Oracle DB 提供了用于提高MTBF 的高级配置选件,其中包括:
- Real Application Cluster
-Streams
- Oracle Data Guard
? 提前确定恢复过程方案并配置备份,以便在需要时随时使用,从而缩短平均恢复时间(MTTR)
? 最大程度地减少数据丢失。负责履行接受的最佳实践的DBA 可配置数据库,以便提交的事务处理永不丢失。用于保证实现此目标的具体项包括:
- 归档日志文件
- 闪回技术
- 备用数据库和Oracle Data Guard
 
  • 故障类别
故障通常可分为以下几类:
? 语句失败
? 用户进程失败
? 网络故障
? 用户错误
? 实例故障
? 介质故障
 
故障类别
? 语句失败:单个数据库操作(选择、插入、更新或删除)失败。
? 用户进程失败:单个数据库会话失败。
? 网络故障:与数据库的连接断开。
? 用户错误:用户成功完成了操作,但是操作不正确(删除了表,或输入了错误数据)。
? 实例故障:数据库实例意外关闭。
? 介质故障:丢失了数据库操作所需的任何文件(也就是说,文件已删除或磁盘出现了故障)。
 
  • 语句失败
单个数据库操作失败后,可能需要DBA 进行干预,才能纠正用户权限或数据库空间分配错误。即使对于未直接发生在工作范围内的问题,也可能需要DBA 进行协助来诊断故障。这可能会因组织而异。例如,对于使用现成应用程序的组织(即没有软件开发人员的组织),DBA 是唯一的联系点,必须由其检查应用程序中的逻辑错误。
要了解应用程序中的逻辑错误,应该与开发人员合作来了解问题的范围。Oracle DB 工具可以帮助检查审计线索或之前的事务处理,从而提供帮助。
注:在许多情况下,语句失败是由设计决定的,且是想要的结果。例如,安全策略和限额规则通常是提前制定的。用户尝试超越他或她的限制而产生错误时,操作失败可能正是想要的结果,而不需要任何解决方案。
 
 
  • 用户进程失败
与实例异常断开的用户进程中可能包含正在进行的、需要回退的未提交任务。为了确保服务器进程会话仍保持连接,进程监视器(PMON) 后台进程会定期轮询服务器进程。如果PMON发现某个服务器进程的用户不再处于连接状态,PMON会从任何正在进行的事务处理中进行恢复;还会回退未提交的更改并解除失败会话持有的任何锁。
从用户进程失败中进行恢复时不需要DBA 进行干预,但是管理员必须观察变化趋势。有一个或两个用户异常断开时不必担心。有时可能会出现用户进程少量失败的情况。但持续发生相同的失败和系统性失败表示存在其它的问题。如果异常断开连接比例较高,则可能表示用户需要培训(包括学习如何注销程序,而不是仅仅终止程序)。此外,还可能表示存在网络或应用程序问题。
 
 
  • 网络故障
网络故障的最佳解决方法是为网络连接提供冗余路径。通过备份监听程序、网络连接和网络接口卡可降低出现网络故障的机率,从而避免影响系统可用性。
 
 
  • 用户错误
用户可能会无意中删除或修改了数据。如果尚未提交或退出其程序,则只需回退即可。
可通过Enterprise Manager 或SQL 接口使用Oracle LogMiner来查询联机重做日志和归档重做日志。事务处理数据保留在联机重做日志中的时间可能比保留在还原段中的时间长,如果配置了对重做信息进行归档,则在删除归档文件之前会一直保留重做信息。
通过将表闪回到删除前的状态,用户删除表后可从回收站中恢复表。如果清除了回收站,或者用户使用PURGE选项删除了表,那么在数据库配置正确的情况下,仍然可通过使用时间点恢复(PITR) 来恢复删除的表。
  • 闪回技术
使用闪回技术:
? 查看数据的以前状态
? 来回读取数据
? 协助用户执行错误分析和恢复
 
 
闪回技术
Oracle DB 提供了Oracle 闪回技术:该技术由一组功能组成,支持查