SMON (System Monitor): Starts when the database instance start. It is in charge of recovering instance failure and reorganizing free extents and segments into reusable larger extents.
PMON (Process Monitor): Starts when the database instance start. It is in charge of recovering from user process and release resources. It also checks the dispatcher and server process; it restarts them in case of failure.
DBWR (Database Writer): Also called Dirty Buffer Writer, it starts when the database instance start. It is responsible for flushing datafile blocks by writing blocks back to the datafiles when transactions are committed or when the cache is full. This ensures that space is made in the cache for more database blocks.
LGWR (Log Writer): This process is responsible for moving redo logs buffers from the SGA (System Global Area) and writing them into online redo logs.
TRWR (Trace Writer): This process is use by other process to write information on trace files.
ARCH (Archiver): Starts when the database instance starts if the database is in Archive log mode. This process is in charge of moving redo logs from online redo logs when they are full, into archive logs. This action prevents redo logs from being overridden.
CKPT (Checkpoint): This process is in charge of marking all datafiles and control files headers with timestamp information. The goal here is making possible the synchronization of all database files in order to ensures data consistency and faster database recovery in case of a crash.
Dnnn (Dispatcher): This process is in charge of ensuring communication between the client sessions and server processes queues. It listens to client processes, get requests from client sessions and deliver them to request queues for further processing. It also gets responses from responses queues and sends them back to client sessions. The value of number ‘nnn’ must be between values of parameters MIN_DISPATCHERS and MAX_DISPATCHERS
Pnnn (Parallel Query background): This process is use for parallel processing by the database engine. Mostly use for parallel processing of SQL instructions, backup and recovery operations.The value of number ‘nnn’ is define between parameters values of PARALLEL_MIN_SERVERS and PARALLEL_MAX_SERVERS
Snnn (Shared Server): This process is in charge of taking request from the SGA (System Global Area) server queue process them and post the result into the result queue. The existence of theses process eliminate the need of a dedicated server for each user session and provide a good memory management solution considering that the amount of memory required for each process is relatively small. The number of shared server processes to be created at instance startup can be specified using the initialization parameter SHARED_SERVERS.
Innn (Input/Output Slaves): This process is in charge of carrying in parallel multiple I/O operations on platforms that do not support asynchronous I/O.
CQJ0 (Job queue controller): This process periodically checks the job log, if a job is due; it calls the corresponding Jnnn process to run the job.
J000, J001 ... J999 (Job Queue): This process is in charge of all batch processing, it execute all scheduled jobs. Jnnn, Here the value ‘nnn’ will not exceed the value of parameter JOB_QUEUE_PROCESSES which is the maximum job processes that can be run concurrently
QMN0, QMN1 ... QMN9 (Queue Monitor): This process is in charge of monitoring Oracle messages queue. It provide the system with an advance way of persistently store messages, exchange them among queues on different machines and database or transmit them via Oracle Net Services, HTML or SMTP.
EMN0 or EMON (Event Monitor): This process is in charge of serving asynchronous notification of event base messages. This process delivers specifics messages to registered client who have subscribed for.
BSP0, BSP1 ... BSP9 (Buffer Server): This process is in charge of handling non-locked buffer consistent read (CR) image. It get process requests build the CR and return it to the process over the interconnect.
LCK0, LCK1 ... LCK9 (Lock processes): This process is in charge of coordinating the locking of shared resources among multiple instances in Parallel server environment.
LMDn (Lock Manager Daemon): This process is in charge of servicing local locks request, forwarding remote locks requests to remote nodes and detecting distributed deadlocks.
LMON (Lock Monitor): This process is in charge of managing all global locks and database resources. It handles all processes and instance (at start and stop) locks requests and releases. During recovery it does recover instance locks data as well as teaming with PMON recover instance locks by dead processes.
RECO (Recoverer): Starts when Oracle instance start in distributed transaction mode. This process is in charge of recovering all in-doubt or pending transactions across distributed databases.