flashback table

本文介绍如何使用Oracle的闪回功能恢复误删除的表数据。需具备特定权限,并确保表支持row movement特性。文中提供了具体操作步骤及解决闪回过程中遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小心误删除了某个表中的部分数据,需要恢复回来,下面利用 oracle flashback 闪 回误删除的表数据

注意: flashback table 需 要下面几个条件

<!--[if !supportLists]-->1.       <!--[endif]-->需要有 flashback any table 的系统权限或者是 flashback 这个表的对象 权限 ;

<!--[if !supportLists]-->2.       <!--[endif]-->需要有对这个表的基 本的 dml , alter 操作权限 ;

<!--[if !supportLists]-->3.       <!--[endif]-->必须保证该表 row movement( 这主要是让 flashback 记住表的 rowid)

具体的操作为:

SQL> flashback table code_lkyj to timestamp to_timestamp('2010-03-30 10:00:00','yyyy-mm-dd hh24:mi:ss');

flashback table code_lkyj to timestamp to_timestamp(' 2010-03-30 10:00:00 ','yyyy-mm-dd hh24:mi:ss')

ORA-08189: cannot flashback the table because row movement is not enabled

但是抛出了 8189 错误,原因就是因为表 没有 row movement, 改变下表的属性:

SQL> alter table code_lkyj enable row movement;

Table altered

然后再执行上面的闪回操作

SQL> flashback table code_lkyj  to timestamp to_timestamp(' 2010-03-30 10:00:00 ,'yyyy-mm-dd hh24:mi:ss');

Done

查询原来的表误删除的数据闪回回来了 .

 

注意:如果回滚段被覆盖就恢复不了!或者我理解错了!有人知道就请告诉我!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值