用Oracle flashback闪回误删除的表数据

开发人员今天不小心误删除了某个表中的部分数据,需要恢复回来,下面利用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 ps_audit_groupactivity to timestamp to_timestamp('2007-04-30 10:00:00','yyyy-mm-dd hh24:mi:ss');
 
flashback table ps_audit_groupactivity to timestamp to_timestamp('2007-04-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 ps_audit_groupactivity enable row movement;
 
Table altered
然后再执行上面的闪回操作
SQL> flashback table ps_audit_groupactivity to timestamp to_timestamp('2007-04-30 10:00:00','yyyy-mm-dd hh24:mi:ss');
 
Done
查询原来的表误删除的数据闪回回来了.
注我们的数据库版本为: 10.2.0.1.0
**************************
这个帖子在11月份救了我的命。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值