Oracle Database 11gR1 和 10gR2 ASM Best Practices 说明文档


Metalink上找到了一个Oracle Database 11gR1 10gR2 ASM Best Practices 的说明文档,一共是40页,花点时间,看了一下,主要讲的还是一些ASM的基础知识。 不过了解这些对理解ASM 是很有必要的。

下载Oracle Database 11gR1 和 10gR2 ASM Best Practices

看的时候,觉得一些注意的地方,都copy了一份,粘贴如下: 

 

1. ASM 的限制:

ASM has the following size limits:

1 63 disk groups in a storage system

210,000 ASM disks in a storage system

3 1 million files for each disk group

 

2. ASM 的镜像

       ASM uses a unique mirroring algorithm. ASM does not mirror disks; rather, it mirrors extents. As Thus when a block is written to a file, each extent in the extent set is written in parallel. However, when a block is read from disk, it is always read from the primary extent, unless the primary extent cannot be read.

       ASM 采用的是extent级别的镜像,而非disks,在写extent的时候,是并行写,但是读的时候,仅从primary extent进行读,除非primary extent 不可以用的时候才会去读mirror extent

       这一点和我们的RAID 镜像有一定的区别。

 

3. ASM 内存设置

       The SGA parameters for database instance needs slight modification to support ASM extent maps and other ASM information. Note if the 10g Automatic Memory Management feature is being used on the database instance, then the following sizing data can be treated as informational only or as supplemental data in gauging appropriate values for the SGA. Oracle highly recommends using the Automatic Memory Management feature.

 

       The following are guidelines for SGA sizing on the database instance:

1Processes = Add 16

2Shared_pool = Add additional 600k

3Large_pool – Additional memory is required to store extent maps. Aggregate the values from the following queries to obtain current database storage size that is either already on ASM or will be stored in ASM. Then determine the redundancy type that is used (or will be used), and calculate the shared_pool, 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 diskgroups using external redundancy = (Every 100Gb of space needs 1Mb of extra shared pool) + 2M

For diskgroups using Normal redundancy: (Every 50Gb of space needs 1Mb of extra shared pool) + 4M.

For diskgroups using High redundancy: (Every 33Gb of space needs 1Mb of extra shared pool) + 6M.

 

 

这个是一个10g RAC 测试平台的默认值:

SQL> select instance_name from v$instance;

 

INSTANCE_NAME

----------------

+ASM1

 

SQL> show parameter processes

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

aq_tm_processes                      integer     0

db_writer_processes                  integer     1

gcs_server_processes                 integer     1

job_queue_processes                  integer     0

log_archive_max_processes            integer     2

processes                            integer     40

SQL> show parameter share

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

hi_shared_memory_address             integer     0

max_shared_servers                   integer

shared_memory_address                integer     0

shared_pool_reserved_size            big integer 2516582

shared_pool_size                     big integer 48M

shared_server_sessions               integer

shared_servers                       integer     0

SQL> show parameter large_

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

large_pool_size                      big integer 12M

--这里的large pool 需要结合自己的业务进行调整

 

 

4. ASM 实例和DB 实例之间的关系

       Since ASM manages diskgroups and hold the database files and its metadata, a shutdown of the ASM instance will cause all client-database instances to shutdown as well.

       In normal shutdowns, the ASM instance will begin shutdown and wait for all sessions to disconnect, just as typical database instances.

       Note, however that ASM has a persistent database instance connection, thus the database instances must be shutdown first, in order for ASM to complete shutdown.

--DB 实例先shutdown 之后 ASM 实例才能shutdown

 

       In case of ASM SHUTDOWN IMMEDIATE or ABORT, ASM will immediately terminate any open connections (including the database instance connections), and as a result, all dependent databases will immediately abort; i.e., databases will ungracefully shutdown.

       In a single ASM instance configuration, if the ASM instance fails while diskgroups are open for update, ASM instance recovery will be performed upon the restart of ASM by reading the disk group logs.

       In RAC environments, with multiple ASM instances sharing disk groups, if one ASM instance should fail, another node’s ASM instance automatically recovers transient ASM metadata changes caused by the failed instance; i.e. performs instance recovery.

相关内容