oraclecommit后怎么回滚_数据库commit回滚

oraclecommit后怎么回滚_数据库commit回滚commit之后 第一种: 记住大概的时间,获取前大概时间的数据。 select * from Test as of timestamp to_timestamp('2021-12-08 09

oracle中commit之后如何进行回滚

commit之后

第一种:

记住大概的时间,获取前大概时间的数据。

 

select * from Test as of timestamp to_timestamp(“2021-12-08 09:30:56″,”yyyy-mm-dd hh24:mi:ss”);
上面的代码就可以查看你要恢复的时间点的记录,看看是不是有你想要的刚刚提交的DML相关记录。

 

能看到,剩下的就简单了,可以把现在表中的数据备份到一个临时表,然后把记录插进去原表就行了

 

不要用truncate删除,不然你就回不去了,到时候你就又要哭了。

delete from Test;

insert into Test select * from Test as of timestamp to_timestamp(“2021-12-08 09:30:56″,”yyyy-mm-dd hh24:mi:ss”);
commit;

 

第二种:

Oracle在9i版本的时候引入了闪回技术,在Oracle 10g已经全面提供了闪回功能,主要提供了快速简单恢复数据库误操作的数据的恢复方法,而不用从逻辑备份或物理备份中恢复过来。

如果多次commit数据后,那可不可以闪回呢?貌似不可以。闪回只能暂存最近一次的数据操作。
闪回执行步骤: 

  1.查询最近更新数据之前的数据(以便确定是不是Commit之前的数据)

select * from Test as of timestamp to_timestamp(“2021-12-08 08:00:00”, “yyyy-mm-dd hh24:mi:ss”);
  其中Test为被误操作的表,”2021-12-08 08:00:00″表示上次更新数据前的时间,

  2.闪回操作前启用行移动功能(不启用不可以闪回)

alter table Test enable row movement;
  其中Test表示被误操作的表 

  3.执行闪回语句:

flashback table Test to timestamp TO_TIMESTAMP(“20211208 15:10:00″,”YYYYMMDD HH24:MI:SS”);
  这样被误操作的数据就可以“找”回来了。哈哈~

 

注:方法来源于网络整理,请谨慎操作!!!修改数据前养成好习惯,手动备份下数据!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5640.html

(0)
上一篇 2023-04-30
下一篇 2023-05-01

相关推荐

  • 如何处理慢sql_方法论原则通常包括

    如何处理慢sql_方法论原则通常包括本文介绍了笔者实际工作中慢SQL治理的方法论,1、发现:如何发现慢SQL。2、定位:如何定位到慢SQL写在哪。3、分析:遇到慢SQL时的分析思路。4、解决:慢SQL的解决思路。

    2023-05-10
    142
  • 如何启动MongoDB

    如何启动MongoDBMongoDB是目前最流行的NoSQL数据库之一,它以高性能、高可用性和可伸缩性著称。

    2024-08-07
    30
  • web知识进阶——字符编解码「建议收藏」

    web知识进阶——字符编解码「建议收藏」因为中文的博大精深,以及早期文件编码的不统一,造成了现在可能碰到的文件编码有GB2312、GBk、GB18030、UTF-8、BIG5等。因为编解码的知识比较底层和冷门,一直以来我对这几个编码的认知也很肤浅,很多时候也会疑惑编码名到底是大写还是小写,英文和数字之间是不是需要加“…

    2023-03-02
    143
  • Navicat15 for Mysql激活教程「建议收藏」

    Navicat15 for Mysql激活教程「建议收藏」1、下载Navicat Premium Navicat15链接:http://www.navicat.com.cn/download/navicat-premium,选择相应版本,这里选择window

    2023-02-28
    149
  • sql漏洞注入工具_cve20201938漏洞

    sql漏洞注入工具_cve20201938漏洞
    CVE-2020-9402 Django GIS SQL注入漏洞 0x01.环境搭建 利用vulhub搭建漏洞环境 service docker start…

    2023-04-09
    168
  • redis 详解(4)持久化「建议收藏」

    redis 详解(4)持久化「建议收藏」定义 redis 所有数据保存在内存中,对数据更新将异步保存到磁盘 持久化的作用 方式 说明 快照 mysql dump,redis RDB 日志 mysql binlog,redis AOF,hb…

    2022-12-27
    142
  • MYSQL8.0 group by 无法执行问题

    MYSQL8.0 group by 无法执行问题1.查看:SELECT @@GLOBAL.sql_mode; #将前面ONLY_FULL_GROUP_BY删除 2.set global sql_mode=STRICT_TRANS_TABLES,N…

    2023-02-27
    163
  • 基于PyCharm的Python工程师技能培养

    基于PyCharm的Python工程师技能培养在当今的技术发展中,Python已经成为了非常重要的一门编程语言。同时,Python的灵活性、易学性、可读性等特点也使得它成为了广大编程爱好者和工程师的首选编程语言之一。而作为Python环境中的一款非常受欢迎的编辑器,PyCharm不仅有着强大的功能和工具,还能够帮助程序员更高效地编写代码、debug、协同工作等。因此,基于PyCharm的Python工程师技能培养也成为了大众关注的一个重要话题。

    2024-07-19
    38

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注