关于redo的几个小知识点

发布时间:2020-08-07 23:45:58 作者:531968912
来源:ITPUB博客 阅读:139

关于redo,可能不了解的小知识点,我也不知道是否总结的就对,不过先总结着吧。
1、主机掉电,会导致实例失败,在重启db时需要实例恢复。
2、在实例恢复时,oracle可以根据redo日志,将系统恢复到实例失败的那个时刻。
3、一般能用undo的情况也就是我们执行了rollback或者恢复时的回滚。
4、手动管理undo段是,需要我们手动建立或删除undo段,而自动管理undo时,oracle会自动创建或销毁undo段。
5、 在回滚时,oracle会将undo应用到数据块和索引块上,使数据块和索引块恢复。如果此时数据块和索引块已经被写到磁盘上了(大事务),那oracle会将这些块读入缓存,然后再应用undo回滚。
6、在回滚时,不需要redo,redo的读只是用在恢复和归档时。
7、commit的开销:
会增加与数据库间的通信。
commit会等待redo写磁盘,等待事件为log file sync。
8、当发生事务时,会在SGA中生成undo块、已经修改的块、生成对于前2项缓存的redo块。
9、每次commit,scn就会加1。
10、触发器对redo的影响
DML操作   AFTER         BEFOR      AFTER    BEFORE
 (10g 以前) (10g 以前) (10g)  (10g)
DELETE   不影响        不影响      不影响   不影响
INSERT   增加redo      增加redo    常量redo 常量redo
UPDATE   增加redo      不影响      增加redo 增加
11、当db是nologg模式的话,ddl几乎是不会被记录redo的。如果生产redo的话,也是为了保护更新数据字典而生成的。
12、我们可以对索引设置nologging模式,那如果在重建索引时,那岂不是就可以缩短时间啦。
13、insert时,临时表几乎不产生redo的,但会产生undo,而在产生undo时会产生undo相应的redo,所以说临时表只是会产生相当少的redo。而delete时,临时表和普通表产生的redo一样多,update时临时表产生的redo是普通表的一半。

推荐阅读:
  1. 需要了解的关于负载均衡的几个知识点
  2. PostgreSQL -- 性能优化的几个小tip

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

redo 关于 知识点

上一篇:服务器管理软件 vps批量管理

下一篇:一个带CheckBox的树形目录javascript的递归算法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》