【转】COMMIT后恢复

Oracle中误删除数据后并commit后的数据恢复办法

背景:表A数据误操作,被delete了,恢复。

--1.先备份A表当前数据。

--2.查询某时间点前的SCN号码

SELECT MAX(Scn) FROM Sys.Smon_Scn_Time WHERE Time_Dp < To_Date(某时间点, 'YYYYMMDD hh24:mi:ss');

--3.查看某时间点的A表数据

SELECT * FROM A AS OF SCN '步骤2的SCN号';

--4.如果查看数据是想要的数据,则恢复

SELECT row_movement FROM user_tables WHERE table_name = 'A';

--5.步骤4结果如果为DISABLE ,则执行下面这句话,否则跳过

ALTER TABLE A  ENABLE ROW MOVEMENT;

--6.执行

FLASHBACK TABLE A TO SCN '步骤2的SCN号';

--7.如果原来为enable则不用执行,否则执行

ALTER TABLE A DISABLE ROW MOVEMENT;

--8.如果权限不够,就换个DBA用户进行上述操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值