默认情况数据库的flashback database是关闭的。 
启用Flashback Database 步骤:
1.配置Flash Recovery Area
检查是否启动了flash recovery area:

SQL> show parameter db_recovery_file; --或者是show parameter db_recover; 两个语句执行结果一致。NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string D:\app\Administrator\flash_recovery_area db_recovery_file_dest_size big integer 3912M

2.启动flashback database

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。Total System Global Area 855982080 bytes
Fixed Size 2180544 bytes
Variable Size 587205184 bytes
Database Buffers 260046848 bytes
Redo Buffers 6549504 bytes
数据库装载完毕。
SQL> alter database flashback on;数据库已更改。SQL> alter database open;数据库已更改。SQL> select flashback_on from v$database;FLASHBACK_ON
------------------
YESSQL>

 SQL> select force_logging from v$database; --查看是否启用

FOR
  ---
  YES
  如果未启用,则用如查语句启用force logging:
  SQL> alter database force logging; --启用force logging

3.检查是否启用了归档(必须开户归档模式)

SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 10
下一个存档日志序列 12
当前日志序列 12
SQL>

4. 查询当前的scn及当前时间

SQL> select current_scn from v$database;CURRENT_SCN
-----------
1126864
SQL> select sysdate from dual;SYSDATE
--------------
15-10月-14SQL> select to_char(sysdate,'YY-MM-DD HH24:MI:SS') TIME FROM DUAL;TIME
-----------------
14-10-15 23:43:15

5.删除scott.emp表
SQL> drop table bonus;

表已删除。

6.重启DB 到mount
Flashback Database 实际是对数据库的一个不完全恢复操作,因为需要关闭数据库重启到mount状态

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。Total System Global Area 855982080 bytes
Fixed Size 2180544 bytes
Variable Size 587205184 bytes
Database Buffers 260046848 bytes
Redo Buffers 6549504 bytes
数据库装载完毕。
SQL>

7.执行恢复:分timestamp 或者SCN两种

SQL> flashback database to timestamp to_timestamp('14-10-15 23:43:15','YY-MM-DD HH24:MI:SS');闪回完成。或者:SQL> flashback database to scn 1126864;闪回完成。

8.打开数据库
在执行完flashback database 命令之后,oracle 提供了两种方式让你修复数据库:
1). 直接alter database open resetlogs 打开数据库,当然,指定scn 或者timestamp 时间点之后产生的数据统统丢失。
2). 先执行alter database open read only 命令,以read-only 模式打开数据库,然后立刻通过逻辑导出的方式将误操作涉
及表的数据导出,再执行recover database 命令以重新应用数据库产生的redo,将数据库修复到flashback database 操作前
的状态,然后再通过逻辑导入的方式,将之前误操作的表重新导入,这样的话对现有数据的影响最小,不会有数据丢失。
使用第一种方式打开数据库后可看到之前删除的scott.bonus表已还原。

SQL> alter database open resetlogs;
数据库已更改。SQL> conn scott/tiger@orcl;
已连接。
SQL> select * from tab;TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
BIN$xOhMA3Y1RcGfglRwvq8V+g==$0 TABLE
BONUS TABLE
DEPT TABLE
EMP TABLE
SALGRADE TABLE
SYS_TEMP_FBT TABLE已选择6行。

二、与Flashback Database相关的3个视图
1.V$database
这个视图可以查看是否启用了Flashback database功能
SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------
YES

2.V$flashback_database_log
Flashback Database 所能回退到的最早时间,取决与保留的Flashback Database Log 的多少, 该视图就可以查看许多有用的
信息。
Oldest_flashback_scn / Oldest_flashback_time : 这两列用来记录可以恢复到最早的时点
Flashback_size: 记录了当前使用的Flash Recovery Area 空间的大小
Retention_target: 系统定义的策略
Estimated_flashback_size: 根据策略对需要的空间大小的估计值

SQL> select *from v$flashback_database_stat;BEGIN_TIME END_TIME FLASHBACK_DATA DB_DATA REDO_DATA ESTIMATED_FLASHBACK_SIZE
----------- ----------- -------------- ---------- ---------- ------------------------
2014/10/15 2014/10/16 2269184 4816896 228864 0

3. V$flashback_database_stat
这个视图用来对Flashback log 空间情况进行更细粒度的记录和估计。 这个视图以小时为单位记录单位时间内数据库的活动量

Flashback_Data 代表Flashback log产生数量,
DB_Date 代表数据改变数量,
Redo_Date代表日志数量,
通过这3个数量可以反映出数据的活动特点,更准确的预计Flash Recovery Area的空间需求

SQL> select *from v$flashback_database_stat;BEGIN_TIME END_TIME FLASHBACK_DATA DB_DATA REDO_DATA ESTIMATED_FLASHBACK_SIZE
----------- ----------- -------------- ---------- ---------- ------------------------
2014/10/15 2014/10/16 2433024 4849664 396800 0

《FROM:http://blog.csdn.net/tianlesoftware/article/details/4677378》

===============

其它说明:

Flashback Query主要是用来恢复指定时间点的记录,Flashback Table用来恢复被删除或指定时间点的表;flashback database则直接恢复整个数据库。
Flash_recovery_area这个区域要足够大,至少可放得下所有的数据文件、控制文件、重做日志文件、备份文件……归档文件,Flashback logs……
1、修改闪回区大小及位置:
SQL> alter system set db_recovery_file_dest_size= 5g;

系统已更改。

SQL> alter system set db_recovery_file_dest='E:\flash_recovery_area';

系统已更改。

2、启用force logging
SQL> select force_logging from v$database; --查看是否启用

FOR
---
YES
如果未启用,则用如查语句启用force logging:
SQL> alter database force logging;

3、db_flashback_retention_target参数:
SQL> show parameter db_flashback_retention_target;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target integer 1440
该参数用来控制Flashback Logs数据保留时间,或者说是flashback database能够恢复的最早时间。

4、制约因素
Flashback database用来将数据库中的数据恢复到之前的某个时间点,而非介质恢复,因此不能使用flashback database恢复之前被删除的某个数据文件。
如果控制文件被重建,则所有的flashback logs全部失效,所以不能将Flashback database恢复到控制文件被重建之前。
不支持对数据库执行过Shrink收缩操作之后进行恢复。

《FROM:http://www.2cto.com/database/201201/117266.html》

相关视图:

1. V$database
 这个视图可以查看是否启用了Flashback database功能
SQL> select flashback_on from v$database;
2. V$flashback_database_log
 Flashback Database 所能回退到的最早时间,取决与保留的Flashback Database Log 的多少, 该视图就可以查看许多有用的信息。
Oldest_flashback_scn / Oldest_flashback_time : 这两列用来记录可以恢复到最早的时点
Flashback_size: 记录了当前使用的Flash Recovery Area 空间的大小
Retention_target: 系统定义的策略
Estimated_flashback_size: 根据策略对需要的空间大小的估计值
3. V$flashback_database_stat
这个视图用来对Flashback log 空间情况进行更细粒度的记录和估计。 To query the V$FLASHBACK_DATABASE_LOG to get the lowest SCN or the nearest TIMESTAMP to decide the recovery possibility.这个视图以小时为单位记录单位时间内数据库的活动量,Flashback_Data 代表Flashback log产生数量,DB_Date 代表数据改变数量,Redo_Date代表日志数量,通过这3个数量可以反映出数据的活动特点,更准确的预计Flash Recovery Area的空间需求。

SQL> select dbid,name,log_mode,flashback_on from v$database;DBID NAME      LOG_MODE     FLASHBACK_ON
---------- --------- ------------ ------------------
1399092762 ORCL      ARCHIVELOG   YESSQL> select * from v$flashback_database_log;
OLDEST_FLASHBACK_SCN OLDEST_FLASHBACK_TIME RETENTION_TARGET FLASHBACK_SIZE ESTIMATED_FLASHBACK_SIZE
-------------------- --------------------- ---------------- -------------- ------------------------2447065 2015/3/20 16:11:55                1440       63766528                138534912SQL> select * from v$flashback_database_stat2  ;
BEGIN_TIME  END_TIME    FLASHBACK_DATA    DB_DATA  REDO_DATA ESTIMATED_FLASHBACK_SIZE
----------- ----------- -------------- ---------- ---------- ------------------------
2015/3/21 1 2015/3/21 1        1712128    2654208     906752                        0SQL> 

flashback database操作步骤相关推荐

  1. Oracle Flashback Database and Restore Points 说明

    一.FlashbackDatabase 和 Restore Points 说明 官网的链接如下: http://download.oracle.com/docs/cd/E18283_01/backup ...

  2. 【Flashback】Flashback Database闪回数据库功能实践

    [Flashback]Flashback Database闪回数据库功能实践 上一篇 / 下一篇  2012-04-07 21:16:40 / 个人分类:备份与恢复 查看( 278 ) / 评论( 2 ...

  3. oracle data guard闪回,11gR2 Active Data Guard 闪回 - flashback database / snapshot standby - 2

    二,11g 使用snapshot方式设置Data Guard闪回 snapshot standby是11g引入的新特性,它不需要开启flashback database特性,就可以让physical ...

  4. oracle flashback 用法,使用oracle flashback database

    1闪回的方法 使用闪回方法的目的:修正用户错误. 1.1FLASHBACK DATABASE flashback data1base闪回到过去的某一时刻 闪回点之后的所有工作都将丢失 必须使用rese ...

  5. 使用network管理DD恢复全库操作步骤

    使用network管理DD恢复全库操作步骤 基本信息: 系统平台:RHEL 5.4_86_64 database版本:11.2.0.2.0-64bit 1.检查目标主机是否安装networker客户端 ...

  6. mysql数据库as表恢复_使用flashback database找回被误删除表空间

    我个人不怎么推荐使用flashback database功能,因为在生产库中,谁能够承受得起整个库的回退(也许特别极端的情况下可能需要使用到),今天帮网友恢复了一个案例:删除表空间,然后尝试着flas ...

  7. oracle异机expdp备份,关于通过dblink和expdp进行数据库备份的操作步骤

    关于通过dblink和expdp进行数据库备份的操作步骤 关于通过dblink和expdp进行数据库备份的操作步骤 文档约定 文档目的 操作步骤 参考资料 文档约定 主服务器数据库为源数据库,客户端服 ...

  8. oracle数据库升级失败,Oracle 11.2.0.1 rac 升级失败后,数据库降级方案(flashback database)...

    升级失败后,数据库降级方案(flashback database) 环境:Oracle 11.2.0.1 rac on redhat 5.8 Flashback database 准备工作 查看是否f ...

  9. 在Oracle DG Standby库上启用flashback database功能

    曾经发生的一次故障,让想起了在Oracle Data Guard环境中配置flashback databae功能的必要性:这样在primary库中用户不小心做truncate或其他不便回退操作时,也可 ...

  10. Oracle数据库安装图文操作步骤

    Oracle数据库安装图文操作步骤 一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符. 官方下 ...

最新文章

  1. MySQL设计一个图书馆数据库_请设计一个图书馆数据库
  2. python 中爬虫的运用
  3. php对分数排序,php-MySQL @grouping结果按ID并按分数排序”问题
  4. 推荐系统的发展演进历史和模型的目标及优缺点
  5. Linux 环境变量启动过程/配置文件的读取过程
  6. C语言之计算程序运行时间(八)
  7. java android 读写西门子PLC数据,包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC...
  8. 改变ubuntu终端显示语言(桌面系统中文,终端提示英文)
  9. 金庸小说人物知识图谱构建——构建共现矩阵
  10. android 横向长图,Android实现截超长图
  11. aida64怎么测试cpu稳定性_怎么测试电脑CPU稳定性
  12. html的submitt跳转到哪,SUBMIT 用法
  13. 怎样用ipad录制游戏视频?ipad如何录制视频?
  14. python的基本文本处理操作
  15. 中国知网(cnki)上caj格式转pdf的方法
  16. 祭奠信任Nokia的那些日子
  17. javascript事件触发器
  18. Vue 2 项目和插件使用
  19. mysql脱密姓名和电话号码
  20. 学习javacv入门示例2:访问Mat元素,对图像加盐处理

热门文章

  1. mac应用 已损坏,打不开.你应该将它移到废纸篓
  2. Query with 0 value even no record found
  3. -webkit-filter
  4. mongodb 索引1
  5. Linux内存使用消耗高
  6. 记录HttpWebRequest辅助类
  7. charshow需求说明
  8. 程序开发基础学习五(json配置、解析文件,c++篇)
  9. 自定义音乐播放器的歌词显示view
  10. 蓝桥杯第五届JavaC组杨辉三角问题解决方法