如何恢复删除并且commit后的数据
1、现象、问题描述
经常会发生误删除数据,并且commit了。恍然醒悟!
但如何恢复呢?Oracle 9以前的版本如果在你删除之前没有对数据库完整备份的话,想恢复删除的数据比登天还难。
Oracle9 以后提供了数据库闪回功能,可以将数据库恢复到之前的某个合适的时间点。
而且提供了flashback query 功能,可以查询某个表在某个时间点的状态,即使这个表中的数据已经删除,并且commit了。
这就是用flashback恢复误删除并且commit后数据的原理。
测试如下场景:
SQL> create table t as select OBJECT_ID,object_name from dba_objects where rownum < 5;
Table created.
Elapsed: 00:00:00.42
SQL> select object_id,substr(object_name,1,15) from t;
OBJECT_ID SUBSTR(OBJECT_N
---------- ---------------
20 ICOL$
44 I_USER1
28 CON$
15 UNDO$
Elapsed: 00:00:00.00
现在将其全部删除,并且commit:
SQL> delete from t;
4 rows deleted.
Elapsed: 00:00:00.00
SQL> commit;
Commit complete.
Elapsed: 00:00:00.01
SQL> select * from t;
no rows selected
Elapsed: 00:00:00.00
现在用flashback操作将其恢复,方法如下:
SQL> insert into t select * from t as of timestamp (systimestamp - 2/24/60);
4 rows created.
SQL> select object_id,substr(object_name,1,15) from t;
OBJECT_ID SUBSTR(OBJECT_N
---------- ---------------
20 ICOL$
44 I_USER1
28 CON$
15 UNDO$
Elapsed: 00:00:00.00
但是,有个问题是:flashback利用的是回滚段机制,将脏(已经删除)数据从回滚段中重新读出。
而回滚段是可重复利用的,所以当经过了很多事务以后,可能存放需要的脏数据的回滚段被重复利用,这样flashback对此就不再奏效了。
发表评论
-
compile_6i
2010-10-12 21:35 545for %%i in (*.rdf) do start /w ... -
compile bat
2010-10-12 21:33 829compile_pll_form.bat for %%i i ... -
test26_7
2010-06-30 16:33 1315 使用索引:索引未用上?是否为表和相关的索引搜集足够的统计 ... -
test26_6
2010-06-30 16:32 1414 使用索引:索引未用上?检查被索引的列或组合索引的首列是否 ... -
test26_5
2010-06-30 16:31 64813 使用索引:合理的索引针对如何用上合理的索引,以下举ORA ... -
test26_4
2010-06-30 16:30 59511 使用索引:建立索引的原则1、索引字段需要建立NOT NU ... -
test26_3
2010-06-30 16:29 5449 索引种类:位图索引Create BITMAP index ... -
test26_2
2010-06-30 16:28 5157 索引种类:反向索引Create index indexna ... -
test26_1
2010-06-30 16:26 6654 索引概述:什么是索引索引是建立在表的一列或多个列上的辅助对 ... -
test26_0
2010-06-30 16:25 5461 Oracle 索引 2 Contents索引概述什么是索 ... -
test25
2010-06-30 15:59 542如何收集表的部分统计信息 如果表很大,收集表的统计信息需要花 ... -
test24
2010-06-30 15:53 567处理exp Exporting questionable st ... -
test23_1
2010-06-30 15:49 624Argument Name ... -
test23
2010-06-30 15:47 536回收表的高水平位 表的高水平位(High water mar ... -
test22
2010-06-30 15:29 575dblink的使用1、现象、问题描述 在local服务器上有 ... -
test21
2010-06-30 15:29 590如何查询长时间的操作何时结束 数据库中有一个视图中v$ses ... -
test20
2010-06-28 16:48 508如何只恢复经过多次commit后的某个事务 SQL> ... -
test19_1
2010-06-28 16:45 505但ORACLE又提供了另外一种机制:从redo日志或归档日志中 ... -
test19_1
2010-06-28 16:43 441但ORACLE又提供了另外一种机制:从redo日志或归档日志中 ... -
test18
2010-06-28 16:39 485如何使一个经常用的小表一直保留在内存中? SQL> s ...
相关推荐
seeven-test19seeven-test19seeven-test19seeven-test19seeven-test19seeven-test19seeven-test19seeven-test19seeven-test19seeven-test19seeven-test19seeven-test19seeven-test19seeven-test19seeven-test19...
mysql-8.0.19-winx64-debug-test.zip安装包
19_vga_char 20_sd_ddr_vga 21_lcd_test 22_flash_ddr_lcd 23_ov7670_vga 24_ov7670_lcd 25_ov5640_vga 26_ov5640_lcd 27_adda_test 28_dds_wave 29_ad9226_test 30_ad706_test ethernet_100 flash_ddr_vga
PassMark BurnInTest V5.3 Copyright (C) 1999-2008 PassMark Software All Rights Reserved http://www.passmark.com Overview ======== Passmark's BurnInTest is a software tool that allows all the major sub...
LMS Test Lab是一款综合全面的振动噪声试验解决方案,其独特的工作流程设计界面,使得LMS Test Lab为系统的易用性、高效率和数据一致性确立了新的标准。为未来的振动噪声试验方式,提供了新的突破。 LMS Test Lab ...
18506 EPTT Test Plan V19.doc
ASTM D751-19:2019 Standard Test Methods for Coated Fabrics - 完整
18002 ARMED Radio Policy Manager Test Plan V19.xls
c语言入门Test-7-19.rar
目录 使用SQLite编程的快速介绍............................................................. 5 下载代码 .......................................................................... 5 创建一个新数据库 .......
Spring-test.jar 各个版本,免费下载 Spring-test-RELEASE.jar 各个版本,免费下载 如果不能免费下载,关注我,评论区联系我索要!
对应博客地址 text01: ...test19:数据结构20————图的最短路径Dijkstra算法&Floyd算法 test21:数据结构21————图的拓扑排序和关键排序 test22:android之View篇6————仿陌陌卡片左右滑动选择布局
ASTM D2863 - 19 Standard Test Method for Measuring the Minimum
第19 章设置表格··················--.. ·········.. ··••• 暹........... 薹··································"······"·····….....
DTIN-TEST-19 Avans Hogeschool布雷达-DTIN-TEST-19
本节介绍Parasoft C++ Test[课程目录参见http://blog.csdn.net/hhmoll/archive/2009/02/28/394]
ASTM F2101-19:2019 Standard Test Method for Evaluating the Bacterial Filtration Efficiency (BFE) of Medical Face Mask Materials, Using a Biological Aerosol of Staphylococcus aureus -完整英文电子版(5...
abap English and test
Samdraw.3.2编程软件-2013.11.19.rar USB驱动.rar 将上面两个安装好后,用USB线连接Samdraw 触摸屏 触控屏将会出现SEC S3C2410X Test B/D 然后自动搜索安装!驱动装完后在"通用串行总线控制器"会出现 某某HTM某某 就...
CNT_TEST_41437.v