一、误删数据恢复案例--仅适用Oracle数据库一般能恢复在15分钟内误删除的数据,超过15分钟,数据在内存中已被覆盖不能用这种方式恢复,只能用物理RMAN、逻辑IMPDP等方式恢复,不过前提是误删数据前数据库有做物理RMAN备份或逻辑EXPDP备份。以下介绍的是闪回查询方式恢复误数据步骤:1、通过flashbackquery查询某历史时点的数据量,找到删除时点的前1s。select * fromt_ssc_jobhis as of timestamp to_timestamp('2018-01-02 13:39:47','yyyy-mm-ddhh24:mi:ss’);# 查询6万多条数据,如果查询48s的数据,则减少到1万多,说明数据是在47s时删除的。2、创建临时表,从删除之前的那一刻恢复所有数据。create tablet_ssc_jobhis_0102as select * fromt_ssc_jobhis as of timestamp to_timestamp('2018-01-02 13:39:47','yyyy-mm-ddhh24:mi:ss’);3、从恢复的表中把当前表中不存在的记录恢复。insert intot_ssc_jobhis select * from t_ssc_jobhis_0102 where fid not in (select fid fromt_ssc_jobhis);4、数据恢复完成。# 让现场验证数据无误,并确定没问题时删除临时创建的表。二、误删表恢复案例--仅适用Oracle数据库1. 用sqlplus登录到数据库SQL>下,c:\>sqlplusD0023_C/eas;2.停止eas应用服务器实例,备份生产数据库中的数据(用expdp备份),由于是恢复整张表不是删除数据,备份数据这步可选择性处理,非必需的。3. 通过sql>select * from user_recyclebin
oracle 恢复表违反主键_误删数据或表恢复案例--仅适用Oracle数据库
最新推荐文章于 2023-04-27 10:15:15 发布