Introduction to Processes
Types of Processes:
---Oracle processes：Background processes / Server processes / Slave processes
Overview of Client Processes
When a user runs an application such as a Pro*C program or SQL*Plus, the operating system creates a client process (sometimes called a user process) to run the user application.
Connections and Sessions
A connection is a physical communication pathway between a client process and a database instance.
A session is a logical entity in the database instance memory that represents the state of a current user login to a database.
A session lasts from the time the user is authenticated by the database until the time the user disconnects or exits the database application.
Overview of Server Processes
Overview of Background Processes
The background processes perform. maintenance tasks required to operate the database and to maximize performance for multiple users.
Oracle Database creates background processes automatically when a database instance starts.
Mandatory Background Processes
1.Process Monitor Process (PMON)
The process monitor (PMON) monitors the other background processes and performs process recovery when a server or dispatcher process terminates abnormally.
2.System Monitor Process (SMON)
The system monitor process (SMON) is in charge of a variety of system-level cleanup duties.
·Performing instance recovery, if necessary, at instance startup.
·Recovering terminated transactions that were skipped during instance recovery because of file-read or tablespace offline errors.
·Cleaning up unused temporary segments.
·Coalescing contiguous free extents within dictionary-managed tablespaces.
3.Database Writer Process (DBWn)
The database writer process (DBWn) writes the contents of database buffers to data files.
The DBWn process writes dirty buffers to disk under the following conditions:
·When a server process cannot find a clean reusable buffer after scanning a threshold number of buffers, it signals DBWn to write.
·DBWn periodically writes buffers to advance the checkpoint, which is the position in the redo thread from which instance recovery begins
4.Log Writer Process (LGWR)
The log writer process (LGWR) manages the redo log buffer. LGWR writes one contiguous portion of the buffer to the online redo log.
In the following circumstances, LGWR writes all redo entries that have been copied into the buffer since the last time it wrote:
·A user commits a transaction
·An online redo log switch occurs.
·Three seconds have passed since LGWR last wrote
·The redo log buffer is one-third full or contains 1 MB of buffered data
·DBWn must write modified buffers to disk.
LGWR and Commits When a user issues a COMMIT statement, the transaction is assigned a system change number (SCN).
（LGWR puts a commit record in the redo log buffer and writes it to disk immediately, along with the commit SCN and transaction's redo entries.）
LGWR and Inaccessible Files LGWR writes synchronously to the active mirrored group of online redo log files. If a log file is inaccessible, then LGWR continues writing to other files in the group and writes an error to the LGWR trace file and the alert log.
5.Checkpoint Process (CKPT)
The checkpoint process (CKPT) updates the control file and data file headers with checkpoint information and signals DBWn to write blocks to disk.（Checkpoint information includes the checkpoint position, SCN, location in online redo log to begin recovery, and so on. CKPT does not write data blocks to data files or redo blocks to online redo log files）
6.Manageability Monitor Processes (MMON and MMNL)[11g新增必选项？]
The manageability monitor process (MMON) performs many tasks related to the Automatic Workload Repository (AWR).
7. Recoverer Process (RECO)
In a distributed database, the recoverer process (RECO) automatically resolves failures in distributed transactions.
Optional Background Processes
Most optional background processes are specific to tasks or features.
some common optional processes:
Archiver Processes (ARCn)
The archiver processes (ARCn) copy online redo log files to offline storage after a redo log switch occurs. ARCn processes exist only when the database is in ARCHIVELOG mode and automatic archiving is enabled.
Job Queue Processes (CJQ0 and Jnnn)
Oracle Database uses job queue processes to run user jobs, often in batch mode。
Flashback Data Archiver Process (FBDA)
The flashback data archiver process (FBDA) archives historical rows of tracked tables into Flashback Data Archives.
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.
Slave processes are background processes that perform. work on behalf of other processes.
I/O Slave Processes
I/O slave processes (Innn) simulate asynchronous I/O for systems and devices that do not support it.
The database supports different types of I/O slaves, including the following:
·I/O slaves for Recovery Manager (RMAN)
·Database writer slaves
Parallel Query Slaves
In parallel execution or parallel processing, multiple processes work together simultaneously to run a single SQL statement.
来自 “ ITPUB博客 ” ，链接：http://blog.itpub.net/24005010/viewspace-684555/，如需转载，请注明出处，否则将追究法律责任。