设为首页 加入收藏

TOP

使用Flashback Database进行数据表级别的定点恢复(一)
2015-11-10 12:17:39 来源: 作者: 【 】 浏览:11
Tags:使用 Flashback Database 进行 数据 级别 定点 恢复

Flashback中文称为“闪回”,Oracle的闪回技术并不是一个单独技术,而是根据不同的恢复粒度而推出的一系列数据快速恢复技术。更重要的是,各个Flashback技术虽然名称相同或者相似,但底层依赖的技术还是存在很大的差异。


在笔者之前的系列中,针对flashback query、flashback table和flashback archive等进行过比较详细的介绍。Flashback Database是Flashback家族中恢复粒度最大的项目,本篇介绍如何利用Flashback Database实现数据表级别数据恢复。


1、环境和前提条件介绍


笔者使用Oracle 11gR2进行实验,具体版本为11.2.0.4。


SQL> select * from v$version;


BANNER


--------------------------------------------------------------------------------


Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production


PL/SQL Release 11.2.0.4.0 - Production


CORE? ? 11.2.0.4.0? ? ? Production


TNS for Linux: Version 11.2.0.4.0 - Production


NLSRTL Version 11.2.0.4.0 – Production


数据库运行在归档模式下,配置Fast Recovery Area实行自动管理。


SQL> show parameter recovery


NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE


------------------------------------ ----------- ------------------------------


db_recovery_file_dest? ? ? ? ? ? ? ? string? ? ? /u01/app/fast_recovery_area


db_recovery_file_dest_size? ? ? ? ? big integer 10000M


recovery_parallelism? ? ? ? ? ? ? ? integer? ? 0


SQL> archive log list;


Database log mode? ? ? ? ? ? ? Archive Mode


Automatic archival? ? ? ? ? ? Enabled


Archive destination? ? ? ? ? ? USE_DB_RECOVERY_FILE_DEST


Oldest online log sequence? ? 18


Next log sequence to archive? 21


Current log sequence? ? ? ? ? 21


此时,系统保持默认的配置项目,不开启flashback database特性。


SQL> select flashback_on from v$database;


FLASHBACK_ON


------------------


NO


SQL> show parameter flashback


NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE


------------------------------------ ----------- ------------------------------


db_flashback_retention_target? ? ? ? integer? ? 1440


注意:参数db_flashback_retention_target是控制flashback database的重要参数项目。该参数在11g中默认为1440,单位是分钟,也就是折合24小时。Flashback Database是基于在recovery area中单独建立的Flashback Database Log。如果对一些业务处理量比较大且频繁,变化比较大的数据库开启较长的Retention Target时间,需要确保Fast Recovery Area的大小足够大。


2、启动Flashback Database


开启Flashback Database,需要正常关闭数据库,之后启动到mount状态。


SQL> shutdown immediate;


Database closed.


Database dismounted.


ORACLE instance shut down.


SQL> startup mount


ORACLE instance started.


Total System Global Area? 372449280 bytes


Fixed Size? ? ? ? ? ? ? ? ? 1364732 bytes


Variable Size? ? ? ? ? ? 306187524 bytes


Database Buffers? ? ? ? ? 58720256 bytes


Redo Buffers? ? ? ? ? ? ? ? 6176768 bytes


Database mounted.


SQL> alter database flashback on;


Database altered.


启动数据库到open状态。


SQL> alter database open;


Database altered.


Flashback信息和Flashback能恢复到的最早时间,可以通过视图查看到。


SQL> select current_scn, flashback_on from v$database;


CURRENT_SCN FLASHBACK_ON


----------- ------------------


? ? 1350667 YES


--最早时间和SCN号


SQL> select * from v$flashback_database_log;


OLDEST_FLASHBACK_SCN OLDEST_FLASHBACK_TIME RETENTION_TARGET FLASHBACK_SIZE ESTIMATED_FLASHBACK_SIZE


-------------------- --------------------- ---------------- -------------- ------------------------


? ? ? ? ? ? 1350306 19-六月-15 13:33:30? ? ? ? ? ? ? 1440? ? ? 131072000? ? ? ? ? ? ? ? 220200960


Recovery Area中的Flashback Database Log,如下:


SQL> select * from v$flashback_database_logfile;


NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? LOG#? ? THREAD#? SEQUENCE#? ? ? BYTES FIRST_CHANGE# FIRST_TIME? TYPE


-------------------------------------------------------------------------------- ---------- ---------- ---------- ---------- ------------- ----------- ---------


/u01/app/fast_recovery_area/ORA11G/flashback/o1_mf_br7bf8xq_.flb? ? ? ? ? ? ? ? ? ? ?

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle RMAN实现“一键式”表空间.. 下一篇闪回版本查询Flashback Version Q..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: