oracle数据库:数据文件_笔记13
3.10闪回日志
闪回日志(flashback log)是Oracle Database 10g中为支持FLASHBACK DATABASE命令而引入的,也是Oracle Database 10g企业版的一个新特性。闪回日志包含已修改数据块的“前映像”,可用于将数据库返回(恢复)到该时间点之前的状态。
3.10.1闪回数据库
引入FLASHBACK DATABASE命令是为了加快原本很慢的时间点数据库恢复(point in time database recovery)过程。闪回可以取代完整的数据库恢复和使用归档日志完成的前gun,主要目的是加快从“意外状态”中恢复。例如,如果DBA“意外地”删除了模式(schema),该如何恢复?他在本来要在测试环境中删除的数据库中删除了正确的模式。DBA立即意识到做错了,并且随即关闭了数据库。现在该怎么办?
在引入FLASHBACK DATABASE功能之前,可能只能像下面这样做。
1.DBA要关闭数据库
2.DBA(一般)要从磁带机恢复上一个完整的数据库备份。这通常是一个很长的过程
3.DBA要恢复所生成的全部归档重做日志,因为系统上没有备份。
4.DBA要前gun数据库,并在出错的DROP USER命令之前的时间点停止。
5.要以RESETLOGS选项打开数据库。
这个过程很麻烦,步骤很多,通常要花费很长的时间(当然,这个期间任何人都无法访问数据库)。导致这种时间点恢复的原因有很多,如升级脚本错误,升级失败,有权限的某个人无意地发出了某个命令而导致时间点恢复(无意的错误,这可能是最常见的原因),或者是某个进程对一个大型数据库带来了数据完整性问题(同样,这可能也是意外,也许是进程运行了两次而不是一次,也可能是因为存在bug)。不论是什么原因,最终的结果都是很长时间的宕机。
Oracle Database 10g企业版及更高版本的恢复步骤如下,这里假设已经配置了闪回数据库功能。
1.DBA关闭数据库
2.DBA启动并装载数据库,可以使用SCN、Oracle时钟或时间戳发出闪回数据库命令,时间可以精确到一两秒钟。
3.DBA以RESETLOGS选项打开数据库。
要使用这个特性,数据库必须采用ARCHIVELOG模式,而且必须配置为支持FLASHBACK DATABASE命令。在你使用这个功能之前,必须先行配置。等到真正发生了破坏,再想启用这个功能就为时已晚了,使用时必须早做打算。
3.10.2闪回恢复区
闪回恢复区(Flash Recovery Area)也是Oracle Database 10g及更高版本中的一个新概念。
Oracle中的闪回恢复区(Flash Recovery Area)是一个新位置,Oracle会在这里管理与数据库备份和恢复相关的多个文件。在这个区中,可以找到
.磁盘上数据文件的副本
.数据库的增量备份
.重做日志(归档重做日志)
.控制文件和控制文件的备份
.闪回日志
Oracle利用这个新的闪回恢复区来管理这些文件,这样服务器就能知道磁盘上有什么,以及磁盘上没有什么(可能在别处的磁带上)。使用这些信息,数据库可以对被破坏的数据文件完成磁盘到磁盘的恢复操作,或者对数据库完成闪回,从而撤销一个不该发生的操作。例如,可以使用闪回数据库命令,将数据库放回到5分钟之前的状态(而不需要完整的数据库恢复和时间点恢复)。这样你就能“找回”无意删除的用户账户。
闪回恢复区更应算是一个“逻辑”概念。这是为讨论各种文件类型所预留的一个区。使用闪回恢复区是可选的,没有必要非得使用,不过如果想使用诸如闪回数据库之类的高级特性,就必须用闪回恢复区存储信息。
http://www.52ij.com/jishu/5157.htmloracle数据库:数据文件_笔记12
本文来源 我爱IT技术网 http://www.52ij.com/jishu/5158.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
