关于redo的几个小知识点-创新互联

关于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是普通表的一半。

当前文章:关于redo的几个小知识点-创新互联
URL标题:https://www.cdcxhl.com/article12/dsdhdc.html

成都网站建设公司_创新互联,为您提供用户体验网站营销网站排名网站导航微信小程序手机网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化