Oracle误操作--被提交后的数据回退(闪回)
由于一时的粗心,在做update操作时,忘记了加where条件,导致全表数据被修改。此类错误实属不该!!特此记录一下!!
网上搜索Oracle数据回退操作,介绍如下:
| 闪回级别 | 闪回场景 | 闪回技术 | 对象依赖 | 影响数据 |
| 数据库 | 表截断、逻辑错误、其他多表意外事件 | 闪回DATABASE | 闪回日志、undo | 是 |
| DROP | 删除表 | 闪回DROP | 回收站(recyclebin) | 是 |
| 表 | 更新、删除、插入记录 | 闪回TABLE | 还原数据,undo | 是 |
| 查询 | 当前数据和历史数据对比 | 闪回QUERY | 还原数据,undo | 否 |
| 版本查询 | 比较行版本 | 闪回Version Query | 还原数据,undo | 否 |
| 事务查询 | 比较 | 闪回Transaction Query | 还原数据,undo | 否 |
| 归档 | DDL、DML | 闪回Archive | 归档日志 | 是 |
闪回执行步骤:
1.查询最近更新数据之前的数据(以便确定是不是Commit之前的数据)
时间是在最后更新之前的时间,既未做updata操作之前的时间
select * from T_PRODUCT as of timestamp to_timestamp('2019-09-05 11:10:00', 'yyyy-mm-dd hh24:mi:ss');
2.进行闪回操作前需要开启行移动功能
alter table T_PRODUCT enable row movement;
3.执行闪回语句
flashback table T_PRODUCT to timestamp TO_TIMESTAMP('2019-09-05 11:10:00','yyyy-mm-dd hh24:mi:ss');
然后数据就回退到更新操作之前了。
Oracle误操作--被提交后的数据回退(闪回)的更多相关文章
- 关于Oracle误操作--数据被Commit后的数据回退恢复(闪回)
今天操作Oracle数据库时,做一个Update数据时,不小心少写了个where,看这粗心大意的. 于是乎,把所有的员工工号都给更新成一个同一个工号了.这是一个悲催的故事. 因为工号是Check了好多 ...
- EasyUI Form提交后json数据IE上需要下载(转)
EasyUI Form提交后json数据IE上需要下载(转) 在使用EasyUI的form中的submit方法时,返回json在IE中变成提示下载的问题,代码如下: $('#fileForm'). ...
- ORACLE数据库数据被修改或者删除恢复数据(闪回)
1. SELECT * FROM CT_FIN_RiskItem --先查询表,确定数据的确不对 (cfstatus 第一行缺少) 2. select * from CT_FIN_RiskItem ...
- oracle误操作表数据--回退(闪回)被提交后的数据
// 查询该时间段 这个表的状态 (就是表状态正常的时刻 下面的时间仅用于举例) select * from 表名 as of timestamp to_timestamp('2019-09-26 1 ...
- oracle误操作commit之后,可以闪回数据
1. 授予行迁移权限 alter table table_name enable row movement; 2. 到15分钟前: flashback table order to timesta ...
- Oracle 如何恢复删除并提交的表数据
在Oracle的数据库中,如果不小心删除数据,该如何恢复数据呢? 有两种方法 :scn 方法和时间戳方法 一.恢复删除数据的SQL语法(建议用时间戳) 1.通过scn恢复删除且已提交的数据 1)获得当 ...
- form.submit()提交后返回数据的处理
form.submit()发送请求一般是单向的,如果需要取返回的数据,一般会发送ajax请求,但是如果form中有附件呢?(以后有时间给大家分享ajax上传附件的功能),确实需要返回数据来知道该功能是 ...
- Oracle误操作 数据恢复
SELECT * FROM v$sqlarea //查询最近sql记录 SELECT r.FIRST_LOAD_TIME,r.* FROM v$sqlarea r ORDER BY r.FIRST_L ...
- laravel中get方式表单提交后, 地址栏数据重复的问题
csrf_field这个要放form表单下面第一行的位置
随机推荐
- ubuntu环境下测试cache大小并校验
Cache存储器:电脑中为高速缓冲存储器,是位于CPU和主存储器DRAM(Dynamic Random Access Memory)之间,规模较小,但速度很高的存储器,通常由SRAM(Static R ...
- LeetCode: 3 无重复字符的最长子串 (Java)
3. 无重复字符的最长子串 https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 最初始的解 ...
- Java连载10-数据类型取值范围&转义字符
一.数据类型取值范围 二.八种数据类型在成员变量中的默认值 (1)成员变量,没有赋值,编译不会报错,系统会自动给赋值 byte\int\short\long默认值为0:float\double默认值为 ...
- linux文本编辑vim命令
1.Vim Vim 是一个功能强大的全屏幕文本编辑器,是 Linux/UNIX 上最常用的文本编辑器,它的作用是建立.编辑.显示文本文件. Vim 没有菜单,只有命令 2.Vim 工作模式 3.插入 ...
- Mysql的行级锁与表级锁
在计算机科学中,锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足. 在DBMS中,可以按照锁的粒度把数据库锁分为行级锁(INNODB引擎).表级锁(MYISAM ...
- JS中以一个方法作为参数的写法
一:以方法作为参数 这下来说直接以一个方法来作为参数的写法,直接上代码: -----------这样调用的方法------------- go(function(){ alert("succ ...
- ArrayList 的使用方法【摘要】
ArrayList 的使用方法 1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: (1)动态的增加和减少元素 ...
- GD32电压不足时烧写程序导致程序运行异常的解决方法
一直使用的GD32F450前段时间遇到这样一个问题,当使用J-Link供电给板子烧写程序之后,程序运行缓慢,就像运行在FLASH高速部分之外一样,但是如果使用外部供电烧写,就不会出现这个问题,而且一旦 ...
- android——SQLite数据库存储(操作)
public class MyDatabaseHelper extends SQLiteOpenHelper { //把定义SQL建表语句成字符串常量 //图书的详细信息 //ID.作者.价格.页数. ...
- mybatis的一对多双向映射
连表查询 select id resultType resultMap resultType和resultMap不能同时使用 association 属性 映射到多对一中的“一”方的“复杂类型”属性, ...