Initialization Parameters for Oracle ASM Instances
Settings for Oracle ASM instance initialization parameters are discussed in this topic.
To install and initially configure an Oracle ASM instance, use Oracle Universal Installer (OUI) and Oracle ASM Configuration Assistant (ASMCA).
After an Oracle ASM instance has been installed on a single-instance Oracle Database or in an Oracle Real Application Clusters (Oracle RAC) environment, the final Oracle ASM configuration can be performed. Only a few Oracle ASM-specific instance initialization parameters must be configured. The default values are usually sufficient.
The following topics are discussed:
-
About Initialization Parameter Files for an Oracle ASM Instance
-
About Backing Up, Copying, and Moving an Oracle ASM Initialization Parameter File
-
Recommended Settings for Oracle ASM Initialization Parameters
-
About Setting Database Initialization Parameters for Use with Oracle ASM
See Also:
-
Oracle Database Reference for information about initialization parameters
-
Oracle Database Administrator’s Guide for information about initialization parameter files
-
Oracle Grid Infrastructure Installation and Upgrade Guide for information about installing and configuring Oracle ASM
-
The Oracle Cloud Storage page on the Oracle Technology Network website at
http://www.oracle.com/technetwork/database/cloud-storage/index.html
for more information about Oracle ASM best practices
About Initialization Parameter Files for an Oracle ASM Instance
When installing Oracle ASM in an Oracle Restart (standalone) configuration, Oracle Universal Installer (OUI) creates a separate server parameter file (SPFILE) and password file for the Oracle ASM instance. The ASM SPFILE is stored in a disk group during installation.
When installing Oracle ASM in a clustered Oracle ASM environment, OUI creates a single, shared SPFILE for Oracle ASM in a disk group.
When upgrading an Oracle ASM instance, if the ASM SPFILE was originally in a shared file system, then the upgraded Oracle ASM instance retains the SPFILE in the same location. If the original Oracle ASM instance used a PFILE, then after an upgrade the instance continues to use a PFILE.
You can use an SPFILE or a text-based initialization parameter file (PFILE) as the Oracle ASM instance parameter file. If you use an SPFILE in a clustered Oracle ASM environment, then you must place the SPFILE in a disk group or on a cluster file system. Oracle recommends that the Oracle ASM SPFILE is placed in a disk group. You cannot use a new alias created on an existing Oracle ASM SPFILE to start the Oracle ASM instance
If you do not use a shared Oracle Grid Infrastructure home, then the Oracle ASM instance can use a PFILE. The same rules for file name, default location, and search order that apply to database initialization parameter files also apply to Oracle ASM initialization parameter files.
When an Oracle ASM instance searches for an initialization parameter file, the search order is:
-
The location of the initialization parameter file specified in the Grid Plug and Play (GPnP) profile
-
If the location has not been set in the GPnP profile, then the search order changes to:
-
SPFILE in the Oracle ASM instance home
For example, the SPFILE for Oracle ASM has the following default path in the Oracle Grid Infrastructure home in a Linux environment:
$ORACLE_HOME/dbs/spfile+ASM.ora
-
PFILE in the Oracle ASM instance home
-
Note:
A PFILE or SPFILE is required if your configuration uses nondefault initialization parameters for the Oracle ASM instance.
You can administer Oracle ASM initialization parameter files with SQL*Plus, ASMCA, and ASMCMD commands.
See Also:
-
Managing Oracle ASM With ASMCA for information about the ASMCA GUI and command-line interfaces
-
ASMCMD Instance Management Commands for information about ASMCMD commands for managing an Oracle ASM SPFILE; such as
spbackup
,spcopy
, andspmove
-
Oracle Database Administrator’s Guide for more information about creating and maintaining initialization parameter files
-
Oracle Database SQL Language Reference for information about creating an SPFILE with the
CREATE
SPFILE
SQL statement
About Backing Up, Copying, and Moving an Oracle ASM Initialization Parameter File
You can back up, copy, or move an Oracle ASM SPFILE with the ASMCMD spbackup
, spcopy
, or spmove
commands.
In addition, you can use the SQL CREATE
SPFILE
to create an Oracle ASM SPFILE when connected to the Oracle ASM instance.
You can also copy and move an Oracle ASM PFILE with the commands available on the specific platform, such as cp
for Linux.
After copying or moving an SPFILE or PFILE, you must restart the instance with the SPFILE or PFILE in the new location to use that SPFILE or PFILE.
The following topics are discussed:
See Also:
-
spbackup, spcopy, and spmove for information about ASMCMD commands for managing an SPFILE
-
Oracle Database Administrator's Guide for more information about creating and maintaining initialization parameter files
-
Oracle Database SQL Language Reference for information about creating an SPFILE with the
CREATE
SPFILE
SQL statement -
Oracle Real Application Clusters Installation Guide for information about Grid Plug and Play (GPnP)
Creating, Copying, and Moving an SPFILE Into a Disk Group
If the COMPATIBLE.ASM
disk group attribute is set to 11.2
or greater for a disk group, you can create, copy, or move an Oracle ASM SPFILE into the disk group.
For example, after upgrading an instance from Oracle ASM 11g Release 1 (11.1) to Oracle ASM 11g Release 2 (11.2), you could place the Oracle ASM SPFILE in a disk group that has COMPATIBLE.ASM
set to 11.2
. For information about disk group compatibility attributes, see "Disk Group Compatibility".
In the following steps, assume an Oracle ASM 11g Release 2 (11.2) instance is using a PFILE stored in $ORACLE_HOME/dbs/asmpfile.ora
. You can use the SQL CREATE
SPFILE
statement to create an SPFILE from a PFILE stored in a local or shared file system. If a PFILE does not exist, then it could be created with the SQL CREATE
PFILE
statement.
To create an SPFILE in a disk group, perform the following steps:
Making a Back Up Copy of an Oracle ASM SPFILE in a Disk Group
This section describes the steps to make a back up copy of an Oracle ASM SPFILE in another disk group using the ASMCMD commands. If necessary, then the backup copy can be used to restore the Oracle ASM SPFILE.
The source and target disk groups must have the disk group attribute COMPATIBLE.ASM
set to 11.2
or higher.
To make a copy of the Oracle ASM SPFILE in another disk group with the spcopy
command perform the following steps:
In the event that the current Oracle ASM SPFILE file in a disk group has been corrupted or that disk group is not accessible, you can use spset
or spcopy
with the -u
option to restore the Oracle ASM SPFILE file using the backup copy that you have previously created.
For example:
ASMCMD [+] > spcopy -u +FRA/spfileCopyASM.ora +DATA2/ASM/spfileASM.ora
About Oracle ASM Initialization Parameter Settings
There are several initialization parameters that you must set for an Oracle ASM instance. You can set these parameters with Oracle ASM Configuration Assistant (ASMCA). You can also set some parameters after database creation using SQL ALTER
SYSTEM
or ALTER
SESSION
statements.
The Oracle ASM parameters use suitable defaults for most environments. You cannot use parameters with names that are prefixed with ASM_*
in database instance parameter files.
About Automatic Memory Management for Oracle ASM
Automatic memory management automatically manages the memory-related parameters for both Oracle ASM and database instances with the MEMORY_TARGET
parameter. Automatic memory management is enabled by default on an Oracle ASM instance, even when the MEMORY_TARGET
parameter is not explicitly set. The default value used for MEMORY_TARGET
is acceptable for most environments. This is the only parameter that you must set for complete Oracle ASM memory management. Oracle strongly recommends that you use automatic memory management for Oracle ASM.
An Oracle ASM instance can automatically increase the values set for MEMORY_TARGET
and MEMORY_MAX_TARGET
if an ORA-04031 error is raised and automatic memory management is enabled. If MEMORY_MAX_TARGET
has been explicitly set to a value, then every time ORA-04031 is raised, the MEMORY_TARGET
value is increased by 10% of the existing MEMORY_TARGET
value or 128 MB, whichever is greater, but not greater than the customer specified MEMORY_MAX_TARGET
value. If MEMORY_MAX_TARGET
is not explicitly set, then both MEMORY_TARGET
and MEMORY_MAX_TARGET
are increased by 10% of the existing MEMORY_TARGET
value or 128 MB, whichever is greater, for a maximum of five increases. The Oracle ASM instance must be rebooted to use the new MEMORY_TARGET
and MEMORY_MAX_TARGET
settings.
If you do not set a value for MEMORY_TARGET
, but you do set values for other memory related parameters, Oracle internally calculates the optimum value for MEMORY_TARGET
based on those memory parameter values. You can also increase MEMORY_TARGET
dynamically, up to the value of the MEMORY_MAX_TARGET
parameter, just as you can do for the database instance.
Although it is not recommended, you can disable automatic memory management by either setting the value for MEMORY_TARGET
to 0
in the Oracle ASM parameter file or by running an ALTER
SYSTEM
SET
MEMORY_TARGET
=0
statement. When you disable automatic memory management, Oracle reverts to automatic shared memory management and automatic PGA memory management. To revert to Oracle Database 10g Release 2 (10.2) functionality to manually manage Oracle ASM SGA memory, also run the ALTER
SYSTEM
SET
SGA_TARGET=0
statement. Unless specified, the behaviors of the automatic memory management parameters in Oracle ASM instances behave the same as in Oracle Database instances.
Note:
-
For a Linux environment, automatic memory management cannot work if
/dev/shm
is not available or is undersized. For more information, see Oracle Database Administrator's Reference for Linux and UNIX-Based Operating Systems. For information about platforms that support automatic memory management, see Oracle Database Administrator's Guide. -
The minimum
MEMORY_TARGET
for Oracle ASM is 1 GB. If you setMEMORY_TARGET
lower, then Oracle increases the value forMEMORY_TARGET
to 1 GB automatically. -
For the recommended settings of memory initialization parameters in an Oracle Exadata environment, refer to the Oracle Exadata documentation.
See Also:
-
Oracle Database Administrator's Guide for more information about the functionality of automatic memory management for database instances, which varies from Oracle ASM
-
Oracle Database Concepts for an overview of memory management methods
Recommended Settings for Oracle ASM Initialization Parameters
This section contains information about the following initialization parameters for Oracle ASM:
See Also:
-
Oracle Database Reference for more information about initialization parameters
-
Oracle Database Administrator's Guide for more information about creating and maintaining an initialization parameter file
ASM_DISKGROUPS
The ASM_DISKGROUPS
initialization parameter specifies a list of disk group names that an Oracle ASM instance mounts at startup when the SQL ALTER
DISKGROUP
ALL
MOUNT
statement is issued.
The Oracle ASM instance startup process executes ALTER
DISKGROUP
ALL
MOUNT
unless the NOMOUNT
startup option is specified.
The default value of the ASM_DISKGROUPS
parameter is a NULL
string.
The ASM_DISKGROUPS
parameter is dynamic. If you are using a server parameter file (SPFILE), then you do not have to manually alter the value of ASM_DISKGROUPS
in most situations. Oracle ASM automatically adds a disk group to the parameter when the disk group is successfully created or mounted. Oracle ASM also automatically removes a disk group from the parameter when the disk group is dropped. However, the SPFILE is not updated on a manual dismount.
Note:
In Oracle Flex ASM configurations, disk groups are not removed from the SPFILE on dismount. Disk groups must always be auto-mounted so that remote instances can access them. A remote instance is an Oracle Database, Oracle IOServer, or Oracle ASM proxy instance located on a different node than the Oracle ASM instance.
The following is an example of setting the ASM_DISKGROUPS
parameter dynamically:
SQL> ALTER SYSTEM SET ASM_DISKGROUPS = DATA, FRA;
When using a text initialization parameter file (PFILE), you may edit the initialization parameter file to add the name of any disk group so that it is mounted automatically at instance startup. You must remove the name of any disk group that you no longer want automatically mounted.
The following is an example of the ASM_DISKGROUPS
parameter in the initialization file:
ASM_DISKGROUPS
=
DATA,
FRA
Note:
Issuing the ALTER DISKGROUP
...ALL MOUNT
or ALTER DISKGROUP
...ALL DISMOUNT
commands does not affect the value of ASM_DISKGROUPS
.
For Oracle Database 12c Release 1 or later, Oracle ASM configurations support up to 511 disk groups. Oracle ASM configurations with Oracle Database releases before 12c Release 1 can only support up to 63 disk groups.
See Also:
-
About Mounting Disk Groups at Startup for information about disk groups that are mounted at startup time
-
Mounting and Dismounting Disk Groups for additional information about mounting Oracle ASM disk groups
-
Managing Oracle Flex ASM for information about Oracle Flex ASM
-
Oracle Database Reference for more information about the
ASM_DISKGROUPS
initialization parameter
ASM_DISKSTRING
The ASM_DISKSTRING
initialization parameter specifies a comma-delimited list of strings that limits the set of disks that an Oracle ASM instance discovers.
The discovery strings can include wildcard characters. Only disks that match one of the strings are discovered. The same disk cannot be discovered twice.
The discovery string format depends on the Oracle ASM library and the operating system that are in use. Pattern matching is supported. Refer to your operating system-specific installation guide for information about the default pattern matching.
For example on a Linux server, to limit the discovery process to only include disks that are in the /dev/rdsk/mydisks
directory for an Oracle ASM instance that does not use Oracle ASM Filter Driver (Oracle ASMFD) or ASMLIB, set the ASM_DISKSTRING
initialization parameter to:
/dev/rdsk/mydisks/*
The asterisk is required.
To limit the discovery process to only include disks that have a name that ends in disk3
or disk4
, you could set ASM_DISKSTRING
as follows on a Linux system:
ASM_DISKSTRING
=
'/dev/rdsk/*disk3'
, '/dev/rdsk/*disk4'
The ?
character, when used as the first character of a path, expands to the Oracle home directory. Depending on the operating system, when you use the ?
character elsewhere in the path, it is a wildcard for one character.
The default value of the ASM_DISKSTRING
parameter is a NULL
string. A NULL
value causes Oracle ASM to search a default path for all disks in the system to which the Oracle ASM instance has read and write access. The default search path is platform-specific. Refer to your operating system-specific installation guide for more information about the default search path.
Oracle ASM cannot use a disk unless all of the Oracle ASM instances in the cluster can discover the disk through one of their own discovery strings. The names do not have to be the same on every node, but all disks must be discoverable by all of the nodes in the cluster. This may require dynamically changing the initialization parameter to enable adding new storage.
See Also:
-
Oracle ASM Disk Discovery for more information about discovering disks
-
Oracle Exadata documentation for information about the Oracle ASM discovery string format for Oracle Exadata
-
Oracle Database Reference for more information about the
ASM_DISKSTRING
initialization parameter
ASM_IO_PROCESSES
The ASM_IO_PROCESSES
initialization parameter specifies the number of IO worker processes to be started in an Oracle IOServer (IOS) server instance.
This parameter is only applicable for an Oracle IOServer instance, which runs in an Oracle Grid Infrastructure home.
IOServer instances are started automatically in the Oracle Grid Infrastructure configuration when generating the credential file for a client cluster. You can configure the number of IOServer instances running in the client cluster.
The default value should work in most cases. However, under heavy IO loads a higher value than the default may be appropriate.
See Also:
-
Overview of Oracle Flex ASM for information about Oracle IOServer and Oracle Flex ASM
-
Oracle Database Reference for more information about the
ASM_IO_PROCESSES
initialization parameter
ASM_POWER_LIMIT
The ASM_POWER_LIMIT
initialization parameter specifies the default power for disk rebalancing in a disk group.
The range of values is 0
to 1024
. The default value is 1
. A value of 0
disables rebalancing. Higher numeric values enable the rebalancing operation to complete more quickly, but might result in higher I/O overhead and more rebalancing processes.
-
For disk groups that have the disk group ASM compatibility set to
11.2.0.2
or higher (for example,COMPATIBLE.ASM
=11.2.0.2
), the operational range of values is0
to1024
for the rebalance power. -
For disk groups that have the disk group ASM compatibility set to less than
11.2.0.2
, the operational range of values is0
to11
inclusive. If the value forASM_POWER_LIMIT
is larger than11
, a value of11
is used for these disk groups.
You can also specify the power of the rebalancing operation in a disk group with the POWER
clause of the SQL ALTER
DISKGROUP
.. REBALANCE
statement. The range of allowable values for the POWER
clause is the same for the ASM_POWER_LIMIT
initialization parameter. If the value of the POWER
clause is specified larger than 11
for a disk group with ASM compatibility set to less than 11.2.0.2
, then a warning is displayed and a POWER
value equal to 11
is used for rebalancing.
The specification of the power of the rebalancing operation in a disk group only affects rebalance operations, not new allocations to a disk group.
See Also:
-
Manually Rebalancing Disk Groups and Tuning Rebalance Operations for information about the
ASM_POWER_LIMIT
initialization parameter, and thePOWER
clause -
Disk Group Compatibility for information about disk group compatibility
-
Oracle Database Reference for more information about the
ASM_POWER_LIMIT
initialization parameter -
Oracle Database SQL Language Reference for more information about the
POWER
clause of the SQLALTER
DISKGROUP
REBALANCE
statement
ASM_PREFERRED_READ_FAILURE_GROUPS
The ASM_PREFERRED_READ_FAILURE_GROUPS
initialization parameter value is a comma-delimited list of strings that specifies the failure groups that should be preferentially read by the given instance.
Note:
The ASM_PREFERRED_READ_FAILURE_GROUPS
initialization parameter has been deprecated in Oracle ASM 12c Release 2 (12.2) and may be desupported in a future release.
The ASM_PREFERRED_READ_FAILURE_GROUPS
parameter setting is instance specific. The default value is NULL
. This parameter is generally used for clustered Oracle ASM instances and its value can be different on different nodes.
For example:
diskgroup_name1
.failure_group_name1
, ...
Note:
In an Oracle extended cluster, which contains nodes that span multiple physically separated sites, the PREFERRED_READ.ENABLED
disk group attribute controls whether preferred read functionality is enabled for a disk group. If preferred read functionality is enabled, then this functionality enables an instance to determine and read from disks at the same site as itself, which can improve performance. Whether or not PREFERRED_READ.ENABLED
has been enabled, preferred read can be set at the failure group level on an Oracle ASM instance or a client instance in a cluster with the ASM_PREFERRED_READ_FAILURE_GROUPS
initialization parameter, which is available for backward compatibility.
The failure group values set by ASM_PREFERRED_READ_FAILURE_GROUPS
take precedence over the PREFERRED_READ.ENABLED
site values. The values of ASM_PREFERRED_READ_FAILURE_GROUPS
on the client instances take precedence over the values on the Oracle ASM instances.
See Also:
-
Preferred Read Failure Groups for more information about preferred read failure groups
-
PREFERRED_READ.ENABLED for information about the
PREFERRED_READ.ENABLED
disk group attribute -
Oracle Real Application Clusters Administration and Deployment Guide for more information about configuring preferred disks in extended clusters
-
Oracle Database Reference for more information about the
ASM_PREFERRED_READ_FAILURE_GROUPS
initialization parameter
DB_CACHE_SIZE
The setting for the DB_CACHE_SIZE
parameter determines the size of the buffer cache.
You do not have to set a value for the DB_CACHE_SIZE
initialization parameter if you use automatic memory management.
This buffer cache stores metadata blocks. The default value for this parameter is suitable for most environments.
See Also:
-
Oracle Database Administrator’s Guide for more information about setting the
DB_CACHE_SIZE
initialization parameter -
Oracle Database Performance Tuning Guide for more information about memory configuration
-
Oracle Database Reference for more information about the
DB_CACHE_SIZE
parameter
DIAGNOSTIC_DEST
The DIAGNOSTIC_DEST
initialization parameter specifies the directory where diagnostics for an instance are located.
The default value for an Oracle ASM instance is the $ORACLE_BASE
directory for the Oracle Grid Infrastructure installation.
Example 3-1 shows an example of the diagnostic directory for an Oracle ASM instance.
Example 3-1 Sample diagnostic directory for an Oracle ASM instance
$ ls $ORACLE_BASE/diag/asm/+asm/+ASM alert cdump hm incident incpkg ir lck metadata stage sweep trace
See Also:
-
Oracle Database Administrator’s Guide for more information about the
DIAGNOSTIC_DEST
initialization parameter and the fault diagnosability infrastructure. -
Oracle Database Reference for more information about the
DIAGNOSTIC_DEST
parameter
INSTANCE_TYPE
The INSTANCE_TYPE
initialization parameter specifies whether the instance is a database instance, an Oracle Automatic Storage Management (Oracle ASM) instance, or an Oracle ASM Proxy instance.
The following is an example of the INSTANCE_TYPE
parameter in the initialization file:
INSTANCE_TYPE
=
ASM
In addition to values asm
and rdbms
, INSTANCE_TYPE
can be set to asmproxy
in an Oracle Flex ASM configuration.
See Also:
-
Managing Oracle Flex ASM for information about Oracle Flex ASM
-
Oracle Database Reference for more information about the
INSTANCE_TYPE
parameter
LARGE_POOL_SIZE
The setting for the LARGE_POOL_SIZE
parameter is used for large allocations.
You do not have to set a value for the LARGE_POOL_SIZE
initialization parameter if you use automatic memory management.
The default value for this parameter is suitable for most environments.
See Also:
-
Oracle Database Administrator’s Guide for more information about setting the
LARGE_POOL_SIZE
initialization parameter -
Oracle Database Performance Tuning Guide for more information about memory configuration
-
Oracle Database Reference for more information about the
LARGE_POOL_SIZE
parameter
PROCESSES
The PROCESSES
initialization parameter affects Oracle ASM, but the default value is usually suitable.
However, if multiple database instances are connected to an Oracle ASM instance, then you can use the following formulas, where n
is the number of database instances connecting to the Oracle ASM instance.
In a non-Exadata environment, the recommended settings are:
-
For
n
< 10,PROCESSES
= 50*n
+ 50 -
For
n
>= 10,PROCESSES
= 10*n
+ 450
In an Oracle Exadata environment, the recommended setting is PROCESSES
= MAX
(450 + 10*n
, 1024).
See Also:
-
Oracle Database Administrator’s Guide for more information about setting the
PROCESSES
initialization parameter -
Oracle Database Reference for more information about the
PROCESSES
parameter
REMOTE_LOGIN_PASSWORDFILE
The REMOTE_LOGIN_PASSWORDFILE
initialization parameter specifies whether the Oracle ASM instance checks for a password file.
This parameter operates the same for Oracle ASM and database instances.
See Also:
-
Oracle Database Administrator’s Guide for more information about setting the
REMOTE_LOGIN_PASSWORDFILE
initialization parameter -
Oracle Database Reference for more information about the
REMOTE_LOGIN_PASSWORDFILE
parameter
SHARED_POOL_SIZE
The setting for the SHARED_POOL_SIZE
parameter determines the amount of memory required to manage the instance.
You do not have to set a value for the SHARED_POOL_SIZE
initialization parameter if you use automatic memory management. The setting for this parameter is also used to determine the amount of space that is allocated for extent storage. The default value for this parameter is suitable for most environments.
See Also:
-
Oracle Database Administrator’s Guide for more information about setting the
SHARED_POOL_SIZE
initialization parameter -
Oracle Database Performance Tuning Guide for more information about memory configuration
-
Oracle Database Reference for more information about the
SHARED_POOL_SIZE
parameter
About Setting Database Initialization Parameters for Use with Oracle ASM
When you do not use automatic memory management in a database instance, the SGA parameter settings for a database instance may require minor modifications to support Oracle ASM. When you use automatic memory management, the sizing data discussed in this section can be treated as informational only or as supplemental information to help determine the appropriate values that you should use for the SGA. Oracle highly recommends using automatic memory management.
The following are configuration guidelines for SGA sizing on the database instance:
-
PROCESSES
initialization parameter—Add 16 to the current value -
LARGE_POOL_SIZE
initialization parameter—Add an additional 600K to the current value -
SHARED_POOL_SIZE
initialization parameter—Aggregate the values from the following queries to obtain the current database storage size that is either on Oracle ASM or stored in Oracle ASM. Next, determine the redundancy type and calculate theSHARED_POOL_SIZE
using the aggregated value as input.SELECT SUM(bytes)/(1024*1024*1024) FROM V$DATAFILE; SELECT SUM(bytes)/(1024*1024*1024) FROM V$LOGFILE a, V$LOG b WHERE a.group#=b.group#; SELECT SUM(bytes)/(1024*1024*1024) FROM V$TEMPFILE WHERE status='ONLINE';
-
For disk groups using external redundancy, every 100 GB of space needs 1 MB of extra shared pool plus 2 MB
-
For disk groups using normal redundancy, every 50 GB of space needs 1 MB of extra shared pool plus 4 MB
-
For disk groups using high redundancy, every 33 GB of space needs 1 MB of extra shared pool plus 6 MB
-
See Also:
-
Oracle Database Administrator’s Guide for information about managing memory allocation in an Oracle Database instance
-
Oracle Database Performance Tuning Guide for more information about memory configuration and use