Oracle闪回恢复
Oracle的闪回功能包括
1.闪回数据库(前提 归档模式下 启用闪回数据库) mount 下 alter database archivelog; alter database flashback on ;
2.闪回回收站
3.闪回表
4.闪回查询
4.1 闪回查询表 SCN 时间 timestamp
4.2 闪回版本查询 versions_xid
4.3 闪回事物查询 flashback_transaction_query
(一)闪回表
flashback table
启动行移动 功能,如果不启动
SQL> flashback table scott.emp to scn 1101462;
flashback table scott.emp to scn 1101462
*
第 1 行出现错误:
ORA-08189: 因为未启用行移动功能, 不能闪回表
alter table emp enable row movement;
flashback table hz_test_recycle to timestamp to_date('20110111123000','yyyymmddhh24miss')
存在限制:
不可以跨越ddl 操作
不可以闪回system表
(二)闪回回收站
启用 回收站 recyclebin
SQL> show parameter recyclebin
NAME TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
recyclebin string
on
测试
grant dba to scott;
create table wj(id number(5) primary key,name varchar2(20));
insert into wj (1,'dwj');
create materialized view log on wj with primary key; -
create materialized view mv_wj refresh fast on commit ;--创建物化视图
as
select * from wj;
insert into wj values(2,'yj');
show recyclebin
drop table wj
flashback table wj to before drop;
insert into wj(3,'nr1');
select * from mv_wj;
commit; 报错 --无法闪回视图日志 需要重建
(三)闪回查询
delete from emp where deptn=30;
select * from emp as of timestamp to_timestamp('2010-01-09 10:00:45','YYYY-MM-DD HH24:MI:SS')
where deptno=30 --利用回滚段里东西
(四)闪回版本查询
select versions_xid,salary from employees versions between timestamp t1 and t2 where emplyee_id =200;
-- versions_xid 是伪列
update emp
set sal=2800
where ename='SMITH'
select sal from emp versions between scn minvalue and maxvalue where ename='SMITH'
哪些情况下不可以做:
--外部表
--临时表
--FIXED表
--视图
--不能跨越DDL
(五)闪回事务查询
flashback_transaction_query --视图
查询语句在哪个事物当中 取得事物号
select empno,ename,sal,versions_operation,versions_xid,versions_starttime,versions_endtime,versions_operation from emp versions between timestamp minvalue and maxvalue;
select logon_user,table_name,table_owner,undo_sql from flashback_transaction_query where table_owner='SCOTT' and xid
='';
Oracle闪回恢复的更多相关文章
- Oracle闪回恢复误删除的表、存储过程、包、函数...
在日常的数据库开发过程汇总难免会出现一些误删除的动作, 对于一些误删的操作我们可以通过oracle提供的闪回机制恢复误删数据, 从而避免出现较大的生产事故. 下面是本人平时工作中积累的一些常用的操作, ...
- Oracle数据库中闪回恢复的详细分析
Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的一致性数据,这是通过Undo实现的.这个功能有很大的限制,就是相关事务的undo不能被覆盖,否则就无力回天了.oracle10g大 ...
- Oracle闪回技术详解
概述: 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成).需要注意的是,闪回技术旨在快速 ...
- 闪回恢复区大小不够。报ORA-19809、ORA-19804
问题: 闪回恢复区大小不够,rman默认备份路径报错.RMAN> backup database;Starting backup at 01-DEC-14using target databas ...
- Oracle 闪回特性(FLASHBACK DATABASE)
--===================================== -- Oracle 闪回特性(FLASHBACK DATABASE) --======================= ...
- oracle闪回表详解
--- 说明闪回数据库 --- 使用闪回表将表内容还原到过去的特定时间点 --- 从删除表中进行恢复 --- 使用闪回查询查看截止到任一时间点的数据库内容 --- 使用闪回版本查询查看某一行在一段时间 ...
- Oracle闪回表
Oracle闪回技术 场景:测试环境数据库的表数据被误删除. 解决思路:使用闪回表技术 原理 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小 ...
- Oracle 闪回
Oracle 闪回特性(FLASHBACK DATABASE) 本文来源于:gerainly 的<Oracle 闪回特性(FLASHBACK DATABASE) > -========== ...
- 6. Oracle闪回特性
Oracle 闪回 (flashback)是9i版本提供的新特性.这一特性:其他数据库(PostgreSQL,Mysql)是羡慕不已.对数据恢复提供非常便捷的方式.闪回技术通常用于快速简单恢复数据库中 ...
随机推荐
- 如何在CentOS 7上部署Google BBR【搬运、机翻】
如何在CentOS 7上部署Google BBR 本文章搬运自 https://www.vultr.com/docs/how-to-deploy-google-bbr-on-centos-7 [注:文 ...
- Activiti中的各个service的作用
各个Service的作用: RepositoryService 管理流程定义 RuntimeService 执行管理,包括启动.推进.删除流程实例等操作 TaskService 任务管理 Histor ...
- Sping Boot入门到实战之入门篇(一):Spring Boot简介
该篇为Spring Boot入门到实战系列入门篇的第一篇.对Spring Boot做一个大致的介绍. 传统的基于Spring的Java Web应用,需要配置web.xml, applicationCo ...
- ./init的含义
.代表当前目录,./后往往会跟上要运行的脚本文件.相关的例子,..代表上一级目录.
- AssetBundle实现服务器下载并从本地读取
废话不多说 直接上代码. 从服务器下载的, 很简单 private IEnumerator Start() { byte[] ab = null; int len = 0; WWW www =nul ...
- python实现汉诺塔移动
汉诺塔问题 汉诺塔是根据一个传说形成的一个问题.汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘.大 ...
- STL中坑爹的max函数
hdu1754永远难忘的痛,参数最好不要传耗时特别长的函数,因为会调用两次,如果是递归的话,不知道多少次呢.. 切记!切记!切记! 例如: //return max(getAns(root<&l ...
- ThreadLoacl,InheritableThreadLocal,原理,以及配合线程池使用的一些坑
虽然使用AOP可以获取方法签名,但是如果要获取方法中计算得出的数据,那么就得使用ThreadLocal,如果还涉及父线程,那么可以选择InheritableThreadLocal. 注意:理解一些原理 ...
- 关于longPressGesture做一个长按连加的效果(原创)
关于longPressGesture做一个长按连加的效果 解释一下什么意思呢?就是一个button长按之后其数字的一直累加.朋友们可能看起来很简单,无非就是加一个长按手势(longPressGestu ...
- const char *p;和char * const p的区别
const char *p; const修饰*p,所以*p是一个常量,不可修改. char* const p; const修饰p,所以指针p是一个常量,不可修改. #include< ...