Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2007177
  • 博文数量: 148
  • 博客积分: 7697
  • 博客等级: 少将
  • 技术积分: 3071
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-10 23:04
个人简介

MiBDP,数据开发、项目团队、数据应用和产品在路上,金融保险、互联网网游、电商、新零售行业、大数据和AI在路上。对数仓、模型、ETL、数据产品应用了解。DTCC 2013演讲嘉宾,曾做过两款大获好评的数据产品平台。知识星球ID:35863277

文章分类
文章存档

2020年(1)

2019年(2)

2017年(2)

2016年(5)

2015年(1)

2014年(1)

2013年(6)

2012年(5)

2011年(24)

2010年(28)

2009年(1)

2008年(6)

2007年(30)

2006年(36)

分类: Oracle

2007-04-30 13:15:23

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

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

1.       需要有flashback any table的系统权限或者是flashback这个表的对象权限;

2.       需要有对这个表的基本的dmlalter操作权限;

3.       必须保证该表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

阅读(5490) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~