Re: Questions on ASM best practices

  • From: Stefan Koehler <contact@xxxxxxxx>
  • To: Amir.Hameed@xxxxxxxxx, "oracle-l@xxxxxxxxxxxxx" <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 16 Dec 2014 17:40:58 +0100 (CET)

Hi Amir,
unfortunately the most answers are Oracle-like "it depends".

>> How does this change in ASM? For an externally-managed ASM disk group, 
>> should there be multiple ASM redo disk groups with each hosting a redo log
>> group or should one ASM redo disk group with multiple members be sufficient?

One ASM disk group with several members *can* be sufficient, if you are using 
some storage based replication techniques (e.g. NetApp MetroCluster).
However if you want to safe guard some ASM disk group corruptions as well, you 
should use two ASM disk groups with one redo log member in each. I got
a client who uses storage based replication techniques, one ASM disk group for 
redo and one redo log member only. So it all depends on your
environment and safety / performance requirements.


>> What is the best approach to manage multiple databases in ASM? Should each 
>> DB have its own set of ASM disk groups or should all databases be placed
>> in the same set of disk groups?

It depends on your backup solution (e.g. storage based snapshots) and your will 
to consolidate and share the disk space. The latter is extremely
useful, if you have disk offcuts with file systems and want to get the rid of 
it. However with the first approach (1 DB = 1 ASM disk group) you may
run into some ASM limits now or later ( 
http://docs.oracle.com/database/121/OSTMG/asmdiskgrps007.htm#OSTMG94136 ), but 
maybe necessary for dedicated
database (storage) snapshots.


>> AU and stripe sizes – For an Oracle E-Business Suite type system, which is 
>> hybrid in nature, should the AU size be 1M for the DATA and REDO groups?
>> Should the stripe size be 1M and 128k for DATA and REDO groups respectively?

Based on the Oracle best practices the AU size should be 4 MB (or better said 
you should set your AU size to the largest
I/O that you wish to issue for sequential access). From my performance 
measurements (mostly with enterprise storage) in client environments the
fine-grained striping works better for redo log files (be aware that the 
default was changed and is coarse nowadays for redo log files) - the data
files are usually coarse-grained striped. You should validate this with some 
generic I/O tests for your (storage) environment when implementing.
Oracle also uses variable size extents ( 
http://docs.oracle.com/cd/E11882_01/server.112/e18951/asmcon.htm#BABCGDBF ). Be 
also aware that the AU size
is used by the free extent search algorithm with LMTs (+ AUTOALLOCATE) and can 
result in some unexpected behavior (
http://oracle-randolf.blogspot.de/2013/04/asm-au-size-and-lmt-autoallocate.html 
)


Some ASM best practices are mentioned in this Oracle presentation as well:
http://www.dbaexpert.com/blog/wp-content/uploads/2009/08/doug-top-10-asm-questions.pdf

I think so far so good for the start.

Best Regards
Stefan Koehler

Oracle performance consultant and researcher
Homepage: http://www.soocs.de
Twitter: @OracleSK


> "Hameed, Amir" <Amir.Hameed@xxxxxxxxx> hat am 16. Dezember 2014 um 16:17 
> geschrieben:
> 
> 
>  Hi folks,
> 
>  I am in the process of implementing ASM for the first time. I have a few 
> questions that I would like to ask regarding ASM best practices for both
> single instance and RAC databases. The Grid/ASM version is 12.1.0.2:
> 
>  ·         Redo log file placement – In the non-ASM world, I am used to using 
> two groups for redo logs on multiple mount points with multiple log
> members in each group. How does this change in ASM? For an externally-managed 
> ASM disk group, should there be multiple ASM redo disk groups with
> each hosting a redo log group or should one ASM redo disk group with multiple 
> members be sufficient?
> 
>  ·         Managing multiple databases – In the non-ASM world, we allocate a 
> separate set of mount points for each database that we set up. This
> isolates an environment at the storage level and also enables us to take 
> storage-based snapshots of a database file systems for backup. Restore is
> also simple and quick where we restore from the online snaps. What is the 
> best approach to manage multiple databases in ASM? Should each DB have its
> own set of ASM disk groups or should all databases be placed in the same set 
> of disk groups? For example, for databases with SIDs ABCD, MNOP & WXYZ:
> 
>          o   Should there be only one set of ASM disk group (DATA, REDO, 
> RECO, etc.) for all of the above databases OR
> 
>          o   Should ABCD be in its own set of disk group (DATA_ABCD, 
> REDO_ABCD, RECO_ABCO), WXYZ be in its set of disk group (DATA_WXYZ, REDO_ 
> WXYZ,
> RECO_ WXYZ), etc.? This model seems to give more flexibility in terms of 
> retiring an environment where a DG could just be dropped and a new one
> created when setting up a new environment, either via cloning or creating one 
> from scratch.
> 
>  ·         AU and stripe sizes – For an Oracle E-Business Suite type system, 
> which is hybrid in nature, should the AU size be 1M for the DATA and
> REDO groups? Should the stripe size be 1M and 128k for DATA and REDO groups 
> respectively?
> 
> 
> 
>  Any feedback will be appreciated.
> 
> 
> 
>  Thanks,
> 
>  Amir
> 

--
//www.freelists.org/webpage/oracle-l


Other related posts: