Oracle DBA Tips Corner |
Adding / Dropping Disks From a ASM Disk Group
by Jeff Hunter, Sr. Database Administrator
Contents
Overview
For the purpose of this document, I already
have an existing disk group named TESTDB_DATA1.
I am not using the ASMLib libraries.
Identify Candidate Disks
In this example, I will be adding two new disks (/dev/raw/raw5 and
/dev/raw/raw6) to the current disk group.
Add Disks to a Disk Group
Drop Disks from a Disk Group
All articles, scripts and material located at the Internet address of http://www.idevelopment.info is the copyright of Jeffrey M. Hunter
and is protected under copyright laws of the United States. This document may not be hosted on any other site without my express,
prior, written permission. Application to host any of the material elsewhere can be made by contacting me at jhunter@idevelopment.info.
I have made every effort and taken great care in making sure that the material included on my web site is technically accurate,
but I disclaim any and all responsibility for any loss, damage or destruction of data or any other property which may arise from
relying on it. I will in no case be liable for any monetary damages arising from such loss, damage or destruction.
This short article provides the steps necessary
to add a candidate disk to an already existing
disk group on the Linux platform. It also documents
the steps necessary to remove disks from a running
disk group.
The current disk group configuration, (TESTDB_DATA1 and candidate
disks not assigned to any disk group) has the following configuration:
SQL> @asm_disks
Disk Group Name Path File Name Fail Group
--------------- --------------- -------------------- ---------------
TESTDB_DATA1 /dev/raw/raw1 TESTDB_DATA1_0000 CONTROLLER1
/dev/raw/raw2 TESTDB_DATA1_0001 CONTROLLER1
/dev/raw/raw3 TESTDB_DATA1_0002 CONTROLLER2
/dev/raw/raw4 TESTDB_DATA1_0003 CONTROLLER2
[CANDIDATE] /dev/raw/raw5
/dev/raw/raw6
/dev/raw/raw7
Finally, let's add the two new disks to the disk group. This needs to be done
within the ASM instance and connected as a user with SYSDBA
privileges:
$ ORACLE_SID=+ASM; export ORACLE_SID
$ sqlplus "/ as sysdba"
SQL> ALTER DISKGROUP testdb_data1 ADD
2 FAILGROUP controller1 DISK '/dev/raw/raw5'
3 FAILGROUP controller2 DISK '/dev/raw/raw6' REBALANCE POWER 11;
Diskgroup altered.
After adding the new disks, this is a new view of the disk group configuration:
Disk Group Name Path File Name Fail Group
--------------- --------------- -------------------- ---------------
TESTDB_DATA1 /dev/raw/raw1 TESTDB_DATA1_0000 CONTROLLER1
/dev/raw/raw2 TESTDB_DATA1_0001 CONTROLLER1
/dev/raw/raw3 TESTDB_DATA1_0002 CONTROLLER2
/dev/raw/raw4 TESTDB_DATA1_0003 CONTROLLER2
/dev/raw/raw5 TESTDB_DATA1_0004 CONTROLLER1
/dev/raw/raw6 TESTDB_DATA1_0005 CONTROLLER2
[CANDIDATE] /dev/raw/raw7
Now, let's drop the same two new disks from the disk group. This needs to be done
within the ASM instance and connected as a user with SYSDBA
privileges:
$ ORACLE_SID=+ASM; export ORACLE_SID
$ sqlplus "/ as sysdba"
SQL> ALTER DISKGROUP testdb_data1 DROP
2 DISK testdb_data1_0004, testdb_data1_0005 REBALANCE POWER 11;
Diskgroup altered.
The current disk group configuration, (TESTDB_DATA1 and candidate
disks not assigned to any disk group) now has the following configuration:
Disk Group Name Path File Name Fail Group
--------------- --------------- -------------------- ---------------
TESTDB_DATA1 /dev/raw/raw1 TESTDB_DATA1_0000 CONTROLLER1
/dev/raw/raw2 TESTDB_DATA1_0001 CONTROLLER1
/dev/raw/raw3 TESTDB_DATA1_0002 CONTROLLER2
/dev/raw/raw4 TESTDB_DATA1_0003 CONTROLLER2
[CANDIDATE] /dev/raw/raw5
/dev/raw/raw6
/dev/raw/raw7
Friday, 08-Sep-2006 15:38:08 EDT
Page Count: 7329