Call now: 252-767-6166  
Oracle Training Oracle Support Development Oracle Apps

 E-mail Us
 Oracle Articles
New Oracle Articles

 Oracle Training
 Oracle Tips

 Oracle Forum
 Class Catalog

 Remote DBA
 Oracle Tuning
 Emergency 911
 RAC Support
 Apps Support
 Oracle Support

 SQL Tuning

 Oracle UNIX
 Oracle Linux
 Remote s
 Remote plans
 Application Server

 Oracle Forms
 Oracle Portal
 App Upgrades
 SQL Server
 Oracle Concepts
 Software Support

 Remote S


 Consulting Staff
 Consulting Prices
 Help Wanted!


 Oracle Posters
 Oracle Books

 Oracle Scripts

Don Burleson Blog 







Oracle 11g Automatic Memory  Management

Oracle Database Tips by Donald Burleson

Automatic Memory Management

Oracle Database 11g can routinely manage both the SGA and PGA.  Using this method, the database automatically tunes the sizes of the individual SGA components and the sizes of the individual PGAs.


New in 11g, Automatic Memory Management (AMM) enables the Oracle Database to automatically manage the instance memory.  Sophisticated algorithms are used to adjust SGA and PGA memory settings as needs change.  Oracle strongly recommends using AMM.  Once the memory_target parameter has been set, then, in theory, one can forget about it.  AMM is the simplest way to manage memory.  AMM is available for Linux, Solaris, Windows, HP-UX, and AIX. 


The main difference between ASMM and AMM is that AMM can manage SGA and PGA settings. ASMM can only manage the SGA.  During installation, AMM is enabled if the basic install options are used.


The additional RAC SGA areas are the Global Cache Service (GCS) and Global Enqueue Service (GES) and are collections of background processes.  Both of these processes cover and manage the total cache fusion process, resource transfers, and resource escalations among the instances.


GES and GCS together maintain a Global Resource Directory (GRD) to record the status of each cached block.  GRD remains in memory and is stored on all the instances. Each instance manages a portion of the directory. This distributed nature is a key point for fault tolerance of the RAC.


Global Resource Directory (GRD) is the internal database that records and stores the status of the data blocks. Whenever a block is transferred out of a local cache to another instance's cache, the GRD is updated. The following resource information is available in the GRD:

  • Data Block Identifiers (DBA)

  • Location of most current version 

  • Modes of the data blocks: (N) Null, (S) Shared, (X) Exclusive

  • The roles of the data blocks (local or global) held by each instance

  • Buffer caches on multiple nodes in the cluster

The GRD keeps track of the inventory of resources and their status and location.

The Background Processes

This next section covers the processes.  Background processes are spawned to execute the database processing.  The following is a description of each of the background processes:

  • SMON - System Monitor process performs recovery after instance failure and monitors temporary segments and extents. SMON can also perform instance recovery for other failed RAC instances.

  • PMON - Process Monitor recovers failed user process resources.  PMON performs cleanup of user process resources such as releasing locks.

  • DBWR - Database Writer or Dirty Buffer Writer are responsible for writing dirty buffers from the database block cache to the database data files. Generally, DBWR only writes blocks back to the data files on commit, or when the cache is full and space has to be made for more blocks. The DBWR processes in RAC must be coordinated through the locking and global cache processes to ensure efficient processing is accomplished.  Oracle 11g allows for a maximum of 20 DBWR processes. 

  • LGWR - Log Writer process is responsible for writing the log buffers out to the redo logs. In RAC, each RAC instance has its own LGWR process that maintains that instance's thread of redo logs.  Redo log entries are written sequentially.

  • ARCH - (Optional).  When running in ARCHIVELOG mode, the archive process writes filled redo logs to the archive log location(s).  The archive log files are critical for RAC and non-RAC database recovery.

  • CKPT - A database checkpoint is a method where the state of a database is saved.  The checkpoint process writes checkpoint information to control files and data file headers.  Remember that the checkpoint process is the manager of the database checkpoint; the actual writing of blocks to disk is done by DBWR.

  • CJQ0 - Job queue controller process wakes up periodically and checks the JOB$ table. If a job is due, it spawns Jnnn processes to handle jobs.  A failure of this process does not cause an instance failure.

  • Jnnn - Job processes used by the job queues to process jobs. The CJQ0 process controls it automatically.

  • QMN - (Optional).  Advanced Queuing process for Oracle Streams.  A failure of this process does not cause an instance failure.

  • ASMB  - ASM bridge process.  Process used for RDBMS instance to ASM instance communication such as data file adding or removing.

  • DBRM - Database resource manager process.   Handles resource manager related tasks.

  • DIA0 - Diagnosability process responsible for hang detection and deadlock resolution.

  • DIAG - Diagnosability process that performs diagnostic dumps and executes global oradebug commands.

  • EMNC - Event monitor coordinator.  A process used for database event management and notifications.

  • FBDA - Flashback data archiver process. Archives rows of tracked tables to flashback data archive.  Inserts are not archived.

  • FMON - The database communicates with the mapping libraries provided by storage vendors through an external non-Oracle database process that is spawned by a background process called FMON. FMON is responsible for managing the mapping information. When the file_mapping initialization parameter is specified for mapping data files to physical devices on a storage subsystem, the FMON process is spawned.

  • GMON - Maintains disk membership in ASM disk groups 

  • KATE - Konductor of ASM temporary errands.  Complete proxy I/O to ASM metafile when disk goes offline.

  • MARK - "Marks" ASM allocation units stale during a failed write to disk that is offline.  An allocation unit is the smallest contiguous disk space in ASM.

  • MMAN - Used for internal database tasks

  • MMNL - This process performs frequent and lightweight manageability related tasks such as session history capture and metrics computation.

  • MMON - This process performs various manageability-related background tasks, for example:

- Issuing alerts whenever a given metric violates its threshold value

- Taking snapshots

- Capturing statistics values for SQL objects which have been recently modified

  • PSP0 - Spawns Oracle processes

  • RBAL - Manages rebalance activity for ASM disk groups

  • ARBn - ASM Rebalance process.  Completes the actual rebalance work.

  • SMCO - Space management coordinator.  Involves proactive space allocation and reclaiming.  Spawns Wnnn processes to do its work.

  • VKTM - Virtual keeper of time

The RAC database has the same processes as that of a single-instance Oracle database. However, there are additional RAC specific processes. Those processes will be examined in the next section.

Oracle Grid and Real Application Clusters

See working examples of Oracle Grid and RAC in the book Oracle Grid and Real Application Clusters.

Order directly from Rampant and save 30%. 




Oracle Training at Sea
oracle dba poster

Follow us on Twitter 
Oracle performance tuning software 
Oracle Linux poster


Burleson is the American Team

Note: This Oracle documentation was created as a support and Oracle training reference for use by our DBA performance tuning consulting professionals.  Feel free to ask questions on our Oracle forum.

Verify experience! Anyone considering using the services of an Oracle support expert should independently investigate their credentials and experience, and not rely on advertisements and self-proclaimed expertise. All legitimate Oracle experts publish their Oracle qualifications.

Errata?  Oracle technology is changing and we strive to update our BC Oracle support information.  If you find an error or have a suggestion for improving our content, we would appreciate your feedback.  Just  e-mail:  

and include the URL for the page.


Burleson Consulting

The Oracle of Database Support

Oracle Performance Tuning

Remote DBA Services


Copyright © 1996 -  2020

All rights reserved by Burleson

Oracle ® is the registered trademark of Oracle Corporation.