DELETE误操作_oracle
对于DELETE的误操作
当不小心用DELETE删除了表中的一条或多条记录的恢复
1,基于时间的闪查
闪查的查询能力是受到undo表空间的大小和undo_retention的影响
以SCOTT.EMP为例子简单示范下
SQL> SHOW USER
USER is "SCOTT"
SQL> SELECT COUNT(*) FROM EMP;
COUNT(*)
----------
14
SQL> DELETE EMP WHERE ENAME='SCOTT';
1 row deleted.
SQL> COMMIT;
Commit complete.
SQL> SELECT COUNT(*) FROM EMP;
COUNT(*)
----------
13
SQL> SELECT * FROM EMP AS OF TIMESTAMP SYSDATE-5/1440 WHERE ENAME='SCOTT';
(上一个5分钟之内的,1440表示24*60,也可以根据自己定义的时间格式来写具体的时间)
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- ---------- ----- ------------------- ----- ----- ----------
7788 SCOTT ANALYST 7566 1987-04-19 00:00:00 3000 20
SQL> INSERT INTO EMP SELECT * FROM EMP AS OF TIMESTAMP SYSDATE-5/1440 WHERE ENAME='SCOTT';
1 row created.
SQL> SELECT COUNT(*) FROM EMP;
COUNT(*)
----------
14
SQL> COMMIT;
Commit complete.
2,基于SCN的闪查(删除的步骤就不重复了)
SQL> SHOW USER
USER is "SYS"
SQL> SELECT SCN,TIME_DP FROM (SELECT SCN,TIME_DP FROM SMON_SCN_TIME ORDER BY TIME_DP DESC) WHERE ROWNUM<5;
SCN TIME_DP
---------- -------------------
874277 2011-06-18 01:05:48
874073 2011-06-18 01:00:21
873920 2011-06-18 00:59:57
873774 2011-06-18 00:54:27
(5分钟一写,可以根据时间查询SCN来进行恢复.)
SQL> SELECT * FROM SCOTT.EMP AS OF SCN 873774 WHERE ENAME='SCOTT';
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- ---------- ----- ------------------- ----- ----- ----------
7788 SCOTT ANALYST 7566 1987-04-19 00:00:00 3000 20
注:初学者,欢迎指点,不断改进。doo
转载于:https://blog.51cto.com/dongyin/591189
DELETE误操作_oracle相关推荐
- oracle操作错误还原,Oracle delete误操作数据恢复(BBED)
Oracle delete误操作数据恢复(BBED) 在Oracle中,表数据被错误执行了delete,并 已 提交,如何找回数据呢? 常规的修复方法可以想到 闪回.Rman.impdp . DG . ...
- MySQL遭遇DELETE误操作的回滚
方法: 条件:开启Binlog,Format为Row. 步骤: 1.通过MySQL自带工具mysqlbinlog 指定导出操作的记录: mysqlbinlog --no-defaults --star ...
- mysql 恢复delete操作_MySQL 误操作后数据恢复(update,delete忘加where条件)
在数据库日常维护中,开发人员是最让人头痛的,很多时候都会由于SQL语句写的有问题导致服务器出问题,导致资源耗尽.最危险的操作就是在做DML操作的时候忘加where条件,导致全表更新,这是作为运维或者D ...
- mysql 清除分区数据恢复_MySQL 误操作后数据恢复(update,delete忘加where条件)【转】...
在数据库日常维护中,开发人员是最让人头痛的,很多时候都会由于SQL语句 写的有问题导致服务器出问题,导致资源耗尽.最危险的操作就是在做DML操作的时候忘加where条件,导致全表更新,这是作为运维或者 ...
- MSQL误操作delete之后的数据恢复
1.查看binlog功能是否开启 show variables like '%log_bin%'; 如果为log_bin为ON说明可以恢复,如果为OFF说明没有开启binlog,也没有预先生成回滚SQ ...
- 盘点一下数据库的误操作有哪些后悔药?
前言 无论是开发.测试,还是DBA,都难免会涉及到数据库的操作,比如:创建某张表,添加某个字段.添加数据.更新数据.删除数据.查询数据等等. 正常情况下还好,但如果操作数据库时出现失误,比如: 删除订 ...
- mysql回滚用法_Mysql误操作后利用binlog2sql快速回滚的方法详解
前言 在日常工作或者学习中,操作数据库时候难免会因为"大意"而误操作,需要快速恢复的话通过备份来恢复是不太可能的,下面这篇文章主要给大家介绍关于Mysql误操作后利用binlog2 ...
- MySQL中truncate误操作后的数据恢复案例
MySQL中truncate误操作后的数据恢复案例 这篇文章主要介绍了MySQL中truncate误操作后的数据恢复案例,主要是要从日志中定位到truncate操作的地方然后备份之前丢失的数据,需要的 ...
- 防止人为误操作MySQL数据库技巧一例
防止人为误操作MySQL数据库技巧一例 (本题来自老男孩培训内部学生问题,属于数据库安全技巧) 在若干年前,老男孩亲自遇到一个"命案",老大登录数据库update一个记录,结果忘了 ...
最新文章
- BERT可视化工具bertviz体验
- ubuntu 目录结构
- Linux 内核Coding Style整理
- 1.java局部变量 实例变量 类变量(静态变量)
- OpenCv——merge()函数数据合并
- 深入理解 Spring Boot Starters 原理(手写Spring boot Start)
- cjmx:JConsole的命令行版本
- 朴素贝叶斯法(Naive Bayes,NB)
- 理解Lucene中的Query
- mysql 时间语句【集锦】
- java 快逸报表_报表展现输出 | 快逸报表工具 java报表软件
- 浅析数据结构-图的基本概念
- 如何成为优秀的程序员?
- 海康威视2022届校招面经(内含内推码)
- tif文件转为shp文件_在arcgis中怎么把tif格式的遥感图像转换为矢量图
- ASEMI整流桥GBU410参数,GBU410介绍,GBU410代换
- 开源私有云盘python_使用Seafile搭建个人专属私有云盘
- Linux 磁盘命令lsblk和blkid
- YOLOv7部署于自定义数据集(BDD100K)
- WebService工作流程