Background Processes in Oracle
The processes in an Oracle system can be categorized into two major groups:
- User processes run the application or Oracle tool code.
- Oracle processes run the Oracle database server code. They include server processes and background processes.
Check Oracle background processes with below query:
select * from v$session where type = ‘BACKGROUND’;
The process structure varies for different Oracle configurations, depending on the operating system and the choice of Oracle options. The code for connected users can be configured as a dedicated server or a shared server.
With dedicated server, for each user, the database application is run by a different process (a user process) than the one that runs the Oracle database server code (a dedicated server process).
With shared server, the database application is run by a different process (a user process) than the one that runs the Oracle database server code. Each server process that runs Oracle database server code (a shared server process) can serve multiple user processes.
1. PMON: (Process Monitor) monitors and restarts any failed server process.
2. SMON: (System Monitor) it perform recovery after instance failure.
3. DBWR: (Database Writer) is responsible for writing dirty buffers from the database buffer cache to the datafiles.
4. LGWR: (Log Writer) process is responsible for writing the log buffers to the redolog files.
5. CKPT: (Checkpoint Process) process is responsible for updating file headers in the database datafiles.