首页 > 数据库 > Oracle > oracle23i误删除表(drop table)
误删除表(drop table):
使用import工具导入表结构及其数据,但这种方法可能会丢失部分数据。
使用基于时间点的数据库不完全恢复(DBPITR)这种方法可以确保不丢失任何表数据,但是可能会丢失其他表空间事务操作的
数据,注意, DBPITR只适用于ARCHIVELOG模式。
使用基于时间点的表空间不完全恢复(TSPITR)这种方法不仅可以确保不丢失任何表数据,还能确保不丢失其他表空间事务
操作的数据,注意,TSPITR只适用于ARCHIVELOG模式。
当执行了truncate table后,会删除表的所有数据,但是会保留表的结构。恢复方法与drop table基本一样。但是注意,使用
import导入的时候,表结构还是存在的所以加上参数:ignore=y;
dml误操作:
oracle23i使用flashback table语句可以讲表数据恢复到过去的时间点或者过去的scn,注意,如果要使用该特征,那么必须
激活表的行移动特征,另外,flashback table 所能恢复的最早的时间受限于初始化参数db_flashback_retention_target..
示例:
首先执行:alter table emp enable row movement;
然后:update emp set sal=sal*1.1 where deptno=20;
然后:commit;
查询一下结果:select ename,sal from emp where deptno=20;显示已经将sal更改。
现在我们要闪回到某个时间点:flashback table emp to timestamp to_timestamp('2025-05-02 11:20:30','yyyy-mm-dd hh24:mi:ss');
再次查询结果:结果返回那一时间点对应的数据。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26342786/viewspace-3105382/ ,如需转载,请注明出处,否则将追究法律责任。