ITPub博客

首页 > 数据库 > Oracle > 009.笔记:FLASHBACK_DATABASE

009.笔记:FLASHBACK_DATABASE

原创 Oracle 作者:limintjhn 时间:2012-10-02 09:44:05 0 删除 编辑

可用的闪回方法有三种: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)执行闪回操作之前必须将组成这些表空间的文件脱机。进行部分还原。

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7901922/viewspace-1059527/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-02-03

  • 博文量
    53
  • 访问量
    36585