oracle怎么恢复已删除数据
答案:3 悬赏:40 手机版
解决时间 2021-02-07 11:50
- 提问者网友:那叫心脏的地方装的都是你
- 2021-02-06 13:28
oracle怎么恢复已删除数据
最佳答案
- 五星知识达人网友:野味小生
- 2021-02-06 14:54
如果删除了数据,无法通过oracle发flashback 闪回解决,可以参考:
oracle 恢复
oracle 恢复
全部回答
- 1楼网友:走死在岁月里
- 2021-02-06 16:23
1、获得当前数据库的scn号
select current_scn from v$database; (切换到sys用户或system用户查询)
查询到的scn号为:1499223
2、查询当前scn号之前的scn
select * from 表名 as of scn 1499220; (确定删除的数据是否存在,如果存在,则恢复数据;如果不是,则继续缩小scn号)
3、恢复删除且已提交的数据
flashback table 表名 to scn 1499220;
- 2楼网友:雪起风沙痕
- 2021-02-06 15:45
按你说的好像用到动态sql会是最简洁的写法,可惜我不太熟,给你个笨点的办法——直接用not exists,删除语句如下:
delete table2 where not exists(select 1 from table1 where col1 = 'table2' and col1 = table2.ouid2)
这会把table2中所有ouid2字段值在table1中找不到对应col1的记录全部删除。
如果有多个表要处理的话,比如还有table3、table4什么的,就多写几次这个语句,把table2换成别的表了,呵呵。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯