You are on page 1of 10


The background process MMON checks for tablespace space problems

every 10 minutes; alerts are triggered both when a threshold is exceeded and
once again when the space usage for a tablespace falls back below the
threshold. For example, assume that the default thresholds of 85 percent and
97 percent are in effect. Within a five-minute period, the USERS tablespace
reaches 86 percent full, and MMON generates an alert. Fifteen minutes later,
the USERS tablespace passes the 97 percent mark and finally reaches 99
percent full, and MMON signals a second alert, this time a critical alert. You
allocate a new datafile to the USERS tablespace to bring the overall space
usage to 92 percent. The next time MMON checks for space problems in the
USERS tablespace, the space usage has fallen back below the 97 percent
threshold, and a third alert is sent to denote that the critical alert has been
2. Two new background processes support ASM instances: RBAL and
RBAL coordinates the disk activity for disk groups, and
ORBn, where n can be from 0 to 9, performs the actual extent
movement between disks in the disk groups.
3. For databases that use ASM disks, two new background processes
also exist: OSMB and RBAL.
OSMB performs the communication between the database and the
ASM instance, and
RBAL performs the open and close of the disks in the disk group on
behalf of the database.
4. A new background process, CTWR (Change Tracking Writer), is also
required when using fast incremental backups.
Fast incremental backups optimize an RMAN incremental backup by
quickly identifying those data blocks that have changed since the previous
backup. Fast incremental backups require the use of a change-tracking file
to track the physical location of all database changes. During an
incremental backup, RMAN uses the change tracking file to quickly identify
only the blocks that have changed, avoiding the time-consuming task of
reading the entire datafile to determine which blocks have changed.
Disk space is another consideration when using fast incremental backups:
The size of the
change-tracking file is proportional to the size of the database and the
number of nodes in a
RAC environment.
SQL> alter database enable block change tracking;
Database altered.

Because we used OMF, the block change-tracking file was automatically

named and placed in the directory specified by the DB_CREATE_FILE_DEST
initialization parameter.

SQL> show parameter db_create_file_dest

------------------- ----------- ---------------db_create_file_dest string
SQL> ! ls -l /u04/oradata/ORD/changetracking
total 11348
-rw-r----- 1 oracle oinstall 11600384 Jul 5 10:05 1_mf_0glvc2gb_.chg

If you are not using OMF, then you will have to add the USING FILE clause
to the ALTER
DATABASE command when enabling block change tracking, as in this
SQL> alter database
2 enable block change tracking using file
3 '/u04/oradata/ord/changetracking/chg01.dbf';
Database altered.

incremental backups.

5. Whenever Flashback Database is enabled, the new background

process RVWR is started in order to write data from the flashback buffer in
the System Global Area (SGA) to flashback logs in the flash recovery area. For
large production databases, the value of the LOG_BUFFER parameter should
be at least 8MB to ensure that 16MB is allocated to the flashback buffer;
16MB is the maximum size of the flashback buffer (one granule).
6. Oracle 10g keeps track of how the database is being used. The information is
collected by the MMON process and is recorded in the Automatic Workload
Repository (AWR). AWR is a new feature of Oracle 10g database.
The MMON (which stands for manageability monitor) process is
responsible for filtering and transferring the memory statistics to the
disk every hour.
When the buffer is full, the MMNL (which stands for manageability
monitor light) process is responsible to flush the information to the
7. The Memory Manager Process
Oracle 10g comes with the new MMAN process (which stands for
memory manager) to managethe automatic shared memory. MMAN
serves as the SGA memory broker and coordinates the sizing of the
memory components. It keeps track of the sizes of the components
and pending resize operations.
The MMAN process observes the system and workload to determine
the ideal distribution of memory. MMAN performs this check every few
minutes so that memory can always be present where needed. Based
on the workload, ASMM does the following:

It captures statistics periodically in the background.

It uses different memory advisors.
It performs what-if analysis to determine optimal distribution of
It moves memory to where it is needed.
When SPFILE is used, component sizes are used from the last

The default value for SGA_TARGET is zero, which means ASMM is not enabled
by default.
SGA_TARGET can be increased or decreased dynamically within the limits of
parameter. When ASMM is used and a value for the automatically tuned
component is also
specified, the value would be considered as the minimum required size for
the component. The
memory manager process (MMAN) is the SGA memory broker and is
responsible for the sizing of the SGA components.
8. PSP0:
Actually PSP process is undocumented background process of Oracle. PSP process was introduced
in Oracle 10g (specially in PSP process is called as Process SPawner. It starts with PSP0 as
background process of Oracle instance. Process SPawner (PSP0) has job of creating and managing
other Oracle background processes.
While PSP process itself terminated due to any error the whole instance is crashed with ORA-00490
error as follows message.
ORA-00490: PSP process terminated with error
When operating system is encountering with some unknown error like insufficient space in temp
Area or swap Area or insufficient system resources then Oracle throws following errors.
ORA-27300: OS system dependent operation:fork failed with status: 12
ORA-27301: OS failure message: Not enough space
ORA-27302: failure occurred at: skgpspawn3
Same time PMON is terminating instance with following error with process id of PMON process.
Because Oracle processes are being unmanageable of Oracle database instance.
PMON: terminating instance due to error 490
Instance terminated by PMON, pid = 20094

Root cause of this error that there is no free space available in swap area of System for spawning new
process of Oracle. Due to this reason Process SPwaner process PSP0 (with ORA-00490 error
code of Oracle) terminated because it doesn't able to manage or create Oracle processes. Result is
Oracle instance crashed by PMON process with errorstack 490 (which is pointing out ORA-00490). If
lack of system resource found then also same situation can be occurring.

First and main solution is check your swap space and increase swap area in system. Because due to
lack of space in swap are Oracle unable to create new process and PSP0 Process SPwaner is unable to
manage Oracle process. Second solution is check "ulimit" setting for Oracle. "ulimit" is for user shell
limitation. If maximum shell limit is reached then also PSP0 process becomes unstable to manage
other Oracle processes.Increase the "ulimit" setting for Oracle user.

The MAX_IDLE_TIME parameter defines the maximum amount of time in seconds a

session can be inactive or idle. When the session exceeds the limit, the PMON
process will terminate the session and clean up its state. The
MAX_IDLE_BLOCKER_TIME parameter defines the maximum amount of time in
seconds a session can be idle and block the acquisition of resources for another
Flash Recovery Area Occupants
All the files needed to recover a database from a media failure or a logical error are
contained in the flash recovery area. The files that can reside in the flash recovery
area are as follows:
Control files
A copy of the control file is created in the flash recovery area when the database is
created. This copy of the control file can be used as one of the mirrored copies of
the control file to ensure that at least one copy of the control file is available after a
media failure.
Archived log files
When the flash recovery area is configured, the initialization parameter
LOG_ARCHIVE_DEST_10 is automatically set to the flash recovery area location. The
corresponding ARCn processes create archived log files in the flash recovery area
and any other defined LOG_ARCHIVE_DEST_n locations.

Flashback logs
If Flashback Database is enabled, then its flashback logs are stored in the flash
recovery area.
Control file and SPFILE autobackups
The flash recovery area holds control file and SPFILE autobackups generated by RMAN, if RMAN is
configured for control file autobackup. When RMAN backs up datafile #1, the control file is
automatically included in the RMAN backup.
Data file copies
For RMAN BACKUP AS COPY image files, the default destination is the flash recovery area.
RMAN backup sets
By default, RMAN uses the flash recovery area for both backup sets and image copies. In
addition, RMAN puts restored archive log files from tape into the flash recovery area in
preparation for a recovery operation.

New Parameters:
The following are the new initialization parameters in Oracle 10gR1:
1. asm_diskgroups:
Specifies a list of names of disk groups to be mounted by an Automatic
Storage Management instance at instance startup or when an ALTER
DISKGROUP ALL MOUNT statement is issued.
2. asm_diskstring
Specifies an operating systemdependent value used by ASM to limit the set
of disks considered for discovery.
3. asm_power_limit
Specifies the maximum power of an ASM instance for disk rebalancing.
4. create_stored_outlines
Determines whether Oracle automatically creates and stores an outline for
each query submitted during the session.
5. db_flashback_retention_target
Specifies the upper limit in minutes on how far back in time the database
may be flashed back.
6. db_recovery_file_dest
Specifies the default location for the flash recovery area.
7. db_recovery_file_dest_size
Specifies in bytes the hard limit on the total space used by target database
recovery files created in the flash recovery area.
8. db_unique_name
Specifies a globally unique name for the database.
9. ddl_wait_for_locks

Specifies whether DDL statements wait and complete instead of timing out if
the statement is not able to acquire all the required locks.
Specifies a list of network adapters that can be used to access the disk
Specifies the initial number of server processes in the Global Cache Service to
serve the interinstance traffic among RAC instances.
Specifies whether an instance is a database instance or an ASM instance.
Specifies whether Oracle refers to Oracle Internet Directory for user
authentication information.
Enables or disables the sending of redo logs to remote destinations and the
receipt of remote redo logs.
Specifies when the archiver processes (ARCn) transmit redo data to remote
standby database destinations.
Specifies the compilation mode (INTERPRETED or NATIVE) for PL/SQL library
Specifies whether PL/SQL library units will be compiled for debugging.
Specifies the optimization level that will be used to compile PL/SQL library
units. The higher the setting of this parameter, the more effort the compiler
makes to optimize PL/SQL library units.
Enables or disables the reporting of warning messages by the PL/SQL
compiler and specifies which warning messages to show as errors.
Enables or disables resumable statements and specifies resumable timeouts
at the system level.
Specifies the total size for all SGA components. This parameter enables
Automatic Shared Memory Management.

Enables or disables the use and reporting of tables with unusable indexes or
index partitions.
Specifies the SMTP host and port to which UTL_MAIL delivers outbound email.
Specifies the category name for use by sessions to qualify the lookup of SQL
profiles during SQL compilation.
Specifies in bytes the size of stream pool, from which memory is allocated for
Obsolete Parameters:
The following initialization parameters are available in Oracle 9i Release 2 but are
obsolete in
Oracle 10g:
1. dblink_encrypt_login
Specifies whether attempts to connect to other Oracle databases through
database links should use encrypted passwords.
2. hash_join_enabled
Specifies whether the optimizer should consider using a hash join as a join
3. log_parallelism
Specifies the level of concurrency for redo allocation within Oracle.
4. max_rollback_segments
Specifies the maximum number of rollback segments that can be kept online.
In Oracle 10g, always uses the default value.

5. mts_circuits
In Oracle 10g, use CIRCUITS instead.
6. mts_dispatchers
In Oracle 10g, use DISPATCHERS instead.
7. mts_listener_address
In Oracle 10g, use LOCAL_LISTENER instead.
8. mts_max_dispatchers
In Oracle 10g, use MAX_DISPATCHERS instead.

9. mts_max_servers
In Oracle 10g, use MAX_SHARED_SERVERS instead.
In Oracle 10g, use LOCAL_LISTENER instead.
In Oracle 10g, use SHARED_SERVERS instead.
In Oracle 10g, use SERVICE_NAMES instead.
In Oracle 10g, use SHARED_SERVER_SESSIONS instead.
Restricts the number of permutations the optimizer will consider in queries
with joins.
In Oracle 10g, this parameter is hidden.
Specifies the Oracle Trace collection name for the instance.
Specifies the directory where the trace collection definition (.cdf) and data
collection (.dat) files are located.
Specifies in bytes the maximum size of the Oracle Trace collection file (.dat).
Enables or disables the Oracle Trace collection.
Specifies the event set that Oracle Trace collects.
Specifies the directory where the Oracle Trace facility definition(.cdf) files are
Specifies whether the optimizer uses partition views.
Specifies a full directory name of a C compiler that is used to compile the
generated C file into an object file.
Specifies the full directory of a linker such as ld in Unix.

Specifies the full directory name of a make file.
Specifies the full directory name of a make utility such as make in Unix.
Specifies whether row locks are acquired during UPDATE operations.
Determines whether to record user information, operating system
information, and client information in the redo logs. In Oracle 10g, the
behavior is similar to a TRUE value.
Enables users to suppress errors while executing manual undo management
mode operations. In Oracle 10g, the behavior is similar to a TRUE value.
Deprecated Parameters:
You can query the deprecated parameters in Oracle 10g from the V$PARAMETER
view. The following
query provides the name and description of deprecated parameters:
SQL> SELECT UPPER(name) parameter_name, description
2 FROM v$parameter
3 WHERE isdeprecated = 'TRUE'
SQL> /
lock name space used for generating lock names
for standby/clone database

Number of database blocks/latches in keep buffer



Number of database blocks/latches in recycle

buffer pool


start archival process on SGA initialization


if TRUE startup in parallel server mode


number of instances to use for sizing OPS SGA



Upper bound on recovery reads


max number of roles a user can have enabled


Global Application Context Pool Size in Bytes


PL/SQL compiler flags


enable intelligent defaults for parallel

execution parameters


start DG Broker monitor (DMON process)

12 rows selected.