首页 > 数据库 > Oracle > 009.笔记:FLASHBACK_DATABASE
可用的闪回方法有三种:FLASH DATABASE/FLASH QUERY/FLASH DROP
FLASH DATABASE 依赖闪回缓冲区、闪回日志
FLASH QUERY 依赖撤销段
FLASH DROP
1.配置FLASH DATABASE
(1)select log_mode,flashback_on from v$database;
(2)alter system set db_recovery_file_dest='/home/oracle/db/flash_recovery_area';
alter system set db_recovery_file_dest_size=8G;
alter system set db_flash_retention_target=240;--闪回保留目标,单位是分钟,默认保留目标是1天。
(3)shutdown immediate;
startup mount;
alter database flashback on;
alter database open;
2.监视FLASH DATABASE
select * from v$flashback_database_log;--估计了满足闪回保留目标需要的空间,可闪回到的时间及SCN
select * from v$flashback_database_stat;--每小时生成多少闪回数据
select * from v$sgastat t where t.NAME like 'flashback%'; --闪回缓冲区的当前大小
3.使用SQLPLUS进行闪回
如果不知道返回时间点,可以通过组合闪回与恢复进行多次尝试
shutdown abort
startup mount
flashback database to timestamp to_timestamp('2012-09-28 09:02:00','yyyy-mm-dd hh24:mi:ss');
alter database open read only;
shutdown abort;
startup mount;
flashback database to time '2012-09-08:09:04:00';--使用固定的时间格式
alter database open read only;
shutdown abort;
startup mount;
flashback database to timestamp to_timestamp('2012-09-08 09:03:00','yyyy-mm-dd hh24:mi:ss');
alter database open read only;
shutdown abort;
startup mount;
alter database open resetlogs;
--注:SQLPLUS不能使用日志(to_date)与sequence闪回
4.使用RMAN进行闪回的语法
flashback database to time = to_date('2012-09-28 09:04:00','yyyy-mm-dd hh24:mi:ss');
flashback database to scn=2728776;
flashback database to sequence=2123 thread=1;
5.闪回方法比较
(1)闪回比不完全恢复快很多
(2)DATABASE CONTROL 闪回粒度是分钟,RMAN的闪回粒度是秒,SQLPLUS的闪回粒度是百万分之一秒。
6.管理闪回恢复区
(1)闪回恢复区是用于所有与恢复相关的默认位置。这些相关的文件包括:
归档日志、RMAN备份、控制文件自动备份、复用的控制文件和重做日志副本以及闪回日志文件。
(2)闪回恢复区可以定位在ASM磁盘内。
(3)闪回恢复区只能是一个磁盘目的地,因此我们必须监视其他用情况并在磁带上进行备份。
(4)V$RECOVERY_FILE_DEST闪回恢复区的使用情况。reclaimable字段指可回收的空间,也就是说根据RMAN保留策略而视为已废弃的备份文件所占用的空间(delete obsolete)。
(5)备份
RMAN: backup recovery area; /backup recovery files;
这两条命令备份不了闪回日志,除非关闭数据库,否则无法备份闪回日志。
7.限制所生成的闪回数据量
(1)在I/O有限的系统上,可以限制闪回数据量
(2)方法:将表空间排除在闪回之外
alter tablespace ts_name flashback off;
alter tablespace ts_name flashback on;
select t.flashback_on,t.* from v$tablespace t;
(3)执行闪回操作之前必须将组成这些表空间的文件脱机。进行部分还原。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7901922/viewspace-1059527/ ,如需转载,请注明出处,否则将追究法律责任。