专栏首页chenchenchenoracle更新不生效以及提交后回滚

oracle更新不生效以及提交后回滚

更新不生效,原因是未提交

使用PL-SQL操作oracle时,执行完更新语句update tab set name='a' where id='1';

结果显示1 row updated in 0.001 seconds,但是再次执行查询的时候,发现还是旧数据。

原因是执行完update语句后,没有执行提交语句。

可以执行COMMIT;进行提交,也可以点击commit图标进行提交,此时会显示Done in 0.001 seconds,即更新成功

提交后,如何"回滚"

  • execute执行后 可以回滚
  • commit提交后 闪回恢复原来的数据

其实Oracle提交数据是分两步操作的,第一步execute执行,第二步commit提交。对应的PL\SQL也是要先点execute执行,执行后再点commit提交。

但是 commit提交后 可以用闪回查询恢复原来的数据 因为oracle会将近期的数据保存到快照中 如:

SELECT * FROM tab AS OF TIMESTAMP TO_TIMESTAMP('20130506 20:00:00','YYYYMMDD HH24:MI:SS'); 

这里'20130506 20:00:00'就是你想恢复数据到哪个时间状态 tab是数据库的表名 这样查询到的数据就是执行更新操作之前的数据

执行下面语句就可以把这个时间段的数据放到了 tab_bak表中了

create table tab_bak as SELECT * FROM tab AS OF TIMESTAMP TO_TIMESTAMP('20130506 20:00:00','YYYYMMDD HH24:MI:SS'); 

再把表重命名 即可:

alter table tab_bak rename to tab; 

查询表的所属用户

 select owner from dba_tables where table_name=upper('表名'); 

创建一个和另一个表结构相同的空表

 create table  newtable as select * from oldtable where 1=0; 

如果不加where条件,创建的新表和旧表字段和数据都一样啦,相当于复制过来了。

参考:

oracle update语句commit:https://blog.csdn.net/whswlj/article/details/82856002

oracle更新数据,提交(commit)后,如何"回滚":https://blog.csdn.net/u013630932/article/details/77266354

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Oracle 回滚(ROLLBACK)和撤销(UNDO)

    Oracle使用数据库中的回滚段来实现未提交数据或因系统故障导致实例崩溃时进行回滚操作

    Leshami
  • 【DB笔试面试428】在Oracle中,实例恢复和介质恢复的区别是什么?

    Redo日志是Oracle为确保已经提交的事务不会丢失而建立的一种机制。实际上,Redo日志的存在是为两种场景准备的,一种称之为实例恢复(Instance Re...

    小麦苗DBA宝典
  • 高频错误:ORA-01555深入剖析

    黄玮(Fuyuncat) 资深Oracle DBA,个人网站www.HelloDBA.com,致力于数据库底层技术的研究,其作品获得广大同行的高度评价. ORA...

    数据和云
  • SQL基础-->数据库事务(TRANSACTION)

    数据库事务是指作为单个逻辑工作单元执行的一系列操作,可以认为事务就是一组不可分割的SQL语句

    Leshami
  • ORA-1555经典的错误

    应用的夜维从夜里00:00开始执行,但因为hang的原因(暂时猜测为夜维处理的某条数据和当前应用正常处理的某条数据相同,出现前后等待同一资源锁的现象),直到第二...

    bisal
  • Oracle-UNDO表空间解读

    UNDO 表空间用于存放UNDO数据,当执行DML操作(INSERT,UPDATE和DELETE)时,oracle会将这些操作的旧数据写入到UNDO段。

    小小工匠
  • Oracle数据库备份和恢复配置详解

    遇到的失败或错误分为两大类:物理和逻辑。物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一般在终端用户级别(数据库用户和管理员)。

    数据和云
  • 【OCP最新题库解析(052)--题60】Which three are true about UNDO data?

    注:OCP-052最新题库完整详细解答版请联系小麦苗私聊。解题不易,请大家尊重原创。

    小麦苗DBA宝典
  • Oracle压缩黑科技(二)—压缩数据的修改

    原文链接 https://www.red-gate.com/simple-talk/sql/oracle/compression-in-oracle-part-...

    沃趣科技
  • Oracle 实例恢复

    Oracle实例失败多为实例非一致性关闭所致,通常称为崩溃(crash)。实例失败的结果等同于shutdown abort。

    Leshami
  • PLSQL Developer几个可能的隐患

    PL/SQL Developer是一个集成开发环境,由Allround Automations公司开发,专门面向Oracle数据库。作为一款第三方工具,早就被...

    bisal
  • Oracle 的安装与基本操作

    在计算机信息安全领域中,数据库系统无疑有着举足轻重的地位。例如,微软的SQL server、IBM的DB2,以及甲骨文公司的Oracle、MySQL等,都是比较...

    小手冰凉
  • 那些被你忽略的性能 - Oracle Redo的产生场景及优化

    ? 冷菠 冷菠,资深DBA,著有《Oracle高性能自动化运维》,有近10年的数据库运维、团队管理以及培训经验。擅长数据库备份恢复、数据库性能诊断优化以及数据...

    数据和云
  • 那些被你忽略的性能 - Oracle Redo的产生场景及优化

    ? 冷菠 冷菠,资深DBA,著有《Oracle高性能自动化运维》,有近10年的数据库运维、团队管理以及培训经验。擅长数据库备份恢复、数据库性能诊断优化以及数据...

    数据和云
  • Oracle 常见故障及日常规划

    对任何数据库系统而言,对显而易见的故障,应当避免发生本文列出了Oracle常见的故障并给出了解决方案,同时列出了一些日常规划。

    Leshami
  • 每周精选:20万DBA都在关注的11个问题

    我们定期从墨天轮问答平台上用户遇到的问题中整理出一些常见问题和诊断总结,供大家参考学习,详细的诊断分析过程可以通过点击标题链接查看。

    数据和云
  • 【DB笔试面试529】在Oracle中,数据库块的结构有哪几个部分?

    操作系统块是操作系统读写的最小操作单元,也是操作系统文件的属性之一。当创建一个Oracle数据库时,选择一个基于操作系统块的整数倍大小作为Oracle数据库块的...

    小麦苗DBA宝典
  • 事务Transaction

    事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务由事务开始(begin transaction)和事务结束(...

    职场亮哥
  • 【DB笔试面试683】在Oracle中,什么是ORA-01555错误?

    在告警日志中记录的ORA-01555(snapshot too old,快照过旧)报错信息类似:

    小麦苗DBA宝典

扫码关注云+社区

领取腾讯云代金券