Oracle 体系结构之进程结构详解(客户进程、服务器进程、后台进程)

1 概述

进程结构
用户进程 User Process
仅登录 Oracle,如工具:pl/sql
让程序跑起来
服务器进程 Server Process
与 Oracle 进行交互
后台进程 Backgroup Processes
5 个必须启动,重点

2 体系结构图示

在这里插入图片描述

扩展:Oracle 体系结构详解

3 后台进程(5 个必须启动)

-- 查询所有进程
select t.spid,
       t.pid,
       t.program
  from v$process t
 order by t.spid;

3.1 系统监控器 SMON

-- 系统监控器 SMON(system  monitoring)
1. 目的:检查数据库的一致性
        如有必要还会在数据库打开时启动数据库的恢复
   (1) 恢复实例和事务
   (2) 清理临时段,以释放空间

2. 触发条件
   (1) 定期被唤醒 或 被其他事务主动唤醒

3.2 进程监控器 PMON

-- PMON(process monitoring)
1. 目的:负责在一个 Oracle 进程失败时清理资源
   (1) 发现用户进程异常终止,并进行清理
   (2) 向监听程序动态的注册实例

2. 触发条件
   (1) 定期被唤醒 或 被其他事务主动唤醒
   (2) alter system kill session;
   (3) 默认 0.5 秒(1= 100 厘秒)

3.3 数据库写进程 DBWR

1. 目的:负责将更改的数据从'数据库高速缓冲区'写入'数据文件'
   (1) database buffer cache  ->   data file
   (2) 最近最少使用算法(LRU)
   (3) 可配置多个,如:DBWR1 ~ DBWR9
   
2. 触发条件
   (1) 系统中没有多余的 '缓冲区' 来存放数据
   (2) 检查点进程(CKPT)触发 DBWR

3.4 日志写进程 LGWR

1. 目的:负责把日志数据写到联机日志文件
   (1) 数据库中所有 dml(insertupdatedelete)都会生成日志
   (2) 上述日志最初保存在 Redo Log Buffer 中
   (3) 在某个时刻由 LGWR 进程写入磁盘的联机日志文件中 
   
2. 触发条件
   (1) 用户提交(发出 commit 指令)
   (2)3 秒定时唤醒
   (3) 使用的 Log Buffer 超过了配置的 1/3(4) 使用的 Log Buffer 中的日志数量超过 1MB 时
   (5) 由 DBWR 进程触发

3.5 检查点进程 CKPT

1. 目的:负责检查点操作
   (1) 数据库状态的一致性(数据文件的内容 和 SGA 中的内容完全一致)
   (2) 记录 系统变更时间 SCN(System Change Number)

2. 触发条件
   (1) 日志切换(log switch)

在这里插入图片描述

日志切换图示:不同组之间相互切换
在这里插入图片描述

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼丸丶粗面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值