ITPub博客

首页 > 数据库 > Oracle > oracle23i误删除表(drop table)

oracle23i误删除表(drop table)

原创 Oracle 作者:Haoword_wang 时间:2025-12-16 17:02:06 0 删除 编辑

误删除表(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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle Postgresql MySQL DBA,DEVOPS 开发人员

注册时间:2013-03-03

  • 博文量
    73
  • 访问量
    69127