目标
闪回数据库
去定为每种恢复情形使用哪种闪回技术
配置和使用闪回数据库
监视闪回数据库
使用EM管理闪回数据库
管理(维护)Flash Recovery Area
闪回技术概述
9i中首次引入闪回技术,第一个出现的是闪回查询(flackback query)。
10g里有了显著的扩展:
闪回数据库(Flashback Database)
闪回删除(Flashbackup Drop)
闪回版本查询(Flashback Versions Query)
闪回事务查询(Flashback Transaction Query)
闪回表(FlashbackTable)
所有的闪回技术,除了闪回数据库,都是基于撤销数据(undodata)。
闪回数据库技术可以替代不完全恢复,优势在于闪回数据库更快效率更高,它是基于闪回日志的。
闪回删除、闪回版本查询、闪回事务和闪回表最佳用法是恢复单独的对象或者对象中的行。
闪回删除------------虚拟回收站,允许被删除的对象重建
闪回版本查询、闪回事务查询--------------识别和确定需要恢复到先前状态的数据行
闪回表---------------从错误中恢复单独的表或表组
闪回数据库最适用于从某些种类的失误中恢复,如截短大表、不完整的批任务或删除了用户。
闪回数据库概述
闪回数据库能使整个数据库闪回到特定的时间点。
闪回数据库恢复比传统恢复操作更快的原因是:恢复不再受数据库大小的影响。
闪回数据库恢复时间正比于恢复过程汇总需要备份的变化的数量,而不是数据文件和归档日志大小。
闪回数据库恢复的结构:恢复写入器(PVWR)后台进程和闪回数据库日志组成。
PVWR在闪回控制区写入闪回数据库日志。
闪回恢复区。
闪回数据库的局限:
1.不能解决介质故障,介质故障仍然需要重建数据文件和恢复归档日志。
2.缩小数据文件到较小的尺寸,也被称为截短数据文件,闪回数据库不能撤销。
3.如果控制文件被重建,不能使用闪回数据库
4.不能完成删除一个表空间并用resetlogs恢复。
5.不能将数据库闪回到一个SCN值(如果该SCN早于闪回日志中最早的可用的SCN)
使用Recovery Manager管理闪回恢复区
闪回恢复区专门用于将所有恢复文件集中存储于磁盘上的某个区域。
闪回恢复区对恢复过程提供两个主要好处:
所有恢复文件集中存储在一个区域
它提供更快的备份和重建方法,因为信息被写入磁盘而不是磁带
闪回恢复区通过初始化数据库参数而建立,同时也在参数中定义恢复区大小和位置。
BDA_OUTSTANDING_ALERTS视图可查看闪回恢复区状态信息。
恢复区使用率达到90%和95%时,10g数据库将向警告日志发送警告信息。90%时10g将自动把已废弃的 文件从闪回恢复区删除。
配置闪回恢复区
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)只需在数据库增加一对数据库参数:db_recovery_file_dest_size db_recovery_file_dest
例子:
1.SQLaltersystemsetdb_recovery_file_dest_size=10mscope=both
2.SQLaltersystemsetdb_recovery_file_dest='d:oracleflash_recovery_areatest';
修改用alter system
停用闪回恢复区:alter system set db_recovery_file_dest=' ';
使用闪回恢复区
闪回恢复区是一个集中的恢复区域。
这些文件和数据文件及控制文件有关系。这就减少了手工清除不需要的归档日志。
V$recovery_file_dest检查消耗的空间和其他关于闪回恢复区的统计信息。
闪回恢复区可以包括数据文件、控制文件、联机重做日志、各种各样的RMAN文件和闪回日志。用户可以在建立重做日志、控制文件、和归档日志文件时将他们存储在闪回恢复区。
影响联机重做日志的参数:
DB_CREATE_ONLINE_LOG_DEST_n
DB_RECOVERY_FILE_DEST
DB_CREATE_FILE_DEST
闪回去建立的重做日志默认大小为100M。
影响控制文件的一些参数:
CONTROL_FILES
DB_CREATE_ONLINE_LOG_DEST_n
DB_RECOVERY_FILE_DEST
DB_CREATE_FILE_DEST
影响归档日志的一些参数:
LOG_ARCHIVE_DEST_n
LOG_ARCHIVE_DEST
LOG_ARCHIVE_DUPLEX_DEST
备份闪回恢复区
复制闪回恢复区:
BACKUP RECOVERY AREA 备份整个恢复区
BACKUP RECOVERY FILES 只备份恢复区中的文件
命令必须与磁带设备和媒介管理器一起使用,而且媒介管理器要被设置为使用RMAN。
配置闪回恢复区
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)数据库必须处于归档状态,必须配置闪回恢复区。
1.库起到mount状态
2.设置DB_FLASHBACK_RETENTION_TARGET闪回数据的最大保留时间,单位为分钟。Alter DB_FLASHBACK_RETENTION_TARGET=4320; 其值为3天。
3.启动闪回能力 :alter database flashback on;
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)4.Alter database open;
在RMAN中使用闪回数据库
如过配置好闪回数据库后,只需在mount模式下启动数据库就做好准备完成闪回数据库恢复了。
可以从v$FLASHBACK_DATABASE_LOG视图中获得OLDEST_FLASHBACK_SCN或者OLDEST_FLASHBACK_TIME。
查出来的SCN或者TIME用于数据库闪回的子句
:flashbackdatabasetoscn=689316;
:flashbackdatabasetotime='04-9月-200811:05:00';
例子:闪回数据库恢复到指定SCN
1.查出SCN号
Selectoldest_flashback_scnfromv$flashback_database_log;
2.启动数据库到mount状态
3.从RMAN发出闪回数据库恢复命令
Connecttarget
Flashbackdatabasetoscn=……;
4.alter database open resetlogs;
监视闪回数据库
动态视图:
V$DATABASE 显示闪回数据库是启动还是关闭
Selectflashback_onfromv$database;
V$FLASHBACK_DATABASE_LOG 10g的新特性,查看所需的空间数量
Select
oldest_flashback_scn,
oldest_flashback_time,
retention_target,
Flashback_size, -------闪回数据的大小
estimated_flashback_size -------估计数据的大小
Fromv$flashback_database_log;
V$FLASHBACK_DATABASE_STAT 显示闪回数据库日志的使用情况
Select*fromv$flashback_database_stat;
在EM使用闪回数据库