Oracle闪回flashback总结
1.说明:
Ø 采用的技术。
使用的是多个技术。
1. 闪回日志
2. 回收站
3. 回滚段
无法使用回收站的操作
Drop table xxx purge;
Drop tablespace xxx
Drop user xxx cascade;
Truncate一个表
Truncate不会有回滚数据,不会有回收站,所以不能使用闪回表的方式回收,只能使用闪回数据库的方式恢复。
回收站逻辑上是一个,实际上是多少,每个表空间有自己的回收站,可以单独清空。
Ø 关于数据闪回的几点说明
1、系统表空间数据不得闪回
2、实体在数据库保存时间不可保证,保留时间取决于系统运行状况,可能是几秒钟,也可能是几个月。
3、基表闪回时,建立在表上的约束不可保证。
Ø 记录当前时间或SCN
为了以防万1,最好在数据库变动前记录时间或SCN
SQL> selectto_char(sysdate,'YYYY-MM-DD HH24:mi:ss') from dual;
SQL> selectcurrent_scn from v$database;
2.开启闪回
开启闪回需要数据库在归档模型下,所以首先需要开启归档。并且在mount状态下。
首先查看是否开启闪回:
SQL> select flashback_on fromV$database;
FLASHBACK_ON
------------------
NO
如果已经开启了闪回,无须执行下面的操作。
SQL> alter system set db_recovery_file_dest_size=30Gscope=both;
SQL> alter system setdb_recovery_file_dest='/u01/flashback' scope=both;
SQL> shutdown immediate
SQL> startup mount
SQL> alter database archivelog;
SQL> alter database flashback on;
SQL> alter database open;
再进行确认:
SQL> select flashback_on fromV$database;
FLASHBACK_ON
------------------
YES
3.闪回操作
Ø 闪回数据库。
可以有下面3个不同的方法,按实际需要,任选其一
SQL> flashback database totimestamp(sysdate-1/24);
SQL> flashback database to timestamp
to_timestamp('2013-09-1016:00:00','YYYY-MM-DD HH24:mi:ss');
SQL> flashback database to scn 463954;
Ø 闪回表:
闪回表可以分为两种情况,一种是drop闪回,一种是闪回到指定时间或SCN
先要开启row movement
SQL>alter table emp enable row movement;
闪回到指定时间或SCN
SQL>flashback table emp to timestampto_timestamp
('2013-09-12 08:00:00','yyyy-mm-ddhh24:mi:ss');
SQL>flashback table emp to scn 4354761;
DROP闪回:
如果误对表做了drop操作,可用下面的方法闪回
SQL>flashback table s_emp1 to before drop;
可以以下面的方法闪回
SQL>flashback table flashbacktable to before drop rename to a;
SQL>flashback table "回收站实体名"to before drop;
--闪回表后表的索引也会回来,但是索引名还是在recyclebin中显示的名字,所以使用 alterindex“ bin$xxx” rename to xxxx 命令修改索引名称。
SQL>alter index "BIN$s6TKiw4uafDgRAAVF3jtoA==$0"
rename to PK_PC_STIM_INJ_ENHANCE_MON
Ø 查询闪回(flashbackquery)
delete数据库里的数据都删除了以后,还commit, 采用下面的方法实现数据的还原
·查询过去某指定时间点数据库中的数据。
SQL>select* from emp as of timestamp to_timestamp('2013-07-05 08:00:00','yyyy-mm-ddhh24:mi:ss');
·删除表后将数据添加到原表中
SQL>insertinto emp select * from emp
as of timestamp to_timestamp
('2013-07-05 08:00:00','yyyy-mm-ddhh24:mi:ss');
Ø 9i的闪回查询
9i的flashback 是基于undo的,9i根本没有recycle bin,想闪回表和库是不可能的,只能闪回查询
SQL>SELECTCOUNT(*) FROM class_daily as of timestamp to_timestamp('2013-03-21 14:58:00','yyyy-mm-ddhh24:mi:ss');
Ø 删除闪回(flashbackdrop)
闪回被dropped的基表,
·显示回收站信息
SQL>show recyclebin
--select* from user_recyclebin
·彻底删除基表
SQL>drop table s_emp1 purge ;
----彻底删除一个表用PURGE,这样的删除的表不能闪回。
·清除回收站
SQL>purge recyclebin;
·查数据库选项产品:
SQL>select * from V$option;
· truncate删除后不保留存储空间,而Delete删除后,保留存储空间,如果要删掉这些存储空间,以释放空间,可以执行以下命令:
SQL>alterttable emp deallocate unused;
·如果还要保留一部分,可以用:
SQL>alterttable emp deallocate unused 200k;
Oracle闪回flashback总结的更多相关文章
- Oracle闪回flashback
参考资料:Using Oracle Flashback Technology Oracle 11g的新特性闪回操作 闪回查询 闪回查询 闪回版本查询 闪回事务查询 闪回数据 闪回表 闪回删除 闪回数据 ...
- 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)是羡慕不已.对数据恢复提供非常便捷的方式.闪回技术通常用于快速简单恢复数据库中 ...
随机推荐
- (IOS)国际本地化设置
首先New File,在Resource中选择Strings File: 然后命名该strings文件,必须命名为 Localizable : 再者选中该strings文件,在Localization ...
- JS判断只能是数字和小数点
JS判断只能是数字和小数点 1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace(/\D/g,'' ...
- 平实给力的写作指导入门手冊——leo鉴书57
写作是个体力活儿,须要不断的练习和砥砺.既然是体力劳动,那必定有套路,前人总结.后人学习并加以积累沉积,日久则形成不同的风格和流派有点儿像.相同,写作也有自己的套路和学习路径.初涉写作有必备之书吗?当 ...
- Ext JS学习第五天 我们所熟悉的javascript(四)
此文用来记录学习笔记: •javascript之对象.面向对象 •可能对于高级语言你可能了解甚至精通OOP面向对象,那么对于javascript你又熟悉多少呢?我们一起来学习javascript面向对 ...
- ZSTU OJ 3999 零基础学算法---邻接表
题目:Click here 题意:我就喜欢中文题! 分析:这个题虽然是中文题,但是还是有一点费解的.其实就是给你一棵树,是用图的形式给你的,只知道a,b之间有一条边,并不知道谁是父,谁是子.思路就是先 ...
- [POJ 1521]--Entropy(哈夫曼树)
题目链接:http://poj.org/problem?id=1521 Entropy Time Limit: 1000MS Memory Limit: 10000K Description A ...
- 开源网络库的分析libev libevent nginx ....
最经看关于网络编程的一些书,对于网络编程中的一些基本东西,开源库已经封装的很好了,但是库归根结底还是使用的基本API,所以就想着分析一下,尤其是在看了各个库的介绍以后,所以这段时间想在这个方向投入一点 ...
- PHP学习笔记1-常量,函数
常量:使用const(php5)声明,只能被赋值一次,php5以下版本使用define: <?php const THE_VALUE = 100;//PHP5中才有const echo THE_ ...
- 2014 HDU多校弟八场H题 【找规律把】
看了解题报告,发现看不懂 QAQ 比较简单的解释是这样的: 可以先暴力下达标,然后会发现当前数 和 上一个数 的差值是一个 固定值, 而且等于当前数与i(第i个数)的商, 于是没有规律的部分暴力解决, ...
- 测试css2.1选择器IE6/7/8支持情况,属性选择器/子元素/相邻
环境 xp ie 8 , ietester <!doctype html> <html> <head> <meta charset="utf-8&q ...