Oracle闪回(FlashBack)数据库
Flashback Database功能非常类似与RMAN的不完全恢复,它可以把整个数据库回退到过去的某个时点的状态,这个功能依赖于Flashback log日志。比RMAN更快速和高效,因此Flashback Database 可以看作是不完全恢复的替代技术。闪回数据库的前提是要开启归档日志。
一、闪回原理
在启用闪回数据时,会将修改过的块的前映像作为闪回数据库日志保存在闪回恢复区中,如出现逻辑坏块或用户错误操作需要恢复到过去的时间点,闪回数据库将还原数据库的前映像,然后使用归档日志和redo前滚到期望恢复的时间点,因为无需还原数据库的数据文件,所有此过程速度比较传统的还原恢复通常快很多。
1.1 闪回限制:
① Flashback Database 不能解决Media Failure, 这种错误RMAN恢复仍是唯一选择
② 如果删除了数据文件或者利用Shrink技术缩小数据文件大小,这时不能用Flashback Database技术回退到改变之前的状态,这时候就必须先利用RMAN把删除之前或者缩小之前的文件备份restore出来,然后利用Flashback Database执行剩下的Flashback Datbase。
③ 如果控制文件是从备份中恢复出来的,或者是重建的控制文件,也不能使用Flashback Database。
④ 使用Flashback Database锁能恢复到的最早的SCN,取决与Flashback Log中记录的最早SCN。
1.2 配置闪回参数:
闪回数据库相关参数:
① db_recovery_file_dest #决定闪回恢复区路径
② db_recovery_file_dest_size #决定闪回恢复区大小
③ db_flashback_retention_target #保留恢复最近多长时间的数据,单位为分钟。
闪回相关视图:
① V$restore_point #闪回点
② V$FLASHBACK_DATABASE_LOG #闪回日终信息
③ V$FLASHBACK_DATABASE_STAT
④ v$flash_recovery_area_usage; #闪回区使用率
1.3 开启归档和闪回功能:
SQL> SELECT flashback_on, force_logging, log_mode FROM v$database;
FLASHBACK_ON FORCE_LOGGING LOG_MODE
------------------ ------------- ------------
NO NO NOARCHIVELOG
开启闪回和归档方法:
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;#开启归档
--SQL>alter database archivelog off ;#关闭归档功能
SQL>alter database flashback on; #开启闪回功能
--SQL>alter database flashback off; #关闭闪回功能
SQL>alter database open; #打开数据库
SQL>alter database force logging; #强制写日志
1.4 闪回参数设置:
alter system set db_recovery_file_dest_size=5G scope=both;
alter system set db_recovery_file_dest='/home/app/flash_recovery_area' scope=both;
alter system set db_flashback_retention_target=2880;
二、闪回数据库
闪回步骤:
SQL>CREATE RESTORE POINT FLASHPOINT_1 GRARANTEE FLASHBACK DATABASE;#创建一个flashpoint_1的闪回点
--进行相关的DML操作之后,闪回数据库到flashpoint_1状态
SQL>SHUTDOWN IMMEDIATE #关闭数据库
SQL>STARTUP MOUNT; #启到MOUNT状态
SQL>FLASHBACK DATABASE TO RESTORE POINT FLASHPOINT_1; #闪回数据库到flashpoint_1闪回点
SQL>ALTER DATABASE OPEN RESETLOGS; #打开数据库
--删除归档日志
RMAN TARGET /
RMAN> DELETE ARCHIVELOG ALL; #删除所有归档日志
RMAN> EXIT;
SQL>DROP RESTORE POINT FLASHPOINT_1; #删除闪回点
SQL>CREATE restore point FLASHPOINT_2 GRARANTEE FLASHBACK DATABASE; #新建闪回点
SQL>SELECT DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER AS SCN_NO FROM DUAL;#获取当前数据库的SCN号
--进行相关的DML操作之后,闪回数据库到SCN_NO状态
SQL>SHUTDOWN IMMEDIATE #关闭数据库
SQL>STARTUP MOUNT; #启到MOUNT状态
SQL>FLASHBACK DATABASE TO SCN SCN_NO; #闪回数据库到闪回SCN_NO点
SQL>ALTER DATABASE OPEN RESETLOGS; #打开数据库
3 闪回数据库方法
3.1 sqlplus下基于SCN闪回
FLASHBACK DATABASE [<database_name>] TO SCN <system_change_number>
3.2 sqlplus下基于时间戳闪回
FLASHBACK DATABASE [<database_name>] TO TIMESTMP <system_timestamp_value>
3.3 sqlplus下基于还原点闪回
FLASHBACK DATABASE [<database_name>] TO RESTORE POINT <restore_point_name>
3.4 RMAN下基于时间戳闪回
RMAN> FLASHBACK DATABASE TO TIME = "TO_DATE('2013-12-08 12:45:00','YYYY-MM-DD HH24:MI:SS')"
3.5 RMAN下基于SCN闪回
RMAN> FLASHBACK DATABASE TO SCN=15809979;
3.6 RMAN下基于:归档序号
RMAN> FLASHBACK DATABASE TO SEQUENCE=192 THREAD=1;
Oracle闪回(FlashBack)数据库的更多相关文章
- Oracle闪回flashback
参考资料:Using Oracle Flashback Technology Oracle 11g的新特性闪回操作 闪回查询 闪回查询 闪回版本查询 闪回事务查询 闪回数据 闪回表 闪回删除 闪回数据 ...
- Oracle闪回flashback总结
1.说明: Ø 采用的技术. 使用的是多个技术. 1. 闪回日志 2. 回收站 3. 回滚段 无法使用回收站的操作 Drop table xxx purge; Drop ...
- Oracle 闪回特性(FLASHBACK DATABASE)
--===================================== -- Oracle 闪回特性(FLASHBACK DATABASE) --======================= ...
- Oracle 闪回归档(Flashback Database)
cmd --管理员身份打开 sqlplus / as sysdba --管理数据库 shu immediate; --独占方式开始 startup mount --修改日期模式 alter datab ...
- oracle之三闪回flashback
闪回 flashback 5.1 flashback 的功能:1)利用undo data回溯或撤销提交的数据,2)flashback log 使database 可以恢复到过去某个时间点,可以作为不完 ...
- oracle闪回表详解
--- 说明闪回数据库 --- 使用闪回表将表内容还原到过去的特定时间点 --- 从删除表中进行恢复 --- 使用闪回查询查看截止到任一时间点的数据库内容 --- 使用闪回版本查询查看某一行在一段时间 ...
- Oracle闪回操作
Oracle闪回操作 1. 记录当前时间或SCN 在数据库变动前记录时间或SCN SQL> select to_char(sysdate,'YYYY-MM-DD HH24:mi:ss') fr ...
- Oracle闪回表
Oracle闪回技术 场景:测试环境数据库的表数据被误删除. 解决思路:使用闪回表技术 原理 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小 ...
- Oracle 闪回
Oracle 闪回特性(FLASHBACK DATABASE) 本文来源于:gerainly 的<Oracle 闪回特性(FLASHBACK DATABASE) > -========== ...
- 6. Oracle闪回特性
Oracle 闪回 (flashback)是9i版本提供的新特性.这一特性:其他数据库(PostgreSQL,Mysql)是羡慕不已.对数据恢复提供非常便捷的方式.闪回技术通常用于快速简单恢复数据库中 ...
随机推荐
- Oracle中的层次查询详解
1 语法格式 select [level], column, expr... from table [where condition] start with condition connect by ...
- C/C++ -- Gui编程 -- Qt库的使用 -- 理解主窗体构造函数
MyWidget做父窗体 MyWidget的构造函数中可以手动添加组件 Ui::MyWidget存放子部件 Ui::MyWidget执行setupUi()函数为子部件开辟空间,指定父窗体 MyWidg ...
- 关于C++中操作符重载的疑问 :四个运算符=, ->, [], ()不可以重载为全局函数(友员函数)
转载自:http://blog.csdn.net/u014610226/article/details/47679323 以下是对C++中不能重载为友元函数的四个运算符进行了详细的分析介绍,需 ...
- tomcat启动(五)Catalina分析-service.init
上篇写到StandardService.init() 这个方法做什么呢?一起来看看. 这个类也是实现了Lifecycle 如图.这个图中i表示Interface接口.如Lifecycle,Contai ...
- 用python itchat写一个微信机器人自动回复
首先看一下效果: 进入正题: 一.首先要去图灵机器人网站注册一个机器人账号: 链接:http://www.tuling123.com/ 你可以获取自己的图灵机器人apikey 懒得话不注册也可以,我下 ...
- JS的可枚举性
在学习ES6的过程中,涉及到遍历方法时,提到过可枚举性,且多种遍历方法都与可枚举性相关.本章节,将总结这些遍历方法的可枚举性,并在必要的部分,给出对比实例. 一.设置属性的可枚举性 在上一文章 ...
- SpringMVC form 表单提交报400错误
错误代码: HTTP Status 400 - type Status report message description The request sent by the client was sy ...
- ActiveMQ专题1: 入门实例
序 好久没有写博客了,最近真的是可以说是忙成狗了.项目的事和自己的终身大事忙得焦头烂额,好在是一切都是越来越好了...... 趁着项目今天唯一的一点喘息时间,加上项目开始接触到的mq,开始写一篇amq ...
- WinForm 多语言处理
多语言处理工具我使用的是 SailingEase .NET Resources Tool ,好处是导出一个Excel,把具体翻译工作交给专业的人来做,翻译ok后再导入,缺点就是后续更改麻烦,添加一个 ...
- WPF备忘录(7)WPF图片资源路径介绍
在项目中增加两张图片Content.jpg和Resource.jpg,分别将其生成操作属性设置为Content和Resource. 在界面中增加两个Image控件ImgContent和ImgR ...