Oracle执行DELETE语句后,回滚(还原)数据

美凌格栋栋酱
• 阅读 398

--第一步:删除数据 DELETE FROM "EMPLOYEER" WHERE id = '123'

--第二步:查看数据列表(判断第一步中数据是否被删除) SELECT * FROM "EMPLOYEER" AS OF timestamp to_timestamp( '2024-05-22 11:51:00', 'yyyy-mm-dd hh24:mi:ss' )

--第三步:回滚(还原)已删除数据 flashback TABLE "EMPLOYEER" TO timestamp to_timestamp('2024-05-22 11:48:00','yyyy-mm-dd hh24:mi:ss')

--第四步:当执行第三步出现报错ORA-08189(未启用行移动功能,不能闪回表),执行此步骤。执行完此步骤,再执行第三步 ALTER TABLE "EMPLOYEER" enable ROW movement

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
tidb使用坑记录
1、对硬盘要求很高,没上SSD硬盘的不建议使用2、不支持分区,删除数据是个大坑。解决方案:set@@session.tidb\_batch\_delete1; 3、插入数据太大也会报错解决方案:set@@session.tidb\_batch\_insert1; 4、删除表数据时不支持别名deletefrom表名表别名 
Wesley13 Wesley13
3年前
MySQL binlog2sql实现MySQL误操作的恢复
对于MySQL数据库中的误操作删除数据的恢复问题,可以使用基于MySQL中binlog做到类似于闪回或者生成反向操作的SQL语句来实现,是MySQL中一个非常实用的功能。原理不难理解,基于MySQL的row格式的binlog中,记录历史的增删改SQL信息,基于此解析出来对应的SQL语句(回滚的话就是反向的SQL语句)。在格式为binlog格式为r
Wesley13 Wesley13
3年前
mysql数据库delete数据时不支持表别名
  今天在帮同事查看一条删除的SQL语句执行出错的问题  SQL语句如下:1DELETEFROMLEAD_SYSTEM_MENU_ORG_REFastWHEREt.resourceid'4028812348f28b890148f29253a80000'这条SQL语句放到Oracle数据库中去执行是可以正常执行的,但是放到M
Wesley13 Wesley13
3年前
MySQL 常用命令手册 增删改查大法
一、数据库操作创建数据库语法:CREATEDATABASEdatabase_name;删除数据库删除数据库务必谨慎!因为执行删除命令后,所有数据将消失。语法:DROPDATABASEdatabase_name;选择数据库语法:
Stella981 Stella981
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Easter79 Easter79
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Stella981 Stella981
3年前
Merge Into 语法
mergeinto根据查询数据对已存在的表中数据执行删除、修改、新增操作,在实际应用中非常实用,可以减少insert、update、delete的书写。基本语法:merge into table_name tn using (select column_name,... from table_name ) tmp on tn.条件tm
Wesley13 Wesley13
3年前
mysql试题
drop,delete与truncate的区别:优先级:droptruncatedeleteTRUNCATE按行删除并不把删除操作记录记入日志保存(不可恢复)DELETE全部删除表内数据并可将删除操作记录在日志中,可以加where字句,可应用于table和viewDROP删除整个表(结构和数据)再插入时自增长id又
Wesley13 Wesley13
3年前
MySQL 清空表(truncate)与删除表中数据(delete) 详解
删除表信息的方式有两种:truncatetabletable\_name;delete\fromtable\_name;注:truncate操作中的table可以省略,delete操作中的\可以省略truncate、delete清空表数据的区别:1truncate是整体删除(速度较快),delete是逐条删
Wesley13 Wesley13
3年前
MySQL相关问题题
1.truncate、delete、drop的区别(1)truncate、drop是不可以rollback的,但是delete是可以rollback的。DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATETABLE则一次性地从表中删除所有的数据并不把单独的删
美凌格栋栋酱
美凌格栋栋酱
Lv1
我救自己万万次,铮铮劲草,决不动摇。
文章
2
粉丝
0
获赞
0