当前位置: 代码网 > it编程>数据库>Oracle > oracle进程

oracle进程

2024年06月09日 Oracle 我要评论
每个oracle进程都有自己的任务,oracle会给进程分配内存(PGA)让进程更好的完成任务。oracle进程可以分为三类:服务器进程,后台进程,从属进程。 1 服务器进程 服务器进程是执行客户端会话指令的进程。负责将客户端的指令发送到oracle服务端执行,然后将服务端的结果返回给客户端。可分为 ...

每个oracle进程都有自己的任务,oracle会给进程分配内存(pga)让进程更好的完成任务。oracle进程可以分为三类:服务器进程,后台进程,从属进程。

1 服务器进程

服务器进程是执行客户端会话指令的进程。负责将客户端的指令发送到oracle服务端执行,然后将服务端的结果返回给客户端。可分为专用服务器进程和共享服务器进程。

1.1 专用服务器进程

当数据库的连接方式设为专用服务器连接,用户在登录oracle数据库时,数据库会创建专用服务进程服务用户的请求。在整个用户的登录会话周期内,专门为这个用户服务。每个用户都有自己的服务器进程。

1.2 共享服务器进程

当数据库的连接方式设为共享服务器连接,用户在登录oracle数据库时,数据库会使用共享服务进程服务用户的请求。用户的请求会放在一个请求队列中,当数据库有空闲的共享服务器进程时,这个共享服务器进程就会处理用户的请求,处理完成后会将处理结果放在响应队列中,当处理结果出列后就返回给用户。

2 后台进程

后台进程可以通过v$bgprocess视图查看,名字都是以ora_开头,以实例名结束,中间是进程自身名称。

2.1 pmon:进程监视器

负责在连接出现异常中止后进行清理工作。例如,一个专用服务器“失败”或者出于某种原因被结束掉,就要由pmon进程负责善后(恢复或撤销工作),并释放资源。pmon会回滚未提交的工作,释放锁,并释放之前为失败进程分配的sga资源。

2.2 lreg:监听注册进程

lreg进程负责将数据库实例和服务注册到监听器中

2.3 smon:系统监视器

smon进程用来做所有“系统级”的任务。

  • 清理临时表空间
  • 维护v$obj字典
  • 管理undo
  • 帮助实例恢复

2.5 ckpt:检查点进程

检查点触发后,当dbwn把对应的脏块写入磁盘后,ckpt更新数据文件以及控制文件的检查点。

2.6 dbwn:数据库块写入器

负责将脏块(修改过的块)写入磁盘的后台进程。

2.7 lgwr:日志写入器

lgwr进程负责将sga中重做日志缓冲区的内容刷新输出到磁盘。如果满足以下条件之一时,就会做这个工作:

  • 每过3秒;
  • 一个提交或回滚发起时;
  • lgwr被告知进行日志文件切换时;
  • 重做日志缓冲区1/3满,或者已经包含1 mb的缓冲数据。

2.8 arcn:归档进程

当一个在线重做日志文件填满时,arcn就将其复制到另一个位置。

3 从属进程

oracle中有两类从属进程:i/o从属进程和并行査询从属进程。

3.1 i/o从属进程

i/o从属进程用于在不支持异步i/o的系统或设备上模拟异步i/o,dbwn和lgwr可以利用i/o从属进程来模拟异步i/o

3.2 pnnn:并行查询执行服务器

使用并行查询功能时,会使用到pnnn。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com