当前位置: 首页 > news >正文

关于Oracle误操作--数据被Commit后的数据回退(闪回)

今天操作Oracle数据库时,做一个Update数据时,不小心少写了个where,看这粗心大意的。

  于是乎,把所有的员工工号都给更新成一个同一个工号了。这是一个悲催的故事。

  因为工号是Check了好多次才存入数据库,工号是唯一性的啊~~

  不过,好在更新过后意识到这一点了。于是乎,先停止操作数据库。想想数据库Commit过后的数据可以回退不!在网上搜索了一下。发现Oracle有“闪回”的功能。具体“闪回”的概念,可以参见百度百科。

  如果多次commit数据后,那可不可以闪回呢?貌似不可以。闪回只能暂存最近一次的数据操作。这个就和内存一样。你不可以再内存中找到上一年的数据吧。 

  闪回执行步骤: 

  1.查询最近更新数据之前的数据(以便确定是不是Commit之前的数据)

   select * from account as of timestamp to_timestamp('2014-04-22 08:00:00', 'yyyy-mm-dd hh24:mi:ss');

  其中account为被误操作的表,'2014-04-22 08:00:00'表示上次更新数据前的时间,

  2.闪回操作前启用行移动功能(不启用不可以闪回

   alter table account enable row movement;

  其中account表示被误操作的表 

  3.执行闪回语句:

   flashback table account to timestamp TO_TIMESTAMP('20140422 15:10:00','YYYYMMDD HH24:MI:SS');

  这样被误操作的数据就可以“找”回来了。哈哈~

转载于:https://www.cnblogs.com/ms-grf/p/7170948.html

相关文章:

  • 阿里云配置ssl证书服务遇到的几个问题和解决方法
  • JSTL总结摘要
  • javascript 一些注意事项
  • XSS学习分支图
  • springCloud(10):使用Feign实现声明式REST调用-构造多参数请求
  • leetcode 228: Summary Ranges
  • Tomcat访问日志详细配置(转)
  • Android零基础入门第8节:HelloWorld,我的第一趟旅程出发点
  • Windows下使用VNC连接CentOS7远程桌面
  • Linux CentOS 7 下 JDK 1.7 安装与配置
  • “业务为王”时代下,DevOps怎么玩?
  • Java中的Filter过滤器
  • leetcode98. Validate Binary Search Tree
  • Java8新特性值Lambda ---匿名函数
  • Nginx的配置文件
  • Angular4 模板式表单用法以及验证
  • C语言笔记(第一章:C语言编程)
  • E-HPC支持多队列管理和自动伸缩
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Javascript编码规范
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Rancher-k8s加速安装文档
  • Shadow DOM 内部构造及如何构建独立组件
  • spring-boot List转Page
  • Tornado学习笔记(1)
  • vue:响应原理
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 如何胜任知名企业的商业数据分析师?
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 学习HTTP相关知识笔记
  • 云大使推广中的常见热门问题
  • 正则表达式小结
  • ###C语言程序设计-----C语言学习(6)#
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • (4) PIVOT 和 UPIVOT 的使用
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (附源码)ssm高校实验室 毕业设计 800008
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (转载)Linux 多线程条件变量同步
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • *p++,*(p++),*++p,(*p)++区别?
  • .Mobi域名介绍
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .NET业务框架的构建
  • /boot 内存空间不够
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • :如何用SQL脚本保存存储过程返回的结果集
  • @Autowired和@Resource的区别
  • [ JavaScript ] JSON方法
  • [<MySQL优化总结>]
  • [Android]使用Git将项目提交到GitHub
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
  • [BZOJ] 2006: [NOI2010]超级钢琴