Ever since Oracle released their database, DBAs have been finding it increasingly difficult to manage large numbers of database files while keeping them performing optimally. In addition, maintaining the redundancy of those data files at their expected levels poses a challenge. Over the decades, many hardware vendors have provided various storage solutions, yet these solutions have yet to meet the performance levels required by data files today. To meet these needs, Oracle developed the exclusive software solution, ASM. ASM is an integrated file system and volume manager expressly built for Oracle database files. So, what is the big advantage ASM provides? Simply put, DBAs can manage a small of number of disk groups rather than a large number of data files.
A disk group is a set of disks managed together as a unit. How can this optimize performance? ASM automatically creates data files and uses Stripe And Mirror Everything (SAME) technology to stripe and mirror the data files evenly across the disks. Moreover, ASM stripes data at a file level using an allocation unit of 1MB, unlike at volume level. ASM also mirrors the data allocation units in different disks.
In the event of a disk failure, ASM is able to recover the data automatically by evenly redistributing the data over the remaining disks in the disk group. ASM can also fully recover the redundancy of data depending upon the remaining space in the disk group.
Nowadays, disks are so advanced that it is highly unlikely all disks in a disk group will fail at the same time. Since ASM can tolerate a couple of disk failures, the disk group will not lose its data. More surprisingly, most of the failure situations are taken care of by ASM automatically. The DBA can even add or remove a disk from a disk group while the database is online. ASM works well with single or clustered databases too. Multiple databases can also use the same ASM storage arrays at the same time.
ASM internally uses Oracle’s standard file architecture, called Oracle Managed Files (OMF), to create and delete files. It eliminates the need for the DBA to directly manage the operating system files within the Oracle database. ASM inherently supports very large files because any disk group can have a maximum of 10,000 disks. ASM is not only making life easier for the DBA, but also cuts down on overall resource costs and maximizes disk performance.
Configuration below uses IBM System Storage DS8000
Set up storage pool (extent pool)
To create the extent pool:
1. Create an array.
dscli> mkarray -dev IBM.1750-13AB73A -raidtype 5 -arsite IBM.1750-13AB73A/S1
2. Create one fixed block from one array.
dscli> mkrank -dev IBM.1750-13AB73A -array A0 -stgtype fb
3. Create a fixed block storage type extent pool.
dscli> mkextpool -rankgrp 0 -stgtype fb ora_RAC
4. Assign an unassigned rank to a extent pool.
dscli> chrank -extpool p0 r0
5. Display a list of array sites and status information.
dscli> lsarraysite
arsite DA Pair dkcap (10^9B) State Array
====================================================
IBM.1750-13AB73A/S1 IBM.1750-13AB73A/0 146.0 Assigned
IBM.175013AB73A/A0
6. Display a list of defined ranks in a storage image and status information.
dscli> lsrank
ID Group State datastate Array RAIDtype extpoolID stgtype
=====================================================
IBM.1750-13AB73A/R0 0 Normal Normal IBM.1750-13AB73A/A0 5
IBM.1750-13AB73A/P0 fb
List the extent pool
dscli> lsextpool
Name ID stgtype rankgrp status availstor (2^30B)
%allocated available reserved numvols
====================================================
ora_RAC IBM.1750-13AB73A/P0 fb 0 below 48 81
48 0 28
Make volume group and LUNs
To create volume group and LUNs:
1. Create a volume group in a storage image.
dscli> mkvolgrp -type scsimask Aix_oracle
creates volumegroup named Aix_oracle and assigns an
identifier in this case the identifier is v12
2. Create an open systems fixed block volume in a storage image.
dscli> mkfbvol -extpool p0 -cap 1 –volgrp v12 -name
oracle_#h 0210-0213
1GB luns for CRS and vote disks (4 total)
dscli> mkfbvol -extpool p0 -cap 10 –volgrp v12 -name
oracle_#h 0410-0419
10g luns for ASM disks (10 total)
3. List the resulting volume group and its members.
dscli> showvolgrp v12
Name Aix_oracle
ID IBM.1750-13AB73A/V12
Type SCSI Mask
Vols 0210 0211 0212 0213 0410 0411 0412
0413 0414 0415 0416 0417 0418 0419