Featured

    Featured Posts

Background Process in Oracle 10g .



 At startup time, Oracle creates a number of system background processes for each instance to perform system functions:
  • The System Monitor (SMON) performs instance recovery during startup, cleans up temporary segments that are no longer in use, recovers dead transactions skipped during crash and instance recovery because of file-read or offline errors, and coalesces small chunks of contiguous free space into larger blocks of contiguous space for easier allocation by Oracle.. It carries out a crash recovery process when an insance crashed. In a Real Application Clusters database, the SMON process of one instance can perform instance recovery for other instances that have failed. SMON also cleans up temporary segments that are no longer in use and recovers dead transactions skipped during system failure and instance recovery because of file-read or offline errors. These transactions are eventually recovered by SMON when the tablespace or file is brought back online.
  • The Process Monitor (PMON) performs recovery when a user process fails. PMON cleans up the cache and frees resources that the process was using. PMON also restarts failed dispatcher and shared server processes.
  • The Database Writer (DBWR) writes modified (dirty) data blocks from the database cache to data files on disk using a least recently used algorithm. Whenever possible, DBWR writes dirty buffers to disk using a multi-block write mechanism. DBWR manages the buffer cache so that user processes can always find free buffers. The DBWR process is signaled to write dirty buffers to disk under the following conditions:
    • when the dirty list reaches a threshold length defined by the init.ora parameter DB_BLOCK_WRITE_BATCH;
    • when a free buffer has not been found after n buffers have been scanned (where n is defined by DB_BLOCK_MAX_SCAN_CNT in init.ora);
    • when a timeout occurs (every three seconds);
    • when a checkpoint occurs; and
    • when the Log Writer (LGWR) signals DBWR.
  • The LGWR is triggered during several internal events (commit, checkpoint, and log write timeout), as well as when the redo log buffer is one-third full. This process writes the redo log buffer in memory to the redo log file on disk. During each Checkpoint (CKPT), the LGWR updates file headers if a CKPT process is not configured to perform this function.
  • The optional CKPT process updates the headers of all data files during checkpoint processing. If the init.ora CHECKPOINT_PROCESS parameter is enabled, this process can improve system performance by freeing the LGWR to concentrate on the redo log buffer. The CKPT process does not write data blocks to disk; this is performed by the DBWR.
  • The Recoverer (RECO) is started when distributed transactions are permitted and the init.ora parameter DISTRIBUTED_TRANSACTIONS is greater than zero. The Oracle distributed option uses the RECO process to automatically resolve distributed transaction failures. The recoverer process is used to resolve distributed transactions that are pending due to a network or system failure in a distributed database. 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.
  • The Archiver (ARC) copies online redo log files, once they become full, to a specified storage device or location. ARC is present only when the database is started in ARCHIVELOG mode and automatic archiving is enabled.
  • Lock (LCKn) processes are used in conjunction with the Parallel Server option. Up to 10 LCK processes (LCK0 through LCK9) are used to control inter-instance locking.
  • Dispatcher (Dnnn) processes, used with the MTS configuration, allow user processes to share a limited number of shared server processes. At least one dispatcher process must be created for each network protocol used to communicate with Oracle. It is used in a shared server environment.
  • Parallel Query server processes (Pnnn) are used with the Parallel Query option in Oracle 7.1 or higher. With this option, a query coordinator (QC) intercepts queries, decides if they should be split into multiple smaller queries, and sends them to the pool of available query servers for processing. Query servers are also used for parallel index creation and data loads. The number of query servers automatically increases or decreases (within the upper and lower limits set by the administrator) to accommodate changing workload levels. 
  • Snapshot (SNPn) processes are used with the Oracle distributed option to automatically refresh table snapshots. These processes “wake-up” periodically when snapshots are scheduled to be automatically refreshed.
  • The Lock Monitor (LMON) Meant for Parallel server setups, Lock Monitor manages global locks and resources. It handles the redistribution of instance locks whenever instances are started or shutdown. Lock Monitor also recovers instance lock information prior to the instance recovery process. Lock Monitor co-ordinates with the Process Monitor to recover dead processes that hold instance locks.
  • The Job Queue Processes (J000) carry out batch processing. All scheduled jobs are executed by these processes. The initialization parameter JOB_QUEUE_PROCESSES specifies the maximum job processes that can be run concurrently. If a job fails with some Oracle error, it is recorded in the alert file and a process trace file is generated. Failure of the Job queue process will not cause the instance to fail.
  • The Shared Server Processes (SNNN) Intended for Shared server setups (MTS). These processes pickup requests from the call request queue, process them and then return the results to a result queue. The number of shared server processes to be created at instance startup can be specified using the initialization parameter SHARED_SERVERS.
  • The Managed recovery process (MRP) applies archived redo log to the standby database.
  • The remote file server process (RFS) on the standby database receives archived redo logs from the primary database.
  • AQ Time Manager (QMNn). A queue monitor process which monitors the message queues. Used by Oracle Streams Advanced Queuing.
  • Jnnn (10g): These are job queue processes which are spawned as needed by CJQ0 to complete scheduled jobs
  • The Automatic Shared Memory Management feature uses a new background process named Memory Manager (MMAN new on 10g). MMAN serves as the SGA Memory Broker and coordinates the sizing of the memory components. The SGA Memory Broker keeps track of the sizes of the components and pending resize operations
  • RVWR (10g) for Flashback database
- Flashbacking a database means going back to a previous database state.
- The Flashback Database feature provides a way to quickly revert an entire Oracle database to the state it was in at a past point in time.
- This is different from traditional point in time recovery.
- A new background process Recovery Writer ( RVWR) introduced which is responsible for writing flashback logs which stores pre-image(s) of data blocks
- One can use Flashback Database to back out changes that:
- Have resulted in logical data corruptions.
- Are a result of user error.
- This feature is not applicable for recovering the database in case of media failure.
- The time required for flashbacking a database to a specific time in past is DIRECTLY PROPORTIONAL to the number of changes made and not on the size of the database.

  • CTWR (10g). This is a new process Change Tracking Writer (CTWR) which works with the new block changed tracking features in 10g for fast RMAN incremental backups.
  • MMNL (10g) The Memory Monitor Light (MMNL) process is a new process in 10g which works with the Automatic Workload Repository new features (AWR) to write out full statistics buffers to disk as needed.
  • MMON (10g) The memory monitor (MMON) process was introduced in 10g and is associated with the Automatic Workload Repository new features used for automatic problem detection and self-tuning. MMON writes out the required statistics for AWR on a scheduled basis.
  • CJQn (10g) This is the Job Queue monitoring process which is initiated with the job_queue_processes parameter. This is not new. More Info DOCID=222190.1

Facebook like and share

Related Posts You might be Interested:

Do you like this post? Please share this article.

HTML Link Code:

1 comments:

Very nice and useful information thank you for sharing this article with us. Know more about Oracle DBA Training in Bangalore

Reply

Post a Comment

https://marthadba.blogspot.in/

Copyright © MARTHADBA|About Us |Disclaimer | Contact Us |Sitemap |Designed By CodeNirvana