oracle后台进程
后台进程用来执行保证数据库运行所需的实际维护任务。如:某个后台进程维护缓冲区缓存,根据需要将块写出到数据文件.
另个进程负责在线重做日志文件写满时将它自己复制到一个归档目标.
可以通过查询v$bgprocess视图看服务器当前后台进程
- SQL> select paddr,name,description from v$bgprocess where paddr!='00';
- PADDR NAME DESCRIPTION
- ---------------- ----- ----------------------------------------------------------------
- 00000001EB1F5920 PMON process cleanup
- 00000001EC226B30 VKTM Virtual Keeper of TiMe process
- 00000001EB1F69A0 GEN0 generic0
- 00000001F0269448 DIAG diagnosibility process
- 00000001EC227BB0 DBRM DataBase Resource Manager
- 00000001EB2137A0 VKRM Virtual sKeduler for Resource Manager
- 00000001F02683C8 PSP0 process spawner 0
- 00000001EB1F7A20 DIA0 diagnosibility process 0
- 00000001F026A4C8 MMAN Memory Manager
- 00000001EC228C30 DBW0 db writer process 0
- 00000001EB1F8AA0 DBW1 db writer process 1
- 00000001EB1FFE20 ARC0 Archival Process 0
- 00000001F02728C8 ARC1 Archival Process 1
- 00000001EC231030 ARC2 Archival Process 2
- 00000001EB200EA0 ARC3 Archival Process 3
- 00000001F026B548 LGWR Redo etc.
- 00000001EC229CB0 CKPT checkpoint
- 00000001EB1F9B20 SMON System Monitor Process
- 00000001EB1FCCA0 SMCO Space Manager Process
- 00000001F026C5C8 RECO distributed recovery
- PADDR NAME DESCRIPTION
- ---------------- ----- ----------------------------------------------------------------
- 00000001EB201F20 CJQ0 Job Queue Coordinator
- 00000001F0273948 QMNC AQ Coordinator
- 00000001EC22AD30 MMON Manageability Monitor Process
- 00000001EB1FABA0 MMNL Manageability Monitor Process 2
根据版本的不同,后台进程数、名称、类型等都可能不同.
中心后台进程:
PMON(进程监视器):负责在出现异常中止的连接后完成清理.PMON还会向oracle TNS监听器注册通信,向它传递相关的参数.
SMON(系统监视器):完成所有的系统级任务.包括以下内容:
清理临时空间,合并空闲空间,针对原来不可用的文件恢复活动的事务,执行RAC中失败节点的实例恢复,清理OBJ$,收缩回滚段,‘离线’回滚段.
RECO(分布式数据库恢复):基于2PC分布式协议,允许多个不同的修改实现原子提交,但是在真正提交前,出现网络失败等错误,事务成为一个可疑的分布式事务.此时
就需要RECO来负责联系事务协调器来发现协调的结果。在这之前事务会保持未提交状态.当恢复网络或者错误解决后,RECO可能会提交事务,也可能将事务回滚.
注:可疑分布式事务会导致写阻塞读的情况,即可疑分布式事务不能存在太长时间,DBA可自行手动提交或回滚.
CKPT(检查点进程):建立检查点主要是DBWn的任务.CKPT主要是更新数据文件的文件首部,从而辅助真正的建立检查点的进程.
DBWn(数据库块写入器):负责将脏块(修改过的块)写入磁盘的后台进程,它会写出缓冲区缓存的脏块,从而释放相应的空间.可以配置多个DBWn(上面有2个DBW0和DBW1),
最好的情况是DBWn使用异步I/O将块写入磁盘.采用异步I/O,DBWn会收集要写入的块,交给操作系统,然后立即返回,并收集下一批要写的块,操作系统完成写文件操作之后,它会异步地通知DBWn.
LGWR(日志写入器):它负责将SGA中重做日志缓冲区的内容刷新输出到磁盘.一般在下面几个情况时候,LGWR就会执行刷新操作:
1.每隔3秒会自动刷新一次
2.任何事务发出一个提交时
3.重做日志缓冲区1/3满,或者包含1MB的缓冲数据的时候.
ARCn(归档进程):当LGWR将在线重做日志写满时,归档进程就将其复制到另一个位置.ARCn一般将在线重做日志至少复制到两个位置.一般用于硬盘等介质损坏时数据库的恢复.
DIAG(诊断性进程):它会负责监视实例的整体状况,捕获处理实例失败时所需的信息并记录.
FBDA(闪回数据归档进程):此进程为oracle 11g r1版本新增进程.主要用于闪回数据,它主要维护随时间对表中每行所做的改变,而实现历史数据查询.它将读取事务生成的UNDO,并回滚事务做出的改变,然后将回滚的这些行记录保存在闪回数据归档中.
DBRM(数据库资源管理器进程):为数据库实例配置资源计划.
GEN0(通用任务执行进程):主要是分担另外某个进程的阻塞处理。
可选后台进程:
ASMB(自动存储管理后台):该进程出现在ASM的数据库实例中.它负责与管理存储的ASM实例通信,向ASM实例提供更新的统计信息,并向ASM实例提供一个"心跳".
RBAL(重新平衡进程):该进程也在使用了ASM的数据库实例中运行,向ASM磁盘组增加或去除磁盘时,它负责处理平衡请求,也就是重新分布负载请求.
RAC环境后台进程:
LMON(锁监视器):监视集群中的所有实例,检测实例是否有失败.在实例离开或重新加入集群时重新配置锁和其他资源。
LMD(锁管理器守护进程):它为全局缓存服务(保持块缓冲区在实例间一致)处理锁管理器服务请求.
LMSn(锁管理器服务器进程):主要维持SGA块缓冲区缓存在各个RAC实例间相互保持一致.
LOCK(锁进程):与LMD相似,但它处理所有全局资源的请求.
工具后台进程
CJQO和Jnnn(作业队列进程):oracle通过一种称为快照的数据库对象来提供复制特性,作业队列就是刷新快照时使用的内部机制.
QMNC和Qnnn(高级队列进程):QMNC会监视高级队列.并告诉从队列中删除等待消息的"出队进程":已经有一个消息变为可用.它们还要负责队列传播.
EMNC(事件监视器进程):它是AQ体系结构中的一部分,用于通知对某些消息感兴趣的队列.
DMnn和DWnn(数据泵主进程/工作进程):数据泵是oracle 10g r1中新增的特性,主要用来替代EXP/IMP。
其他后台进程
PSPO(进程生成器进程):它主要负责生成各个后台进程.
VKTM(虚拟时间管理器进程):为oracle实例实现一个一致的、细粒度的时钟.
SMCO(空间管理协调器进程):协调数据库的主动空间管理。
相关推荐
Oracle 12c 内部架构与后台进程详解 Oracle 12c 是一款功能强大且复杂的关系数据库管理系统,了解其内部架构和后台进程是 DBA 的必备知识。本文将详细介绍 Oracle 12c 的后台进程和内存结构图,帮助读者深入了解 ...
后台进程是Oracle实例的重要组件,它们在后台默默地执行维护任务,以优化系统性能和确保数据一致性。以下是一些关键的后台进程: 1. DBWR(数据库写入程序):负责将缓冲区中的修改写回数据文件。当缓冲区被修改后...
Oracle进程结构及后台进程简介简单介绍Oracle进程一些概念。
### Oracle后台进程详解 Oracle数据库系统的高效运行离不开一系列精心设计的后台进程,这些进程负责处理各种关键任务,如数据管理、日志维护、系统监控等。以下是对几个核心Oracle后台进程的深入解析: #### ...
Oracle数据库后台进程是数据库系统正常运行的关键组成部分,它们在后台默默地执行各种任务,确保数据库的稳定性和高效性。本文主要探讨了Oracle数据库的两个关键后台进程:DBWR(Database Writer)和LGWR(Log ...
### Oracle后台进程详解 Oracle数据库系统中包含了多种后台进程,这些进程在数据库启动时自动启动,并负责执行各种关键任务,确保数据库的正常运行。本文将详细介绍Oracle后台进程中几个重要的进程的功能与作用。 ...
### Oracle数据库后台进程功能解析——DBWR进程 #### 一、引言 Oracle数据库作为业界广泛使用的数据库管理系统之一,其内部包含多个复杂且高效的后台进程,以确保数据的一致性与完整性。其中,DBWR(Database ...
Oracle 体系结构和后台进程详解 ,来自官方的文档,很好
4. **Oracle架构**:Oracle数据库的架构包括服务器进程、后台进程、内存结构和磁盘结构。服务器进程处理用户请求,后台进程负责数据库的维护和管理,如日志写入、检查点等。内存结构主要包括System Global Area (SGA...
单进程ORACLE(又称单用ORACLE)是一种数据库系统,一个进程执行全部ORACLE代码。多进程ORACLE实例(又称多用户ORACLE)使用多个进程来执行ORACLE的不同部分 ,对于每...ORACLE进程又分为两类:服务器进程和后台进程。
ORACLE内存管理和后台进程.pdf
- 而在Windows系统中,一个Oracle后台进程则是在某个进程内部执行的一个线程。 代码模块是由进程来运行的。对于所有连接到Oracle数据库的用户而言,他们需要运行以下两个关键模块来访问数据库实例: 1. **应用程序...
在Oracle数据库中,实现后台自动执行的定时操作是一项关键技能,尤其对于那些需要定期执行的任务,比如数据备份、数据清理、统计报告生成等。本文将深入探讨如何在Oracle中通过JOB队列机制来实现这样的定时任务,...
5. **后台进程**:Oracle的后台进程负责数据库的诸多操作,如数据写入、缓存管理、日志写入和故障恢复等。这些进程协同工作,确保数据库的稳定运行。 6. **外部结构**:外部结构包括数据库链接,允许跨数据库的数据...
此外,调度程序进程(Dnnn)和服务进程协调用户请求的处理,而可选的后台进程如作业队列进程(CJQn)和队列监视进程(QMNn)则根据特定功能的需求启动。 在配置Oracle数据库时,可以通过调整如DB_WRITER_PROCESSES...
服务器进程 专用服务器连接 共享服务器连接 连接与会话 专用服务器与共享服务器 后台进程 中心后台进程 工具后台进程
8. **课程设计实训**:这个项目适合用作教学示例,因为它覆盖了Web开发的基础技术,并且具有完整的前后台功能。学生可以通过分析和修改代码,加深对JSP、Servlet和数据库操作的理解。 总的来说,这个网上书店项目是...
Oracle PROC,全称为Pro*C,是Oracle公司提供的一种预编译器,用于将C语言与PL/SQL结合,便于在C程序中嵌入对Oracle数据库的访问。PROC程序设计是Oracle数据库开发的重要组成部分,尤其在处理大量数据或者需要高性能...
Oracle数据库实例是由内存结构和后台进程两部分组成的,这些后台进程在实例启动时启动,而在实例关闭时停止。这些进程各自承担着不同的职责,共同维护数据库的稳定运行。以下是主要的后台进程及其功能: 1. 系统...