zoukankan      html  css  js  c++  java
  • Oracle 的安全保障 commit &checkpoint

     Oracle 的安全 commit &checkpoint

     

    1. commit ---lgwr
      1. 事务相关的操作,保证事务的安全。
      2. commit标志着事务的结束.意味着别人对你事务操作的结果可见.
      3. commit后数据可能在内存里,也可能在磁盘里,
      4. commit后没有机会回滚了,除非恢复数据.
      5. 标识着用户的决定,数据的生效.
      6. commit后,这条记录产生的redo重做日志是放在log buffer内存里面的,oracle会让log bufferredo重做日志写到磁盘上,commit才会返回提交完成.
      7. 数据修改完是由redo保护.
      8. redo是顺序的在redo文件上写的,非常快.而数据块写到磁盘中,需要先去磁盘找数据文件所在位置,很慢.
    • 数据的回滚

    SQL> rollback;

     

    回滚的过程就是从回滚段里拿到刚刚执行的这条语句产生的回滚,然后应用到以前的数据块上.

    回滚的前提是没有commit.一旦提交了,就不能回滚了.

     

    如果网络中断,会话中断,oracle会强制回滚

     

    1. checkpoint -- dbwr
      1. 数据相关的操作,保证数据的安全。
      2. 把修改了的数据写在磁盘上(包括修改完,提交、修改完,未提交)
      3. 执行这条语句后,就会将所有的脏数据写入磁盘.
      4. 脏数据越来越多,会占用位置,checkpoint是为了保证空间
      5. 减少恢复时间.

    SQL> alter system checkpoint;

     

    System altered.

  • 相关阅读:
    构建之法阅读笔记2
    2020.2.10
    2020.2.9
    2020.2.8
    2020.2.7
    2020.2.6
    2020.2.5
    学习进度——第十三周
    PHPStorm+XAMPP开发php项目
    第一阶段成果建议
  • 原文地址:https://www.cnblogs.com/thescentedpath/p/oraclecommit.html
Copyright © 2011-2022 走看看