switch logfile是一种昂贵的操作,在进行日志切换的时候,是不允许生成新的redo信息

在前台进程生成redo日志信息的时候,此时redo buffer已经分配了空间,并且在当前的redo日志文件组中也必定能写入这些数据





在进行日志切换的时候,步骤如下:

1、LGWR根据control file里的信息找到当前可用的日志文件组

2、LGWR将redo log buffer中的信息写入到当前的redo日志文件组中,并且产生一个SCN作为当前日志组的高位SCN

3、初始化可用的日志文件组,将老的日志文件组的状态设置为active,将可用的日志文件组的状态设置为current

4、将active的日志文件组进行归档,如果归档进程都在忙碌的话,那么在不超过归档进程最大数的情况下,产生新的归档进程来进行归档

5、发生一次checkpoint,将脏数据写入磁盘,当脏数据都写入磁盘之后,旧日志文件组的状态修改为inactive





事物的提交和回滚

一万条事物的提交和一条数据的提交速度基本上是相同的

而一万条事物的回滚和一条数据的回滚速度是相差很大的,一万条事物的回滚会持续很长的时间





如何减少switch logfile的次数

1、减少redo日志的产生量

2、加大redo日志文件组的大小





如何减少redo日志的产生量

使用nologging的操作,例如bulk操作、direct path write,在归档模式下,可以大大的减少日志的产生量





使用shutdown abort操作的时候

1、多使用几次alter system checkpoint

2、杀掉所有的LOCAL=YES和LOCAL=NO的进程

ps -ef|grep "LOCAL=NO" |awk '{print "kill -9 " $2}'|sh

3、使用shutdown abort(SMON进程结束了事务层面的回退操作,关闭了cache层面的恢复,也就是SMON已经开始进行临时段的的回收工作,此时就可以关闭数据库)





关于redo日志优化的建议

1、redo日志文件的大小

2、redo日志文件组的数量

3、redo日志文件的镜像数量

4、redo日志存储的性能

5、redo log buffer的大小

最新文章

  1. Django学习笔记之二
  2. 【网摘】CURL常用命令
  3. 给pcm格式文件加wav文件头
  4. java在目录中过滤文件
  5. highcharts 显示点值的效果
  6. 未能加载文件或程序集“Interop.jmail”或它的某一个依赖项
  7. linux系统日常管理
  8. ionic移动开发入门
  9. Android四大组件——Activity
  10. 2018-01-05-医药行业的IT革命探讨
  11. MySql配置优化总结
  12. Precision 7520双硬盘无法识别固态硬盘
  13. hdu-5009 Paint Pearls DP+双向链表 with Map实现去重优化
  14. 训练题(代码未检验)(序列前k大和问题)
  15. python selenium 三种等待方式详解[转]
  16. Smart/400开发上手5: Cobol开发标准
  17. Python学习系列之(一)---Python的安装
  18. Java.lang的研究(分析包含的重要类和接口)
  19. 一个IP可以登几个拼多多后台 拼多多如何推广营销
  20. jQuery方法一览

热门文章

  1. linux内核--进程与线程
  2. python3.0与2.x之间的区别
  3. ios开发--高德地图SDK使用简介
  4. 如何在React中使用CSS3动画
  5. PowerDesigner模型设计
  6. 对原生态jdbc程序中问题总结
  7. Haxe数据类型
  8. C++ STL之vector容器的基本操作
  9. hdu 4970 Killing Monsters (思维 暴力)
  10. 如何解决:ERROR: the user data image is used by another emulator. aborting 的问题