咨询微信: dbservice1234 7 x 24 在线支持!

Oracle 误删除数据各种场景的对策

Oracle 误删除数据各种场景的对策

prm-DUL下载地址:http://7xl1jo.com2.z0.glb.qiniucdn.com/DUL3206.zip

对于Oracle中的数据误删除可以分为以下几类(这里我们一般不考虑闪回数据库flashback database)

1、 误delete 删除表上的行 , 对策: 10g以后可以尝试闪回查询flashback query前提是快照未变得过久。这种情况下常规有RMAN备份的话,可以的话可以基于删除前的一个时间点做TSPTIR基于表空间的时间点恢复已达到恢复目的。 如果备份和闪回查询都不可用,则可以尝试使用PRM-DUL的恢复undelete数据功能,前提是被删除的数据行在数据块级别没有被彻底删除。

2、误drop表,对策: 10g以后使用基于回收站特性的flashback drop 来恢复表。 否则若有RMAN 备份同样可以使用TSPTIR。 若flashback drop和RMAN备份均不可用,可以使用PRM-DUL的undrop功能来恢复数据。

3、误truncate截断表,对策:对于truncate 闪回不可用,若有RMAN 备份同样可以使用TSPTIR。否则可以使用PRM-DUL的truncate恢复untruncate 功能。

4、drop tablespace ,对策:若有rman备份则使用TSPTIR。否则可以使用prm-dul恢复被drop的tablespace上的表数据

5、rm或delete了oracle的数据文件,若有备份则基于rman备份restore datafile 并recover datafile,否则考虑使用prm-dul扫描磁盘找到对应数据文件后恢复。