(3)设置闪回保留目标时间。该时间通过DB_FLASHBACK_RETENTION_TARGET 实例参数来控制,单位是分钟,其默认值是1天。闪回日志空间以循环方式重用,更新的数据将覆盖旧数据。该参数指示Oracle在重新它之前保存闪回数据的分钟数。
上面更改的这个是目标时间(4小时),如果闪回恢复区的大小不足,则Oracle可能无法保存该目标。
(4)干净地关闭并加载数据库。
(5)启用闪回日志记录。数据库闪回状态是否启用可从 V$DATABASE 视图中查询。
闪回状态启用后,将启动RVWR进程并在SGA中分配闪回缓冲区。从现在起该进程的启动将是自动的。
(6)最后打开数据库。
从现在开始,会启用从数据缓冲区缓存到闪回缓冲区的数据块映像日志记录功能。
闪回数据库-配置(Database Control)
使用sys用户连接数据库;在数据库主页,选取Maintenance(可用性)选项卡,然后单击Backup/Recovery(备份恢复)部分中的Configure Recovery Settings(恢复设置)链接;在Flash Recovery Area(快速恢复)部分中,为闪回恢复区指定一个目录和最大尺寸,勾选Enable Flashback Database(启用闪回数据库)复选框,并指定闪回保留时间。最后保存重启。
闪回数据库-监视
闪回保留时间只是一个目标时间-实际上并不能保证闪回到其中的某个时间,相反,甚至可能闪回到该目标时间之外。闪回监视最基本的原则是确认确实启用了它:
为了监视当前闪回能力并估计为满足目标时间闪回日志所需的空间,可直接查询 V$FLASHBACK_DATABASE_LOG 视图。该视图将显示由 DB_FLASHBACK_RETENTION_TARGET 实例参数指定的保留目标时间的设置值(单位是分钟),默认值1天。(之前改为了4小时)然后显示闪回日志文件占用的实际空间和闪回日志可以将数据库回退到的确切时间。
视图V$FLASHBACK_DATABASE_STAT提供了一个有关数据文件、联机重做日志文件和闪回日志文件占用磁盘I/O比例的历史视图。显示为启用闪回数据库而付出的代价,计量单位是每小时必须的I/O字节数。在下面例子中,数据库每小时会产生大约7-11M不等的闪回数据,晚上数据量更大。这些数据量对性能的影响要与系统管理员进行沟通讨论,同时记住系统是否有I/O约束。为了比较,该视图还显示了与正常数据库活动有关的I/O。该视图每小时显示一行数据。
注意:闪回缓冲区大小不受DBA控制,如果要查看它的大小,可通过查询V$SGASTAT视图:
闪��数据库-使用(实操)
使用闪回数据库的三种途径:SQL*Plus、RMAN 和 Database Control (不管选择那种工具方法都是相同的)
关闭数据库
加载数据库
闪回到某个时间点、SCN或日志切换序列号
使用RESETLOGS打开数据库
只要有所需的归档日志,闪回操作将能够完全自动运行。
使用SQL*Plus执行闪回操作
SQL*Plus的闪回语法可接受时间戳或系统变更号(SCN)参数-与RMAN不同的是,它不接受日期或日志切换序列号。
如果不确定需要回退的确切时间,可以结合闪回和恢复多尝试几次。考虑以下应用场景: