oralce flashback 使用方法总结:
一,关键知识点
在oracle 10g中,如果是使用drop 把表对象删除了,会把这个对象放在回收站里
查看回收站:select * from recyclebin;
然后恢复对象:flashback table TABLENAME to before drop;
删除不放回回收站:drop table TABLENAME purge;
如果不小心误删除了某个表中的部分数据,需要恢复回来,可以利用oracle flashback闪回误删除的表数
据。但要注意:flashback table 需要下面几个条件:
1. 需要有flashback any table的系统权限或者是flashback这个表的对象权限;
2. 需要有对这个表的基本的dml,alter操作权限;
3. 必须保证该表row movement(这主要是让flashback记住表的rowid)
扩展:oracle flashback闪回不仅可以误删除的表数据,还可以错误的修改也可以恢复过来;
注意:
ORA-08189: cannot flashback the table because row movement is not enabled
但是抛出了8189错误,原因就是因为表没有row movement,改变下表的属性:
SQL> alter table test_tablename enable row movement;
再执行闪回操作;
二,实例
1.创建示例表:
CREATE TABLE TBL_TEST
(
ID NUMBER,
NAME VARCHAR2(100 BYTE),
PID NUMBER DEFAULT 0
);
2.插入测试数据:
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2');
3.恢复误删除的表数据
例如:
FlashBack table TBL_TEST to timestamp to_timestamp('2009-8-1 16:59:36','yyyy-mm-dd
hh24:mi:ss');
报错:ORA-08189: cannot flashback the table because row movement is not enabled
错误解决,要执行:alter table TBL_TEST enable row movement;
FlashBack table TBL_TEST to timestamp to_timestamp('2009-8-1 16:59:36','yyyy-mm-dd
hh24:mi:ss');
4.恢复误表数据错误的修改:
例如:
update TBL_TEST set pid=1 where id =5;
FlashBack table TBL_TEST to timestamp to_timestamp('2009-8-1 16:59:36','yyyy-mm-dd
hh24:mi:ss');
5.恢复被删除表的步骤:
(1)显示回收站信息
select * from RECYCLEBIN;
(2)确定被删除表存在后,可以恢复诶删除表,此时可以指定表明或者回收站对象名
flashback table TBL_TEST to before drop;
或 flashback table "BIN$zgwx7wCsQ92JRcrAVpABQg==$0" to before drop
6.恢复被删除表的同时可以改变被删除表的名称
flashback table TBL_TEST to before drop rename to test_TBL_TEST
或 flashback table "BIN$zgwx7wCsQ92JRcrAVpABQg==$0" to before drop rename to test_TBL_TEST
7.删除不放回回收站:
drop table TBL_TEST purge;
目前只在pl/sql developer 上,实际操作了上面几点,也是常用的知识点。可能还有其他的处理方法,如Flashback Database to time to_timestamp(xxx),这些有待继续研究。
本文出自 “在路上” 博客,出处http://yuwenhu.blog.51cto.com/672091/186601
相关推荐
全面总结和解释了oracle flashback技术的使用,优势以及限制
Oracle Flashback 技术总结
Oracle_Flashback_技术_总结.pdf
Oracle Flashback技术总结.比较先进一些,这些内容很丰富的~
Oracle备份与恢复总结 rman ldr exp imp flashback logminer
索引,包括B树索引、基于函数的索引、位图索引、反向索引、降序索引、压缩索引等的使用方法及其适用情形等。在案例精讲中,对表压缩、约束的使能与失能、表的层次结构查询、防止删除表及对象、提取创建外键约束的...
81 Master Note For Oracle Flashback Technologies (文档 ID 1138253.1) 82 NetBackup_Troubleshoot_Guide 83 OceanStorF面向Oracle数据库OLAP最佳实践 84 OEM Cloud Control 13.3 Installation on Oracle ...
索引,包括B树索引、基于函数的索引、位图索引、反向索引、降序索引、压缩索引等的使用方法及其适用情形等。在案例精讲中,对表压缩、约束的使能与失能、表的层次结构查询、防止删除表及对象、提取创建外键约束的...
为了方便使用方法的介绍,上述恢复方法都将基于以下场景进行:系统管理员在前一天晚上11点用export对数据库做了全库逻辑备份,然后对所有数据文件进行了热备份。第二天上午10点,系统管理员在修改表TFUNDASSET的数据...
8.16 使用Flashback Query恢复误删除数据 394 8.17 诊断案例之一:释放过度扩展的UNDO空间 396 8.18 特殊情况的恢复 399 8.19 诊断案例之二:回滚段损坏的恢复 402 第9章 等待事件 406 9.1 等待事件的...
Oracle闪回技术详解,这里整理了4种闪回技术,对Oracle 闪回技术做一个整理总结。 概述: 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复...
8.16 使用Flashback Query恢复误删除数据 8.17 诊断案例之一:释放过度扩展的UNDO空间 8.18 特殊情况的恢复 8.19 诊断案例之二:回滚段损坏的恢复 第9章 等待事件 9.1 等待事件的源起 ...
8.16 使用Flashback Query恢复误删除数据 8.17 诊断案例之一:释放过度扩展的UNDO空间 8.18 特殊情况的恢复 8.19 诊断案例之二:回滚段损坏的恢复 第9章 等待事件 9.1 等待事件的源起 ...
8.16 使用Flashback Query恢复误删除数据 8.17 诊断案例之一:释放过度扩展的UNDO空间 8.18 特殊情况的恢复 8.19 诊断案例之二:回滚段损坏的恢复 第9章 等待事件 9.1 等待事件的源起 ...
从网上找到的,写的很不错 Flashback 技术是以Undo segment中的内容为基础的, 因此受限于UNDO_RETENTON参数。要使用flashback 的特性,必须启用自动撤销管理表空间。