Oracle Windows进程说明

本文解析了Oracle数据库在Windows和Linux下的各种关键进程,如归档进程ARCn、job执行进程J000、分布式事务恢复进程RECO等,阐述了它们的功能和触发条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle 安装在Windows操作系统下会各种进程,Linux进程编码同windows版。本文简单介绍各进程的作用及产生的条件。

 

进程查询语句:

select program from v$session where program like 'ORACLE.EXE%';

 

进程查询结果:

ORACLE.EXE (q001)

ORACLE.EXE (q000)

高级队列进程:使消息入队和出队。

 

ORACLE.EXE (QMNC)

高级队列协调器:监视数据库中的队列,分配以上提到的Qnnn进程使消息入队和出队。

 

ORACLE.EXE (ARC1)

ORACLE.EXE (ARC0)

(1)归档进程,当数据库处于归档模式时(archive mode), ARCn 负责将 online redo file归档到目标存储位置,用于数据库的恢复,当在线日志切换时,会触发 ARCn 进程将在线日志文件归档。

(2)ARCn 进程在 data guard 下,负责将日志向 standby  服务器发送。

 

ORACLE.EXE (J000)

job 具体执行进程,接受 CJQ0 分发的 job 任务。

 

ORACLE.EXE (CJQ0)

job 任务协调进程,负责数据库中 JOB 的自动执行。

 

ORACLE.EXE (RECO)

分布式事务的恢复进程。

 

ORACLE.EXE (MMNL)

是MMON的辅助进程,收集活动会话的历史采样。

 

ORACLE.EXE (MMON)

可管理型监视器:收集有关活动和性能的统计数据,用于自我监视和调整。

 

ORACLE.EXE (SMON)

(1)数据库启动时的实例恢复,在 RAC 环境下,一个节点的 SMON 可以对另外一个节点做实例恢复。

(2)清理和释放临时段上的数据(排序,临时表等)

(3)对于 DMT( 字典管理表空间) ,SMON 可以合并连续空闲的 extent.

(4)维护回滚段的 online,offline 以及空间的回收。

 

ORACLE.EXE (CKPT)

(1)checkpoint 的目的:

     – 减少数据库实例恢复的时间

     – 让内存中的脏数据及时的写到磁盘上。

     – 在安全关闭数据库时,保证所有提交的数据被写到磁盘上。

(2)checkpoint 的触发

     – database checkpoint

        Consistent database shutdown

        ALTER SYSTEM CHECKPOINT statement

        Online redo log switch

        ALTER DATABASE BEGIN BACKUP statement

     – Tablespace and data file checkpoints

        tablespace  read only 

        tablespace   offline normal

        shrinking a data file

        alter tablespace begin backup

     – Incremental checkpoints

(3)CKPT 进程通知 DBWn 进程开始将内存(buffer cache) 中的脏数据写到磁盘的文件上。 CKPT 负责更新文件头和控制文件的信息。

 

ORACLE.EXE (LGWR)

(1)LGWR 负责将 log buffer 中的数据顺序的写到磁盘上的 online redo file, 由于是顺序的写入,效率要比 DBWn 高很多。

(2)LGWR 触发条件

    – 用户提交事务 (commit)

    – 日志切换

    – 最后一次提交经过了 3 秒。

    – redo log buffer 容量达到 1/3 或者达到 1M 的 redo 数据。

    – DBWn 进程在把脏数据写入磁盘之前,必须保证这些脏数据对应的日志信息已经被写入磁盘,

(3)如果发现脏数据的日志信息没有吸入磁盘, DBWn 通知 LGWR 进程写日志信息,完成后继续将脏数据写入磁盘。

 

ORACLE.EXE (DBW0)

(1)负责将 buffer cache 中脏数据(修改过的数据)块写到磁盘上,由于数据块在磁盘上的位置不连续,这个过程会比 LGWR 比较耗时。

(2)DBWn 触发条件

     – 当 server process 无法在 buffer cache 中无法找到可用的 buffer 时。

     – DBWn 接到 checkpoint 的指令,将脏数据写到磁盘上。

(3)可以通过设置多个 DBWn 进程加快脏数据写入磁盘的速度

     –  DB_WRITER_PROCESSES

 

ORACLE.EXE (MMAN)

内存管理进程,主要负责内存的动态管理,分配和收回。

 

ORACLE.EXE (PSP0)

进程生成器:主要负责创建和管理其它Oracle进程。

 

ORACLE.EXE (PMON)

进程监督进程,主要用来负责如下清理工作:

(1)进程异常终止

(2)会话被杀掉

(3)事务超过空闲时间

(4)网络连接超时

(5)将实例信息注册到监听器上

(6)回滚未提交的事务,释放事务相关的资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值