转自:http://www.cnblogs.com/WhyShang/
今天操作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');
这样被误操作的数据就可以“找”回来了。哈哈~
于是乎,再想,Oracle有如此美妙的东西,那Sql Server有没有呢? 于是乎查阅了一下资料,感觉有些悲催了。Sql Server没有提供此类便捷的东西。貌似只能用Log恢复了。。。。
正好刚才在看一篇文章,关于SQL的数据恢复。Mark一下:
相关推荐
### Oracle 9i以上版本中的闪回功能及误操作后的数据恢复 在Oracle数据库系统中,数据的安全性和完整性至关重要。为了应对可能出现的数据误删除、更新等意外情况,Oracle自9i版本起引入了闪回技术(Flashback)。该...
在Oracle数据库环境中,数据安全是至关重要的,但有时由于误操作,可能会导致数据被意外删除。在这种情况下,了解如何恢复误删数据变得极其关键。Oracle提供了多种机制来帮助用户在不同场景下恢复丢失的数据,包括闪...
SCN提供了Oracle的内部时钟机制,可以被视为一种逻辑时钟,这对于恢复操作尤其重要。 - **定义**:SCN定义了数据库在某个确切时刻提交的版本。 - **作用**:在事务提交时,会赋予一个唯一的标识该事务的SCN。 - **...
Oracle的闪回功能是数据库恢复策略的一个重要组成部分,它允许用户恢复偶然丢失的数据,从而避免因误操作导致的重大损失。这一特性在Oracle 9i版本中首次引入,并随着时间的推移,不断发展和完善。 1. 闪回查询功能...
当遇到这类情况时,Oracle提供了一种强大的数据恢复机制——回闪(Flashback)功能。通过回闪功能,用户可以在特定的时间点恢复已删除的数据。本文将详细介绍如何利用Oracle的回闪功能来恢复误删的数据。 ### 回闪...
如果一个事务完成后,其undo记录没有被覆盖,那么这些记录可以用来执行闪回操作。 2. **闪回查询**:这是Oracle提供的一种方式,用于查看表在某个特定时间点的状态。可以通过设置会话级参数`DBMS_FLASHBACK.ENABLE...
本文将详细讲解 Oracle 误删除表数据后的恢复策略,主要涉及 Undo Retention 参数的查询与修改,以及两种快速恢复数据的方法。 1. **Undo Retention 参数** - **查询 Undo Retention**:在 Oracle 中,`undo_...
因此用当前的System信息是不能恢复过来的,在AUL/MyDUL中可以当作没有System时的情况来处理,在下面的命令中, 我们用Truncate后的数据对象号就不能进行恢复, 而使用Truncate以前的就可以, 当然空间不能被重新利用了是...
通过以上介绍可以看出,Oracle的闪回技术是一项非常实用的功能,能够在多种场景下帮助数据库管理员快速恢复误操作带来的损失。特别是Flashback Version Query,能够提供丰富的数据版本信息,对于分析数据变更历史和...
Oracle 19c 备份恢复-导入导出是指使用 Oracle 数据库提供的工具 exp 和 imp 实现数据库的备份恢复和数据的导入导出。本文将详细介绍 Oracle 19c 备份恢复-导入导出的基本命令、工作方式、模式、选项和高级选项。 ...
如果在这3小时内发现数据被误删除,那么就可以尝试使用闪回查询恢复数据。 **步骤2:启用闪回** 为了能够查询到过去某个时间点的数据,我们需要先启用闪回功能。这可以通过执行以下PL/SQL代码实现: ```sql EXEC ...
cx_Oracle是Python中的一个重要模块,它提供了一个接口,使得Python程序员能够方便地访问Oracle数据库,执行SQL语句,处理数据,以及进行其他数据库操作。 Oracle数据库是一个广泛应用的关系型数据库管理系统,尤其...
Oracle JDBC驱动程序是连接Java应用程序与Oracle数据库的关键组件。在Oracle 12c版本中,12.2.0.1是其中一个重要的发行版,它提供了对最新Oracle数据库特性的支持,同时也增强了性能和稳定性。Oracle JDBC驱动主要有...
Oracle 数据闪回功能是一种强大的数据库特性,它允许用户或管理员恢复到过去某个时间点的数据状态,这对于错误修复、数据恢复等场景非常有用。Oracle 提供了多种闪回技术,包括闪回查询、闪回版本查询、闪回表等。 ...
1-2PC the one-two phase atomic commit protocol; 1-2PC the one-two phase atomic commit protocol 1-2PC the one-two phase atomic commit protocol
### Oracle闪回功能详解 ...通过以上介绍可以看出,Oracle的闪回功能提供了多种手段来应对数据丢失或误操作等问题,使得数据恢复变得更加灵活和高效。对于数据库管理员来说,掌握这些技能是非常必要的。
在HTML页面中,Vue.js应用通常会遇到一个问题:当用户从一个页面(如B...通过结合Vue Router的导航守卫、状态持久化以及浏览器历史记录的管理,我们可以让用户体验更加流畅,同时确保应用在回退操作后的数据一致性。
- **JDBC连接**:使用Java JDBC驱动程序连接Oracle数据库,进行数据读写操作。 - **数据库编程**:通过Java编写复杂的数据库应用程序,利用PL/SQL进行数据处理。 #### 七、Oracle事务处理 - **事务概念**:事务是...
闪回查询允许用户查看过去某个时间点的数据状态,这对于恢复被误删除的数据非常有用。以下是几种常用的闪回查询方式: ##### 1. 回溯到15分钟前 ```sql SELECT * FROM orders AS OF TIMESTAMP (SYSTIMESTAMP - ...
通过这个库,Python程序员可以直接使用Python语法来执行SQL查询、管理数据库事务、操作数据等,大大简化了与Oracle数据库的交互过程。 **2. 安装cx_Oracle** 在Python环境中安装cx_Oracle,通常可以通过pip命令...