天天看点

Oracle后台进程及其作用简介 Oracle后台进程及其作用简介

This background process is available starting with Oracle Database 11g Release 2 (11.2.0.2).

describes Oracle Database background processes. In this context, a background process is defined as any process that is listed in V$PROCESS and has a non-null value in the pname column.

The External Properties column lists the type of instance in which the process runs. If the process is specific to a particular feature, then the column names the feature.

Name

Expanded Name

Short Description

Long Description

External Properties

version

ABMR

Auto BMR Background Process

Coordinates execution of tasks such as filtering duplicate block media recovery requests and performing flood control

When a process submits a block media recovery request to ABMR, it dynamically spawns slave processes (BMRn) to perform the recovery. ABMR and BMRn terminate after being idle for a long time.

Database instance

<a href="../../backup.112/e10642/rcmblock.htm">See Also: Oracle Database Backup and Recovery User's Guide</a>

ACFS

ASM Cluster File System CSS Process 

Tracks the cluster membership in CSS and informs the file system driver of membership changes

ACFS delivers CSS membership changes to the Oracle cluster file system. These membership changes are required for the file system to maintain file system consistency within the cluster.

ASM instance, Oracle RAC

ACMS

Atomic Control File to Memory Service Process 内存服务器原子控制文件

Coordinates consistent updates to a control file resource with its SGA counterpart on all instances in an Oracle RAC environment

The ACMS process works with a coordinating caller to ensure that an operation is executed on every instance in Oracle RAC despite failures. ACMS is the process in which a distributed operation is called. As a result, this process can exhibit a variety of behaviors. In general, ACMS is limited to small, nonblocking state changes for a limited set of cross-instance operations.仅适用于 RAC 实例中。执行分布式 SGA 更新时,ACMS 可确保在所有实例上发生更新。如果某个实例上的更新失败,此进程也会在所有实例上回滚更新。可将 ACMS 视为两阶段提交协调器进程,用于 RAC 集群中的 SGA 更新。

Database instance, Oracle RAC

APnn

Logical Standby / Streams Apply Process Coordinator Process

Obtains transactions from the reader server and passes them to apply servers

The coordinator process name is APnn, where nn can include letters and numbers.

Database instance, Data Guard, Oracle Streams

<a href="../../server.112/e17069/strms_apply.htm">See Also: Oracle Streams Concepts and Administration</a>

ARBn

ASM Rebalance Process

Rebalances data extents within an ASM disk group

Possible processes are ARB0-ARB9 and ARBA.

ASM instance

ARCn

Archiver Process

Copies the redo log files to archival storage when they are full or an online redo log switch occurs

ARCn processes exist only when the database is in ARCHIVELOG mode and automatic archiving is enabled, in which case ARCn automatically archives online redo log files. LGWR cannot reuse and overwrite an online redo log group until it has been archived.

The database starts multiple archiver processes as needed to ensure that the archiving of filled online redo logs does not fall behind. Possible processes include ARC0-ARC9 and ARCa-ARCt.

The LOG_ARCHIVE_MAX_PROCESSES initialization parameter specifies the number of ARCn processes that the database initially invokes.

See Also: Oracle Database Concepts and Oracle Database Administrator's Guide

ASMB

ASM Background Process

Communicates with the ASM instance, managing storage and providing statistics

ASMB runs in ASM instances when the ASMCMD cp command runs or when the database instance first starts if the server parameter file is stored in ASM. ASMB also runs with Oracle Cluster Registry on ASM.

Database and ASM instances

ASnn

Logical Standby / Streams Apply Process Reader Server or Apply Server

Computes dependencies between logical change records (LCRs) and assembles messages into transactions (Reader Server)

When the reader server finishes computing dependencies between LCRs and assembling transactions, it returns the assembled transactions to the coordinator process. Query V$STREAMS_APPLY_READER for information about the reader server background process.

Applies LCRs to database objects or passes LCRs and user messages to their appropriate apply handlers (Apply Server)

An apply server receives the transactions from the coordinator background process, and either applies database changes in LCRs or sends LCRs or messages to apply handlers. Apply servers can also enqueue a queue. If an apply server encounters an error, then it then tries to resolve the error with a user-specified conflict handler or error handler. If an apply server cannot resolve an error, then it rolls back the transaction and places the entire transaction, including all of its messages, in the error queue. When an apply server commits a completed transaction, this transaction has been applied. When an apply server places a transaction in the error queue and commits, this transaction also has been applied. Query V$STREAMS_APPLY_SERVER for information about the apply server background process.

The coordinator process name is ASnn, where nn can include letters and numbers.

BMRn

Automatic Block Media Recovery Slave Pool Process

Fetches blocks from a real-time readable standby database

When a process submits a block media recovery request to ABMR, it dynamically spawns slave processes (BMRn) to perform the recovery. BMRn processes fetch blocks from a real-time readable standby database. ABMR and BMRn terminate after being idle for a long time.

Bnnn

ASM Blocking Slave Process for GMON

Performs maintenance actions on ASM disk groups

Bnnn performs actions that require waiting for resources on behalf of GMON. GMON must be highly available and cannot wait.

A Bnnn slave is spawned when a disk is taken offline in an ASM disk group. Offline timer processing and drop of the disk are performed in this slave. Up to five process (B000 to B004) can exist depending on the load.

CJQ0

Job Queue Coordinator Process

Selects jobs that need to be run from the data dictionary and spawns job queue slave processes (Jnnn) to run the jobs

CJQ0 is automatically started and stopped as needed by Oracle Scheduler.

The JOB_QUEUE_PROCESSES initialization parameter specifies the maximum number of processes that can be created for the execution of jobs. CJQ0 starts only as many job queue processes as required by the number of jobs to run and available resources.

CKPT

Checkpoint Process

Signals DBWn at checkpoints and updates all the data files and control files of the database to indicate the most recent checkpoint

At specific times CKPT starts a checkpoint request by messaging DBWn to begin writing dirty buffers. On completion of individual checkpoint requests, CKPT updates data file headers and control files to record most recent checkpoint.

<a href="../../server.112/e40540/process.htm">See Also: Oracle Database Concepts</a>

CPnn

Streams Capture Process

Captures database changes from the redo log by using the infrastructure of LogMiner

The capture process name is CPnn, where nn can include letters and numbers. The underlying LogMiner process name is MSnn, where nn can include letters and numbers. The capture process includes one reader server that reads the redo log and divides it into regions, one or more preparer servers that scan the redo log, and one builder server that merges redo records from the preparer servers. Each reader server, preparer server, and builder server is a process. Query the V$STREAMS_CAPTURE view for information about this background process.

Database instance, Oracle Streams

<a href="../../server.112/e17069/strms_capture.htm">See Also: Oracle Streams Concepts and Administration</a>

CSnn

I/O Calibration Process

Issues I/Os to storage as part of storage calibration.

CSnn slave processes are started on execution of the DBMS_RESOURCE_MANAGER.CALIBRATE_IO() procedure. There is one slave process per CPU on each node of the database.

CTWR

Change Tracking Writer Process

Tracks changed data blocks as part of the Recovery Manager block change tracking feature

CTWR tracks changed blocks as redo is generated at a primary database and as redo is applied at a standby database. The process is slightly different depending on the type of database.

<a href="../../backup.112/e10642/rcmbckba.htm">See Also: Oracle Database Backup and Recovery User's Guide</a>

CXnn

Streams Propagation Sender Process

Sends LCRs to a propagation receiver

The propagation sender process name is CXnn, where nn can include letters and numbers. In an Oracle Streams combined capture and apply optimization, the propagation sender sends LCRs directly to the propagation receiver to improve performance. The propagation receiver passes the LCRs to an apply process. Query V$PROPAGATION_SENDER for information about a propagation sender.

DBRM

Database Resource Manager Process 数据库资源管理器

Sets resource plans and performs other tasks related to the Database Resource Manager

If a resource plan is not enabled, then this process is idle.执行资源计划和其他与资源管理器相关的任务,数据库资源管理进程, (The database resource manager process),负责设置资源计划和其他的资源管理的工作。

<a href="../../server.112/e25494/dbrm.htm">See Also: Oracle Database Administrator's Guide</a>

DBWn

Database Writer Process

Writes modified blocks from the database buffer cache to the data files

The primary responsibility of DBWn is to write data blocks to disk. DBWn also handles checkpoints, file open synchronization, and logging of Block Written records.

In many cases the blocks that DBWn writes are scattered throughout the disk. Thus, the writes tend to be slower than the sequential writes performed by LGWR. DBWn performs multiblock writes when possible to improve efficiency. The number of blocks written in a multiblock write varies by operating system.

The DB_WRITER_PROCESSES initialization parameter specifies the number of DBWn processes (DBW0-DBW9 and DBWa-DBWz). The database selects an appropriate default setting for this parameter or adjusts a user-specified setting based on the number of CPUs and processor groups.

See Also: Oracle Database Concepts and Oracle Database Performance Tuning Guide

DIA0

Diagnostic Process 诊断进程 0

Detects and resolves hangs and deadlocks 

检测挂起情况和死锁。将来可能会引入多个进程,因此将名称设置为 diag0。将来如果引入其他进程,将分别命名为 dia1、dia2 等。另一个数据库诊断进程,负责检测Oracle数据库中的挂起(hang)和死锁的处理

ASM and Database instances

DIAG

Diagnostic Capture Process 诊断进程

Performs diagnostic dumps

DIAG performs diagnostic dumps requested by other processes and dumps triggered by process or instance termination. In Oracle RAC, DIAG performs global diagnostic dumps requested by remote instances. 执行诊断、转储跟踪文件(如有必要)以及执行全局 oradebug 命令,数据库诊断进程, (The diagnosibility process) ,负责维护管理各种用于诊断的转储文件,并执行oradebug命令。

DMnn

Data Pump Master Process

Coordinates the Data Pump job tasks performed by Data Pump worker processes and handles client interactions

The Data Pump master (control) process is started during job creation and coordinates all tasks performed by the Data Pump job. It handles all client interactions and communication, establishes all job contexts, and coordinates all worker process activities on behalf of the job.

Database instance, Data Pump

DMON

Data Guard Broker Monitor Process

Manages and monitors a database that is part of a Data Guard broker configuration

When you start the Data Guard broker, a DMON process is created. DMON runs for every database instance that is managed by the broker. DMON interacts with the local database and the DMON processes of the other databases to perform the requested function. DMON also monitors the health of the broker configuration and ensures that every database has a consistent description of the configuration.

Database instance, Data Guard

DMON maintains profiles about all database objects in the broker configuration in a binary configuration file. A copy of this file is maintained by the DMON process for each of the databases that belong to the broker configuration. The process is created when the DG_BROKER_START initialization parameter is set to true.

<a href="../../server.112/e40771/concepts.htm">See Also: Oracle Data Guard Broker</a>

Dnnn

Dispatcher Process

Performs network communication in the shared server architecture

In the shared server architecture, clients connect to a dispatcher process, which creates a virtual circuit for each connection. When the client sends data to the server, the dispatcher receives the data into the virtual circuit and places the active circuit on the common queue to be picked up by an idle shared server. The shared server then reads the data from the virtual circuit and performs the database work necessary to complete the request. When the shared server must send data to the client, the server writes the data back into the virtual circuit and the dispatcher sends the data to the client. After the shared server completes the client request, the server releases the virtual circuit back to the dispatcher and is free to handle other clients.

Database instance, shared servers

Several initialization parameters relate to shared servers. The principal parameters are: DISPATCHERS, SHARED_SERVERS, MAX_SHARED_SERVERS, LOCAL_LISTENER, REMOTE_LISTENER.

<a href="../../server.112/e40540/dist_pro.htm">See Also: Oracle Database Concepts</a>

DRnn

ASM Disk Resynchronization Slave Process

Resynchronizes the contents of an offline disk

When a disk online SQL command is issued on a disk or disks that are offline, ASM spawns DRnn. Depending on the load, more than one slave may be spawned.

ASM Instance

DSKM

Slave Diskmon Process

Acts as the conduit between the database, ASM instances, and the Master Diskmon daemon to communicate information to Exadata storage

This process is active only if Exadata Storage is used. DSKM performs operations related to Exadata I/O fencing and Exadata cell failure handling. 负责oracle 实例、asm实例和磁盘的管理进程之间的io fencing 信息的交换。如果使用SAGE的存储,该进程还负责SAGE存储的一些信息的管理。

ASM instance, Exadata

DWnn

Data Pump Worker Process

Performs Data Pump tasks as assigned by the Data Pump master process

The Data Pump worker process is responsible for performing tasks that are assigned by the Data Pump master process, such as the loading and unloading of metadata and data.

EMNC

EMON Coordinator Process

Coordinates database event management and notifications

EMNC coordinates event management and notification activity in the database, including Streams Event Notifications, Continuous Query Notifications, and Fast Application Notifications.

Ennn

EMON Slave Process

Performs database event management and notifications

The database event management and notification load is distributed among the EMON slave processes. These processes work on the system notifications in parallel, offering a capability to process a larger volume of notifications, a faster response time, and a lower shared memory use for staging notifications.

FBDA

Flashback Data Archiver Process 闪回数据存档器

Archives historical rows for tracked tables into flashback data archives and manages archive space, organization, and retention

When a transaction that modifies a tracked table commits, FBDA stores the pre-image of the rows in the archive. FDBA maintains metadata on the current rows and tracks how much data has been archived.

FBDA is also responsible for automatically managing the flashback data archive for space, organization (partitioning tablespaces), and retention. FBDA also keeps track of how far the archiving of tracked transactions has progressed.Oracle Database 11g 提供新的“闪回存档”,用于写入对表所作的更改。此进程将写入闪回存档。Flashback Data Archiver Process (FBDA)

The flashback data archiver process (FBDA)archives historical rows of tracked tables into Flashback Data Archives. When a transaction containing DML on a tracked table commits, this process stores the pre-image of the rows into the Flashback Data Archive. It also keeps metadata on the current rows.

闪回数据归档进程,归档被追踪的表的历史行到闪回数据归档文件里面。当在被追踪的表上面发生了dml事务的时候,这个进程存储行的前镜像到闪回数据归档里面。它同样保存当前行的元数据。

FBDA automatically manages the flashback data archive for space, organization, and retention. Additionally, the process keeps track of how far the archiving of tracked transactions has occurred.

FBDA自动的管理闪回数据归档文件的空间,组织结构和滞留时间。

<a href="../../appdev.112/e41502/adfns_flashback.htm">See Also: Oracle Database Advanced Application Developer's Guide</a>

FDnn

Oracle ASM Stale FD Cleanup Slave Process

Cleans up Oracle ASM stale FDs on foreground processes

This process cleans up Oracle ASM stale FDs on foreground processes if an Oracle ASM disk is globally closed.

FMON

File Mapping Monitor Process

Manages mapping information for the Oracle Database file mapping interface

The DBMS_STORAGE_MAP package enables you to control the mapping operations. When instructed by the user, FMON builds mapping information and stores it in the SGA, refreshes the information when a change occurs, saves the information to the data dictionary, and restores it to the SGA at instance startup.

FMON is started by the database whenever the FILE_MAPPING initialization parameter is set to true.

FSFP

Data Guard Broker Fast Start Failover Pinger Process

Maintains fast-start failover state between the primary and target standby databases

FSFP is created when fast-start failover is enabled.

<a href="#sthref4612">GCRn</a>

Global Conflict Resolution Slave Process

Performs synchronous tasks on behalf of LMHB

GCRn processes are transient slaves that are started and stopped as required by LMHB to perform synchronous or resource intensive tasks.

Database and ASM instances, Oracle RAC

GEN0

General Task Execution Process

Performs required tasks including SQL and DML

GMON

ASM Disk Group Monitor Process

Monitors all mounted ASM disk groups

GMON monitors all the disk groups mounted in an ASM instance and is responsible for maintaining consistent disk membership and status information. Membership changes result from adding and dropping disks, whereas disk status changes result from taking disks offline or bringing them online.用于维护asm磁盘组的磁盘之间的关系。

GTXn

Global Transaction Process 全局事务进程 0

Provides transparent support for XA global transactions in an Oracle RAC environment

These processes help maintain the global information about XA global transactions throughout the cluster. Also, the processes help perform two-phase commit for global transactions anywhere in the cluster so that an Oracle RAC database behaves as a single system to the externally coordinated distributed transactions.

The GLOBAL_TXN_PROCESSES initialization parameter specifies the number of GTXn processes, where n is 0-9 or a-j. The database automatically tunes the number of these processes based on the workload of XA global transactions. You can disable these processes by setting the parameter to 0. If you try to run XA global transactions with these process disabled, an error is returned.在 RAC 集群中,Oracle Database 现在提供改进的 XA 事务处理。此进程协调 XA 事务。如果 XA 上的数据库负载增长,将自动创建更多进程,分别命名为 GTX1、GTX2,直至 GTXJ。

<a href="../../rac.112/e41960/hafeats.htm">See Also: Oracle Real Application Clusters Administration and Deployment Guide</a>

Innn

Disk and Tape I/O Slave Process

Serves as an I/O slave process spawned on behalf of DBWR, LGWR, or an RMAN backup session

I/O slave process can be configured on platforms where asynchronous I/O support is not available. These slaves are started by setting the corresponding slave enable parameter in the server parameter file. The I/O slaves simulate the asynchronous I/O behavior when the underlying platform does not have native support for asynchronous I/O.

INSV

Data Guard Broker Instance Slave Process

Performs Data Guard broker communication among instances in an Oracle RAC environment

INSV is created when the DG_BROKER_START initialization parameter is set to true.

Jnnn

Job Queue Slave Process

Executes jobs assigned by the job coordinator

Job slave processes are created or awakened by the job coordinator when it is time for a job to be executed.

Job slaves gather all the metadata required to run the job from the data dictionary. The slave processes start a database session as the owner of the job, execute triggers, and then execute the job. After the job is complete, the slave processes commit and then execute appropriate triggers and close the session. The slave can repeat this operation in case additional jobs need to be run.

KATE

ASM 临时任务处理器

毫无疑问,这是所有新进程中最长的名称。它是在 ASM 实例上出现的,而不是在数据库上出现。(有关新特性“快速磁盘重新同步”的信息,请参阅本系列中有关 ASM 的部分。)当磁盘脱机时,此进程将代替磁盘对 ASM 元文件执行代理 I/O。当ASM的磁盘离线的时候,该进程负责asm的元文件的io读写。

LCK0

Instance Enqueue Background Process

Manages global enqueue requests and cross-instance broadcasts

The process handles all requests for resources other than data blocks. For examples, LCK0 manages library and row cache requests.

LCK进程就是锁进程,它管理在集群中对同一数据块访问的锁管理。

LGWR

Log Writer Process

Writes redo entries to the online redo log

Redo log entries are generated in the redo log buffer of the system global area (SGA). LGWR writes the redo log entries sequentially into a redo log file. If the database has a multiplexed redo log, then LGWR writes the redo log entries to a group of redo log files.

LMD0

Global Enqueue Service Daemon 0 Process 全局队列服务

LMD:Lock Manager Daemon,锁管理器

Manages incoming remote resource requests from other instances

LMD0 processes enqueue resources managed under Global Enqueue Service. In particular, LMD0 processes incoming enqueue request messages and controls access to global enqueues. It also performs distributed deadlock detections.

Cache Fusion的GES服务的作用就是在节点之间协调对同一数据块的访问次序,进程LMD就是提供GES服务。另外,RAC环境中LMD进程管理各个节点锁资源,生成死锁的trace文件,如:Global Enqueue Services Deadlock detected. More info in file /u01/app/Oracle/diag/rdbms/raclhr/raclhr2/trace/raclhr2_lmd0_19923170.trc.

LMHB

Global Cache/Enqueue Service Heartbeat Monitor

Monitor the heartbeat of LMON, LMD, and LMSn processes

LMHB monitors LMON, LMD, and LMSn processes to ensure they are running normally without blocking or spinning.

LMON

Global Enqueue Service Monitor Process

Monitors an Oracle RAC cluster to manage global resources

LMON maintains instance membership within Oracle RAC. The process detects instance transitions and performs reconfiguration of GES and GCS resources.

在rac集群环境中各个节点的实例之间会定期通信,目的是检查各自的当前状态,如对方实例是否异常等信息,这种在节点之间协调通信以完成健康检查的任务就是右LMON进程负责。

<a href="../../rac.112/e41960/admcon.htm">See Also: Oracle Real Application Clusters Administration and Deployment Guide</a>

LMSn

Global Cache Service Process

Manages resources and provides resource control among Oracle RAC instances

LMS, where n is 0-9 or a-z, maintains a lock database for Global Cache Service (GCS) and buffer cache resources. This process receives, processes, and sends GCS requests, block transfers, and other GCS-related messages.

我们已经知道CacheFusion的GCS服务的作用就是在节点之间协调对同一数据块的访问次序,进程LMD就是提供GCS服务。

See Also: Oracle Real Application Clusters Administration and Deployment Guide

LSP0

Logical Standby Coordinator Process

Schedules transactions for Data Guard SQL Apply

LSP0 is the initial process created upon startup of Data Guard SQL Apply. In addition to managing LogMiner and Apply processes, LSP0 is responsible for maintaining inter-transaction dependencies and appropriately scheduling transactions with applier processes. LSP0 is also responsible for detecting and enabling runtime parameter changes for the SQL Apply product as a whole.

LSP1

Logical Standby Dictionary Build Process

Performs a logical standby dictionary build on a primary database

The LSP1 process is spawned on a logical standby database that is intended to become the new primary database. A logical standby database becomes a primary database by means of switchover or failover. The dictionary is necessary for logical standby databases to interpret the redo of the new primary database.

LSP2

Logical Standby Set Guard Process

Determines which database objects will be protected by the database guard

The LSP2 process is created as needed during startup of SQL Apply to update the list of objects that are protected by the database guard.

Lnnn

Pooled Server Process

Handles client requests in Database Resident Connection Pooling

In Database Resident Connection Pooling, clients connect to a connection broker process. When a connection becomes active, the connection broker hands off the connection to a compatible pooled server process. The pooled server process performs network communication directly on the client connection and processes requests until the client releases the server. After being released, the connection is returned to the broker for monitoring, leaving the server free to handle other clients.

Database instance, Database Resident Connection Pooling

MARK

Mark AU for Resynchronization Coordinator Process为重新同步协调器标记分配单元

Marks ASM allocation units as stale following a missed write to an offline disk

MARK essentially tracks which extents require resynchronization for offline disks. This process runs in the database instance and is started when the database instance first begins using the ASM instance. If required, MARK can also be started on demand when disks go offline in the ASM redundancy disk group.当磁盘出现故障时将会脱机,从而导致写入内容丢失。在这种情况下,此进程会将 ASM 分配单元 (AU) 标记为陈旧。当磁盘联机时,陈旧的段将被刷新。MARK:如果有向asm离线磁盘的missed 写请求,该进程将ASM分配的单元的状态标记为stale

FBDA:涉及到flashback-data-archive新特性的一个进程,The flashback data archiver proces。用于将“轨表”(tracked tables)的历史数据进行归档。当“轨表”上的事务提交以后,fbda进程负责将数据的前镜像保存到flashback archive区域。该进程还负责flashback的数据归档的空间管理、分配、保留,跟踪tracked transactions。

什么是“轨表”(tracked tables): 是指启用了flashback archive特性的表。

MMAN

Memory Manager Process

Serves as the instance memory manager

This process performs the resizing of memory components on the instance.

MMNL

Manageability Monitor Lite Process

Performs tasks relating to manageability, including active session history sampling and metrics computation

MMNL performs many tasks relating to manageability, including session history capture and metrics computation.

MMNL进程负责执行轻量级的且频率较高的和可管理性相关的后台任务,例如捕获会话历史信息,测量值计算等。

MMON

Manageability Monitor Process 可管理性监视器进程

Performs or schedules many manageability tasks

MMON performs many tasks related to manageability, including taking Automatic Workload Repository snapshots and performing Automatic Database Diagnostic Monitor analysis.

AWR主要是由MMON(Manageability Monitor Process,可管理性监视器进程)和它的slave进程(Mnnn)进程来维护的。MMON执行很多关于AWR的任务,和各种与可管理性相关的后台任务,具体包括以下功能:

1.启动slave进程Mnnn去做AWR快照

2.当某个测量值(metrics)超过了其度量阀值(threshold value)时发出alert告警

3.为最近改变过的SQL对象捕获指标信息

Mnnn

MMON Slave Process

Performs manageability tasks on behalf of MMON

Mnnn performs manageability tasks dispatched to them by MMON. Tasks performed include taking Automatic Workload Repository snapshots and Automatic Database Diagnostic Monitor analysis.

MRP0

Managed Standby Recovery Process

Coordinates the application of redo on a physical standby database

MRP0 is spawned at the start of redo apply on a physical standby database. This process handles the extraction of redo and coordinates the application of that redo on a physical standby database.

<a href="../../server.112/e41134/manage_ps.htm">See Also: Oracle Data Guard Concepts and Administration</a>

MSnn

LogMiner Worker Process

Reads redo log files and translates and assembles into transactions

Multiple MSnn processes can exists, where n is 0-9 or a-Z. A minimum of three MSnn processes work as a group to provide transactions to a LogMiner client, for example, a logical standby database. There may be more than one such group, for example, Downstream Capture sessions.

Database instance, Logical Standby, Oracle Streams

Nnnn

Connection Broker Process

Monitors idle connections and hands off active connections in Database Resident Connection Pooling

NSAn

Redo Transport NSA1 Process

Ships redo from current online redo logs to remote standby destinations configured for ASYNC transport

NSAn can run as multiple processes, where n is 1-9 or A-V.

<a href="../../server.112/e41134/toc.htm">See Also: Oracle Data Guard Concepts and Administration</a>

NSSn

Redo Transport NSS1 Process

Acts as a slave for LGWR when SYNC transport is configured for a remote standby destination

NSSn can run as multiple processes, where n is 1-9 or A-V.

NSVn

Data Guard Broker NetSlave Process

Performs broker network communications between databases in a Data Guard environment

NSVn is created when a Data Guard broker configuration is enabled. There can be as many NSVn processes (where n is 0- 9 and A-U) created as there are databases in the Data Guard broker configuration.

OCFn

ASM CF Connection Pool Process

Maintains a connection to the ASM instance for metadata operations

Onnn

ASM Connection Pool Process

Onnn slave processes are spawned on demand. These processes communicate with the ASM instance.

PING

Interconnect Latency Measurement Process

Assesses latencies associated with communications for each pair of cluster instances

Every few seconds, the process in one instance sends messages to each instance. The message is received by PING on the target instance. The time for the round trip is measured and collected.

PMON

Process Monitor

Monitors the other background processes and performs process recovery when a server or dispatcher process terminates abnormally

PMON periodically performs cleanup of all the following:

Processes that died abnormally

Sessions that were killed

Detached transactions that have exceeded their idle timeout

Detached network connections which have exceeded their idle timeout

In addition, PMON monitors, spawns, and stops the following as needed:

Dispatcher and shared server processes

Job queue processes

Pooled server processes for database resident connection pooling

Restartable background processes

PMON is also responsible for registering information about the instance and dispatcher processes with the network listener.

See Also: Oracle Database Concepts and Oracle Database Net Services Administrator's Guide

Pnnn

Parallel Query Slave Process

Perform parallel execution of a SQL statement (query, DML, or DDL)

Parallel Query has two components: a foreground process that acts as query coordinator and a set of parallel slaves (Pnnn) that are background processes. These background processes are spawned or reused during the start of a parallel statement. They receive and carry out units of work sent from the query coordinator.

The maximum number of Pnnn processes is controlled by the initialization parameter PARALLEL_MAX_SERVERS. Slave processes are numbered from 0 to the PARALLEL_MAX_SERVERS setting. If the query is a GV$ query, then these background processes are numbered backward, starting from PZ99.

PRnn

Parallel Recovery Process

Performs tasks assigned by the coordinator process performing parallel recovery

PRnn serves as a slave process for the coordinator process performing parallel media recovery and carries out tasks assigned by the coordinator. The default number of these processes is based on number of CPUs.

PSP0

Process Spawner Process

Spawns Oracle background processes after initial instance startup

process spawner,用于产生oracle进程

QMNC

AQ Coordinator Process

Monitors AQ

QMNC is responsible for facilitating various background activities required by AQ and Oracle Streams: time management of messages, management of nonpersistent queues, cleanup of resources, and so on. QMNC dynamically spawns Qnnn processes as needed for performing these tasks.

Database instance, Advanced Queuing

Note that if the AQ_TM_PROCESSES initialization parameter is set to 0, this process will not start. The database writes the following message to the alert log: WARNING: AQ_TM_PROCESSES is set to 0. System might be adversely affected.

Qnnn

AQ Server Class Process

Performs various AQ-related background task for QMNC

Qnnn acts as a slave process for QMNC and carry out tasks assigned by QMNC. The number of these processes is dynamically managed by QMNC based on load.

RBAL

ASM Rebalance Master Process

Coordinates rebalance activity

In an ASM instance, it coordinates rebalance activity for disk groups. In a database instances, it manages ASM disk groups.

RCBG

Result Cache Background Process

Handles result cache messages

This process is used for handling invalidation and other messages generated by server processes attached to other instances in Oracle RAC.

RECO

Recoverer Process

Resolves distributed transactions that are pending because of a network or system failure in a distributed database

RECO uses the information in the pending transaction table to finalize the status of in-doubt transactions. At timed intervals, the local RECO attempts to connect to remote databases and automatically complete the commit or rollback of the local portion of any pending distributed transactions. All transactions automatically resolved by RECO are removed from the pending transaction table.

RMSn

Oracle RAC Management Process

Performs manageability tasks for Oracle RAC

RMSn performs a variety of tasks, including creating resources related to Oracle RAC when new instances are added to a cluster.The Oracle RAC management processes,负责执行Oracle RAC的管理任务,比如RAC相关资源的创建和集群中新实例的添加。

Rnnn

ASM Block Remap Slave Process

Remaps a block with a read error

A database instance reading from an ASM disk group can encounter an error during a read. If possible, ASM asynchronously schedules a Rnnn slave process to remap this bad block from a mirror copy.

RPnn

Capture Processing Worker Process

Processes a set of workload capture files

RPnn are worker processes spawned by calling DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE(capture_dir,parallel_level). Each worker process is assigned a set of workload capture files to process.

Worker processes execute in parallel without needing to communicate with each other. After each process is finished processing its assigned files, it exits and informs its parent process.

The number of worker processes is controlled by the parallel_level parameter of DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE. By default, parallel_level is null. Then, the number of worker processes is computed as follows:

SELECT VALUE 

FROM   V$PARAMETER 

WHERE  NAME='cpu_count';

When parallel_level is 1, no worker processes are spawned.

RSM0

Data Guard Broker Worker Process

Performs monitoring management tasks related to Data Guard on behalf of DMON

The process is created when a Data Guard broker configuration is enabled.

RSMN

Remote Slave Monitor Process

Manages background slave process creation and communication on remote instances in Oracle RAC

This background process manages the creation of slave processes and the communication with their coordinators and peers. These background slave processes perform tasks on behalf of a coordinating process running in another cluster instance.

RVWR

Recovery Writer Process

Writes flashback data to the flashback logs in the fast recovery area

RVWR writes flashback data from the flashback buffer in the SGA to the flashback logs. RVWR also creates flashback logs and performs some tasks for flashback log automatic management.

Database instance, Flashback Database

SMCO

Space Management Coordinator Process 空间管理器

Coordinates the execution of various space management tasks

This background process coordinates the execution of various space management tasks, including proactive space allocation and space reclamation. SMCO dynamically spawns slave processes (Wnnn) to implement these tasks.SMCO 是主空间管理进程,可动态分配和回收空间。它将生成从进程 Wnnn 以执行这些任务。space management coordinator,该进程负责空间管理协调管理工作,负责执行空间的分配和回收。Space Management Coordinator Process (SMCO)

The SMCO process coordinates the execution of various space management related tasks, such as proactive space allocation and space reclamation. SMCO dynamically spawns slave processes (Wnnn) to implement the task.

smco进程调度执行的多种空间管理相关的任务,比如说提前的空间分配和回收。smco自动的生成从属进程wnnn去完成任务。

SMON

System Monitor Process

Performs critical tasks such as instance recovery and dead transaction recovery, and maintenance tasks such as temporary space reclamation, data dictionary cleanup, and undo tablespace management

SMON performs many database maintenance tasks, including the following:

Creates and manages the temporary tablespace metadata

Reclaims space used by orphaned temporary segments

Maintains the undo tablespace by onlining, offlining, and shrinking the undo segments based on undo space usage statistics

Cleans up the data dictionary when it is in a transient and inconsistent state

Maintains the SCN to time mapping table used to support Oracle Flashback features

In an Oracle RAC database, the SMON process of one instance can perform instance recovery for other instances that have failed.

SMON is resilient to internal and external errors raised during background activities.

Snnn

Shared Server Process

Handles client requests in the shared server architecture

TEMn

ASM disk Test Error Emulation Process

Emulates I/O errors on ASM disks through named events

I/O errors can be emulated on ASM disk I/O through named events. The scope can be the process, instance, or even cluster. Optionally, a set of AUs can be chosen for error emulation.

VBGn

Volume Background Process

Communicates between the ASM instance and the operating system volume driver

VBGn handles messages originating from the volume driver in the operating system and sends them to the ASM instance.

VBGn can run as multiple processes, where n is 0-9.

VDBG

Volume Driver Process

Forwards ASM requests to perform various volume-related tasks

VDBG handles requests to lock or unlock an extent for rebalancing, volume resize, disk offline, add or drop a disk, force and dismount disk group to the Dynamic Volume Manager driver.

VKRM

Virtual Scheduler for Resource Manager Process

Serves as centralized scheduler for Resource Manager activity

VKRM manages the CPU scheduling for all managed Oracle processes. The process schedules managed processes in accordance with an active resource plan.

VKTM

Virtual Keeper of Time Process 虚拟计时器进程

Provides a wall clock time and reference time for time interval measurements

VKTM acts as a time publisher for an Oracle instance. VKTM publishes two sets of time: a wall clock time using a seconds interval and a higher resolution time (which is not wall clock time) for interval measurements. The VKTM timer service centralizes time tracking and offloads multiple timer calls from other clients.提供时钟时间(每秒钟更新一次)。以提升的优先级运行时,此进程每 20 毫秒更新一次。virtual keeper of time,用于提供wall-clock time,(每秒钟更新一次)。提供每二十毫秒更新一次的reference-time counter,看起来有点类似计时器的功能。

VMB0

Volume Membership Process

Maintains cluster membership on behalf of the ASM volume driver

This process membership in the cluster as an I/O-capable client on behalf of the ASM volume driver.

Vnnn

ASM Volume I/O Slave Process

Initializes ASM volume contents during creation

This process is responsible for initializing the ASM volume during creation.

Wnnn

Space Management Slave Process 空间管理工作器进程

Performs various background space management tasks, including proactive space allocation and space reclamation

Wnnn processes are slave processes dynamically spawned by SMCO to perform space management tasks in the background. These tasks include preallocating space into locally managed tablespace and SecureFiles segments based on space usage growth analysis, and reclaiming space from dropped segments. At most 10 Wnnn slaves can run on one database instance. After being started, the slave acts as an autonomous agent. After it finishes task execution, it automatically picks up another task from the queue. The process terminates itself after being idle for a long time.执行从 SMCO 收到的指令。根据需要生成更多进程,命名为 W000、W001 等。命名为W000,W001,W002.....,由SMCO动态产生执行上述相关任务。

XDMG

Exadata Automation Manager

Initiates automation tasks involved in managing Exadata storage

XDMG monitors all configured Exadata cells for state changes, such as a bad disk getting replaced, and performs the required tasks for such events. Its primary tasks are to watch for inaccessible disks and cells and when they become accessible again, and to initiate the ASM ONLINE operation. The ONLINE operation is handled by XDWK.

XDWK

Performs automation tasks requested by XDMG

XDWK gets started when asynchronous actions such as ONLINE, DROP, and ADD an ASM disk are requested by XDMG. After a 5 minute period of inactivity, this process will shut itself down.

Xnnn

ASM Disk Expel Slave Process

Performs ASM post-rebalance activities

This process expels dropped disks at the end of an ASM rebalance.

BWnn

可以有1到100个数据库写进程。前36个数据库写进程是 DBW0-DBW9和DBWa-DBWz。第37到100个数据库写进程是 BW36-BW99。数据库为 DB_WRITER_PROCESSES 参数选择一个恰当的默认配置或者基于 CPU 和处理器组的个数调整用户指定的配置。

12C

FENC

Fence Monitor Process

为使用 Oracle ASM 实例的 RDBMS 实例处理 fence 请求。

IPC0

IPC Service Background Process

IPC0 (IPC Service Background Process) 常见后台服务器的基本消息和基于 IPC (进程间通信)方式的 RDMA 原语。

LDDn

Global Enqueue Service Daemon Helper Slave

LDDn (Global Enqueue Service Daemon Helper Slave) 帮助 LMDn 进程处理各种任务。

LGnn

Log Writer Worker

LGnn (Log Writer Worker) 在多处理器系统中,LGWR 创建工作进程来提高写重做日志的性能。当存在一个同步备用目的地的时候,不会使用 LGWR 工作进程。可能的进程包括 LG00-LG99。

LREG

Listener Registration Process

LREG  (Listener Registration Process) 使用监听器注册实例。

OFSD

Oracle File Server Background Process

OFSD (Oracle File Server Background Process) 向 Oracle 实例提交文件系统请求服务。

RPOP

Instant Recovery Repopulation Daemon

RPOP (Instant Recovery Repopulation Daemon) 负责从快照和备份文件中重建 并且/或者 重新填充数据文件。

SAnn

SGA Allocator

SAnn (SGA Allocator) 分配 SGA,SAnn 进程以块分配 SGA。该进程在 SGA 分配完成后退出。

SCRB

ASM Disk Scrubbing Master Process

SCRB (ASM Disk Scrubbing Master Process) 协调 Oracle ASM 磁盘清理操作。

SCRn

ASM Disk Scrubbing Slave Repair Process

SCRn  (ASM Disk Scrubbing Slave Repair Process) 执行 Oracle ASM 磁盘清理修复操作。

SCVn

ASM Disk Scrubbing Slave Verify Process

SCVn  (ASM Disk Scrubbing Slave Verify Process) 执行 Oracle ASM 磁盘清理验证操作。

进程

表现形式

简介

SMON(System Monitor Process,系统监控进程)

ora_smon_ora11g

主要用于清除失效的用户进程,释放用户进程所用的资源。具体有如下的功能:

1、清除临时空间

2、在系统启动时,完成系统实例恢复

3、合并空闲空间

4、从不可用的文件中恢复事务的活动

5、OPS中失败节点的实例恢复

6、清除OBJ$表

7、缩减回滚段

8、使回滚段脱机

PMON(Process Monitor Process,进程监视进程)

ora_pmon_ora11g

1、在进程失败后执行清除工作:回滚事务、释放锁、释放其它资源

2、注册数据库

3、检测会话的空闲连接时间

CKPT(Checkpoint Process,检查点进程)

ora_ckpt_ora11g

CKPT工作的主要条件如下:

1、在日志切换的时候

2、数据库用IMMEDIATE、TRANSACTION、NORMAL或选项SHUTDOWN数据库的时候

3、根据初始化文件LOG_CHECKPOINT_INTERVAL、LOG_CHECKPOINT_TIMEOUT、FAST_START_IO_TARGET的设置的数值来确定

ARCn(Archiver Process,归档进程)

ora_arc0_ora11g

ora_arc1_ora11g

ARCn的工作是当LGWR把ONLINE REDO LOG填满后,ARCn把REDO LOG FILE的内容拷贝到其它地方。归档日志可以用来做MEDIA RECOVERY。ONLINE REDO LOG是被用来在实例失败的时候,恢复数据文件。而归档日志是被用来在MEDIA RECOVERY的时候,恢复数据文件

DBWn(Database Writer Process,数据库写进程)

ora_dbw0_ora11g

DBWn负责把缓冲区的脏数据写到磁盘上。在Oracle发生SWITCH LOG FILES的时候,会发生CHECKPOINT。CHECKPOINT发生后,在REDO LOG中的数据就可以被覆盖了。如果REDO LOG被填满,且要重新利用REDO LOG来存放新的数据时,而此时CHECKPOINT还未完成,那么Oracle就会返回“CHECKPOINT NOT COMPLETE”

LGWR(Log Writer Process,日志写进程)

ora_lgwr_ora11g

LGWR是把SGA中REDO LOG BUFFER的信息写到REDO日志文件的进程。LGWR会在下面情况发生:

1、用户发出提交命令(COMMIT)

2、每隔3秒

3、重做日志缓冲区空间剩余不到2/3

4、重做日志缓冲区内的数据达到1MB

5、在发生联机重做日志切换(Log Switch)时

6、在DBWn进程将修改的缓冲区写入磁盘时(如果相应的重做日志数据尚未写入磁盘)

CJQ(Job Queue Coordinator Process,作业调度器)

ora_cjq0_ora11g

负责将调度与执行系统中已定义好的Job,完成一些预定义的工作

LMON(Global Enqueue Service Monitor,全局查询服务监视进程)

ora_lmon_raclhr2

这个进程负责维护数据库集群层面的节点关系(Cluster Group Service,CGS),并与其他实例的LMON进程定期进行心跳通信。当节点间出现了通信问题时,这个节点负责完成实例层面的重新配置(reconfiguration)和GES层面的实例恢复。当某一个(或多个)实例离开或加人数据库集群时,这个进程也负责完成实例层面的重新配置。每个数据库实例只会存在一个LMON进程。

LMSn(Global Cache Service Process,全局缓存服务进程)

ora_lms0_raclhr2

ora_lms1_raclhr2

是Cache Fusion的主要进程,负责数据块在实例间的传递,对应的服务叫作GCS(Global Cache Service)。这个进程的数量通过参数GCS_SERVER_PROCESSES来控制。

LMD(Global Enqueue Service Daemon,全局队列服务)

ora_lmd0_raclhr2

LMD进程主要负责GES相关资源的管理工作,GES资源主要是指Oracle中的排队(Enqueue)资源。由于RAC数据库包含很多实例,每个实例都能够对相同的数据进行操作,所以需要LMD进程对这些排队资源进行管理和协调。LMD进程默认的优先级并不是实时的,而且每个实例只包含一个LMD进程(名称为1md0)。

LCK(Instance Enqueue Process,实例队列进程)

ora_lck0_raclhr2

LCK进程主要用来管理实例间资源请求和跨实例调用操作,调用操作包括数据字典等对像访问,并处理非CACEH FUSION的CHACE资源请求。每个实例默认情况下只包含一个LCK进程,进程名为lck0。

DIAG(Diagnostic Capture Process,诊断捕获进程)

ora_diag_raclhr2

负责转储(dump)数据库相关的诊断信息。当系统发现可能出现了性能问题时,DIAG进程会响应其他进程发出的dump请求,将相关的诊断信息写到自己的跟踪日志文件(trace file)中。另外当用户使用oradebug进行全局(global)级别的dump操作时,每个实例的DIAG进程都会将本地节点的诊断信息dump到自己的跟踪日志文件中。

LMHB(Global Cache/Enqueue Service Heartbeat Monitor,全局缓存/队列服务心跳监控)

ora_lmhb_raclhr2

这个进程从11gR2版本开始出现,它的作用是监控LMSn、LMD、LMON、LCK等与RAC相关的主要后台进程,以便在它们出现问题时进行相应的操作。

[root@node1 .oracle]# ps -ef|grep oclskd

grid      5614     1  0 20:51 ?        00:00:00 /u01/grid/bin/oclskd.bin

root      5730     1  0 20:51 ?        00:00:00 /u01/grid/bin/oclskd.bin

oracle    6641     1  0 20:52 ?        00:00:00 /u01/grid/bin/oclskd.bin

RBAL(ASM Rebalance Master Process,ASM再平衡主进程)

asm_rbal_+ASM

ora_rbal_ora11g

用于协调和管理磁盘组之间的动态平衡,RBAL用来进行全局调用,以打开某个磁盘组内的磁盘。

ASMB(ASM Background Process,ASM后台进程)

ora_asmb_ora11g

oracle+ASM_asmb_ora11g (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

借助服务器进程建立普通RDBMS实例到ASM实例的会话,并传递磁盘文件的相关信息。每个数据库实例同时只能与一个ASM实例连接,因此数据库只会有一个ASMB后台进程。如一个节点上有多个数据库实例,它们只能共享一个ASM实例。ASMB进程与该节点的CSS守护进程进行通信,并接收来自ASM实例的文件区间映射信息。ASMB还负责为ASM实例提供I/O统计数据。

GMON(ASM Disk Group Monitor Process,磁盘组监控进程)

asm_gmon_+ASM

这个进程负责维护磁盘组中的各个磁盘状态的一致性。当磁盘组中的磁盘成员发生改变时(例如:添加、删除磁盘,或者磁盘出现故障),该进程负责离线(Offine)或者上线(Online)磁盘。可以说,这是ASM实例中最重要的后台进程之一。

ARBn(ASM Rebalance Process,ASM再平衡进程)

asm_arba_+ASM

在同一时刻可以存在许多此类进程,它们的名字分别为:ARB0、ARB1...ARBA,以此类推,执行实际的重新平衡分配单元移动进程。

Onnn(ASM Connection Pool Process,ASM连接池进程)

ora_o000_ora11g

oracle+ASM_o000_ora11g (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

这组进程建立了与ASM实例的连接,某些长时间操作比如创建数据文件操作,RDBMS会通过这些进程向ASM发送信息。

About Me ............................................................................................................................... ● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用 ● QQ群:230161599     微信群:私聊 ● 联系我请加QQ好友(646634621),注明添加缘由 ● 于 2017-07-01 09:00 ~ 2017-07-31 22:00 在魔都完成 ● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解 ● 版权所有,欢迎分享本文,转载请保留出处 拿起手机使用微信客户端扫描下边的左边图片来关注小麦苗的微信公众号:xiaomaimiaolhr,扫描右边的二维码加入小麦苗的QQ群,学习最实用的数据库技术。
Oracle后台进程及其作用简介 Oracle后台进程及其作用简介
Oracle后台进程及其作用简介 Oracle后台进程及其作用简介
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&amp;uin=646634621&amp;site=qq&amp;menu=yes"></a>
Oracle后台进程及其作用简介 Oracle后台进程及其作用简介
Oracle后台进程及其作用简介 Oracle后台进程及其作用简介
Oracle后台进程及其作用简介 Oracle后台进程及其作用简介