在Metalink上找到了一个Oracle Database 11gR1和10gR2 ASM Best Practices的说明文档,一共是40页,花点时间,看了一下,主要讲的还是一些ASM的基础知识。不过了解这些对理解ASM是很有必要的。
把这个文档上传到了优快云的download上,大家可以免费下载。只要注册一个帐号就ok了。我上传的所有资源都是0分资源。
下载地址:
ASM_11gR1_BestPractices_v34
http://download.youkuaiyun.com/source/3159726
看的时候,觉得一些注意的地方,都copy了一份,粘贴如下:
1. ASM的限制:
ASM has the following size limits:
(1)63 disk groups in a storage system
(2)10,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:
(1)Processes = Add 16
(2)Shared_pool = Add additional 600k
(3)Large_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 diskgroupsusing external redundancy= (Every 100Gb of space needs 1Mbof extra shared pool) + 2M
For diskgroupsusing Normal redundancy: (Every 50Gb of space needs 1Mb of extra shared pool) + 4M.
For diskgroupsusing 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
NAMETYPEVALUE
------------------------------------ ----------- ------------------------------
aq_tm_processesinteger0
db_writer_processesinteger1
gcs_server_processesinteger1
job_queue_processesinteger0
log_archive_max_processesinteger2
processesinteger40
SQL> show parameter share
NAMETYPEVALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_addressinteger0
max_shared_serversinteger
shared_memory_addressinteger0
shared_pool_reserved_sizebig integer 2516582
shared_pool_sizebig integer 48M
shared_server_sessionsinteger
shared_serversinteger0
SQL> show parameter large_
NAMETYPEVALUE
------------------------------------ ----------- ------------------------------
large_pool_sizebig integer 12M
--这里的large pool需要结合自己的业务进行调整
4. ASM实例和DB实例之间的关系
Since ASM manages diskgroups and hold the database files and its metadata, ashutdown 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.
-----------------------------------------------------------------------------------------------------------------------