Setting Oracle ASM Initialization Parameters
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 Oracle
Enterprise Manager or SQL
ALTER
SYSTEM
or ALTER
SESSION
statements.
The
INSTANCE_TYPE
initialization parameter is the only required parameter in the Oracle ASM
instance parameter file. The Oracle ASM* parameters use suitable defaults for
most environments. You cannot use parameters with names that are prefixed with
Oracle ASM* in database instance parameter files.
Some database initialization parameters are also valid
for an Oracle ASM instance initialization file. In general, Oracle ASM selects
the appropriate defaults for database parameters that are relevant to an Oracle
ASM instance.
ASM Initialization Parameters
ASM_DISKGROUPS
·
The
ASM_DISKGROUPS
initialization parameter specifies a list of the names of disk groups that an
Oracle ASM instance mounts at startup.
·
Oracle ignores the value that you set for
ASM_DISKGROUPS
when you specify the NOMOUNT
option at startup or when you run the ALTER
DISKGROUP
ALL
MOUNT
statement.
·
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.
·
Oracle ASM automatically adds a disk group to this
parameter when the disk group is successfully created or mounted.
·
Oracle ASM also automatically removes a disk group from
this parameter when the disk group is dropped or dismounted.
·
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
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 that does not use ASMLib,
to limit the discovery process to only include disks that are in the
/dev/rdsk/mydisks
directory, 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
,
set ASM_DISKSTRING
to:/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.
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
greater (for example, COMPATIBLE.ASM
= 11.2.0.2
), the operational range of values is 0
to 1024
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 is 0
to
11
inclusive. If the value for ASM_POWER_LIMIT
is
larger than 11
, a
value of 11
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.
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. 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,
...
DB_CACHE_SIZE
You
do not have to set a value for the
DB_CACHE_SIZE
initialization
parameter if you use automatic memory management. The setting for the DB_CACHE_SIZE
parameter determines the size of the buffer cache. This
buffer cache is used to store metadata blocks. The default value for this
parameter is suitable for most environments.
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.
$ ls $ORACLE_BASE/diag/asm/+asm/+ASM
alert cdump hm incident incpkg ir lck metadata stage sweep trace
INSTANCE_TYPE
The
INSTANCE_TYPE
initialization parameter is optional for an Oracle ASM instance in an Oracle
Grid Infrastructure home.
The following is an example of the
INSTANCE_TYPE
parameter in the initialization file:INSTANCE_TYPE
=
ASM
LARGE_POOL_SIZE
You
do not have to set a value for the
LARGE_POOL_SIZE
initialization parameter if you use automatic memory management.
The setting for the
LARGE_POOL_SIZE
parameter is used for large allocations. The default value for this parameter
is suitable for most environments.
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, you can use the following formula:PROCESSES
=
50 + 50*n
where
n
is
the number database instances connecting to the Oracle ASM instance.
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.
SHARED_POOL_SIZE
You
do not have to set a value for the
SHARED_POOL_SIZE
initialization parameter if you use automatic memory management. The setting
for the SHARED_POOL_SIZE
parameter determines the amount of memory required to manage the instance. 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.
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 the SHARED_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';
o For
disk groups using external redundancy, every 100 GB of space needs 1 MB of
extra shared pool plus 2 MB
o For
disk groups using normal redundancy, every 50 GB of space needs 1 MB of extra
shared pool plus 4 MB
o For
disk groups using high redundancy, every 33 GB of space needs 1 MB of extra
shared pool plus 6 MB
No comments:
Post a Comment