| PHP | ASP | JAVA | .NET | FLASH | AJAX | MYSQL | PGSQL | MSSQL | DB2 | ORACLE | SYBASE | Html/Css | 服务器相关 | IOS |
您当前的位置:首页 > WEb开发 > ORACLE

带你快速了解Oracle数据库提供的恢复机制

时间:2009-11-14 17:57:38  来源:互联网  作者:未知

  Oracle数据库中的恢复机制采用了转储和登记日志文件两个技术。

  Oracle向数据库管理员(DBA)提供了多种转储后备副本的方法,如文件拷贝、利用Oracle的Export实用程序,用SQL命令 spool以及自己编程实现等。相应地,Oracle也提供了多种重装后备副本的方法,如文件拷贝、利用Oracle的Import实用程序、利用 SQL*Loader以及自己编程实现等。

  在Oracle的早期版本中,日志文件以数据块为单位,也就是说,Oracle的恢复操作不是基于操作,而是基于数据块的。Oracle将更新前的旧值与更新后的新值分别放在两个不同的日志文件中。记录数据库更新前的旧值的日志文件称为数据库前像文件(Befor Image,简称BI文件),记录数据库更新后的新值的日志文件称为数据库的后像文件(After Image,简称AI文件)。由于BI文件关系到能否将数据库恢复到一致性状态,因此BI文件是必须的。而AI文件的作用是减少必须重新运行的事务程序,尽可能多的恢复数据库,所以在Oracle中AI文件是任选的。日志文件是十分占据空间的,为节省存储空间和操作时间,DBA可以不配置AI文件。没有 AI文件,恢复机制进行故障恢复时只能执行UNDO处理,不能执行REDO处理。

  Oracle为了能够在出现故障时更有效地恢复数据,也为了解决读“脏”数据问题,提供了REDO日志文件和回滚段(Rollback Segment).REDO日志文件中记录了被更新数据的前像和后像,设在数据库缓冲区中的回滚段记录更新数据的前像。在利用日志文件进行故障恢复时,为减少扫描日志文件的遍数,Oracle首先扫描REDO日志文件,重做所有操作,包括未正常提交的事务的操作,然后再根据回滚段中的数据,撤销未正常提交的事务的操作。

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
栏目更新
栏目热门