项目场景:
前几天的遇到的,老大让我删一条数据,不熟悉业务,我看了一下查询的sql语句,发现关联了三个表t1,t2,t3,把第三张表t3填报记录删掉了,又运行了一遍查询sql发现还能搜索到,问了一下t2表企业表不能删,我就把t1表问卷主键中删掉了几个问卷,运行了一下加了条件的查询sql发现查不到了,感觉成功了。然鹅,过了一个小时老大打过来电话说数据全部查不到了,我当时人都傻了,当时老大在给甲方演示,情况紧急。
我脑中回想了一会,第一反应觉得没删错,看了一遍当时删的sql语句,在闲置电脑上操作的窗口还没关。没加条件,sql查了一下,确实啥也没有了。
问题描述
用的是plsql,删除的事务也已经提交了,百度怎么恢复数据,很幸运找到了。
解决方案:
select * from tabName as of timestamp to_timestamp(‘20240108 11:40:00’,‘YYYYMMDDHH24:MI:SS’) 能够查到11:40:00表的快照,(很幸运当时急着去吃饭,记得时间)把删掉的几条数据都查到了,
insert into tableName
select * from tabName as of timestamp to_timestamp(‘20240108 11:40:00’,‘YYYYMMDDHH24:MI:SS’)
又被救了一命