HomeOracle Page 5 - Getting Started with Oracle Database 10g
Setting Up ASM Disks - Oracle
This chapter explains the "g" in 10g and how to upgrade to 10g. Learn about the SYSAUX Tablespace, automatic storage management and Oracle Database 10g Real Application Clusters (chapter 1 from the book, Oracle Database 10g New Features, by Robert Freeman, McGraw/Hill-Osborne, 2004, ISBN: 0072229470).
Once the ASM instance is in place, you are ready to set up disk groups. Much like a logical volume in OS logical volume managers, a disk group is a logical collection of a number of physical disk devices. You create a disk group with the create diskgroup command. Within the create diskgroup command, you define both the main disk group and the failover disk group that is associated with that main group. Here is an example of the creation of a disk group:
Create diskgroup disk_group_001 FAILGROUP fail_group_01 DISK '/dev/disk1', '/dev/disk2', '/dev/disk3', FAILGROUP fail_group_02 DISK '/dev/disk5', '/dev/disk6', '/dev/disk7';
ASM offers redundancy of data in the definition of the disk groups. This example creates a disk group with two failure groups. Each failure group has three disks assigned to it. Oracle will mirror the two groups, and will stripe Oracle files across one group, and then mirror that to the other group. Normal redundancy, as you see in this example, is the default, and requires that two failure groups be allocated. High redundancy requires three failgroup disk definitions. Another option, external redundancy, does not mirror at all in ASM, and rather leaves redundancy to an external entity (such as the disk array that might be mirrored).
When you create a disk group, you can constrain how much space within the disks are allocated to the disk group. This allows you to keep some space in reserve for later use. You cannot allocate more space to a disk group than already exists.
When the disk group is allocated, ASM will balance database files across the disks of that group, and will rebalance the group when disks are added or removed. All of this can take place without needing to cycle the database, thus availability of the database is not impacted.
NOTE: The create diskgroup command is only run from the ASM instance, not from a normal database instance.
The alter diskgroup command is provided to help you manage existing disk groups. The alter diskgroup command allows you to add disks to an existing group, remove disks from an existing disk group, and resize disks in an existing disk group. Also, the alter diskgroup command allows you to manually rebalance disks and mount or dismount a given disk group.
You can also create directories within your disk groups by using the alter diskgroup command, as shown in this example:
Alter diskgroup disk_group_001 add directory '+disk_group_001/data_001';
You can also rename and drop directories with the alter diskgroup command.
Addressing ASM Disks
Once the disk group is assigned, the Oracle DBA need only refer to the disk group when creating a tablespace. Here is an example:
Note that in this case we referenced the ASM disk group that we created in the previous section. After this command is issued, Oracle will create the datafile in the disk group assigned, using an OMF-compliant naming convention. If you need to manage these files later on (for example, you need to grow the datafile), you can find the files in the DBA_DATA_FILES or V$DATAFILE views, as you previously did.
This chapter is from Oracle Database 10g New Features, by Robert Freeman (McGraw-Hill/Osborne, 2004, ISBN: 0072229470). Check it out at your favorite bookstore today. Buy this book now.