在Oracle中误删除数据后并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用户进行上述操作
相关推荐
oraclemch 2020-06-11
流云追风 2020-06-11
oraclemch 2020-02-20
吴正清 2019-07-27
JokerFei 2019-06-06
Dennist 2019-04-24
亚恋之欣 2019-03-25
dbcommando 2019-03-11
Dennist 2019-03-09
whz0 2018-05-29
limiaoiao 2017-10-10
heikeyuit 2017-02-26
朴俊的oracle 2016-10-31
lirenkai000 2016-10-19
我的记录 2016-05-04
chenxueqin 2015-05-26
windsky 2015-05-06
maqiang0 2015-02-03
dongjianxu 2014-11-26