• 【基础】后台进程


    checkpoint: 当检查点事件发生时,所对应的scn,用于作为redo log recover 的起点和保证数据库一致性。
    scn: system change number :记录事务发生的先后顺序(Oracle的内部时钟,通过一个数字表示)

    dbwr:1、从数据文件读数据块到data buffer、写脏块  2、释放data buffer空间  3、写入datafile 时是无序的,写入速度较慢

    ------通过 db_write_processes 决定dbw的进程数,最多可以有20个进程。

    触发条件:
    1、生成检查点时,dbwr写脏块,并释放db cache 空间(如正常关库,手工生成检查点、日志切换等)
    2、当db cache 没有空间的时候
    3、表空间脱机、设置只读模式、热备份
    4、删除或truncate table

    lgwr:写日志条目到redo logfile (必须在dbwr写脏块之前写入日志),按顺序写日志条目到redo logfile。
    触发条件:
    1、commit transaction
    2、buffer 空间1/3 满
    3、日志条目达到1M的时候
    4、每过3s 写一次
    5、在dbwr 写脏块之前会写日志
    --------建议: 日志文件和数据库文件分开存放在不同磁盘上,日志文件存放到磁盘I/O 最快的磁盘上(比如用raid 1+0)

    smon :监控instance的启动,当instance 非正常关闭时,再次启动时做instance recover(实例的恢复);如果正常关闭,启动instance,不需做任何操作。
    正常关闭实例:触发检查点事件:
    instance recovery
    1)写脏块 2)写redo log 3)未提交事务回滚 4)在控制文件、数据文件头部、redo log 记录检查点
    未正常关闭实例:不生成检查点
    打开实例时:
    smon:

    1) roll forward :利用redo 把日志已经写入redo file ,而未写入datafile的丢失的脏块进行重做(redo)
    2) open
    3) roll back :通过undo segment 将未提交的事务进行回滚
    pmon :process monitor(监控session)
    1、如果session 非正常结束,pmon 会清理session所占用的pga、在table 上的lock ,回滚未完成的事务等
    2、oracle 里面的‘清洁工’

    ckpt:生成检查点
    1、当检查点时间发生时,通知dbwr 写脏块
    2、并且在数据文件头部和 控制文件中 记下一个统一的检查点,保持数据库的一致性

    arcn :归档模式下,日志切换时,备份历史日志。

  • 相关阅读:
    ASP.NET 后台弹出确认提示问题
    stretchableImageWithLeftCapWidth 自动适应UITableView
    UIBotton UIlabel Ios 下拉框
    cellForRowAtIndexPath UITableViewCell 选中后的背景颜色设置
    iOS 获得键盘的高度 NSNotificationCenter
    UIlabel 最小字体设置。
    NSMutableDictionary 与 NSMutableArray注意的地方
    iOS 背景图片。按钮高亮自定义背景
    iOS 判断当前输入法。UITextInputMode
    AudioServicesPlaySystemSound 系统声音提示 iOS iPad
  • 原文地址:https://www.cnblogs.com/tomatoes-/p/6599632.html
Copyright © 2020-2023  润新知