Oracle DBA Tips Corner

     Return to the Oracle DBA Tips Corner.


Adding / Dropping Disks From a ASM Disk Group

by Jeff Hunter, Sr. Database Administrator


Contents

  1. Overview
  2. Identify Candidate Disks
  3. Add Disks to a Disk Group
  4. Drop Disks from a Disk Group



Overview

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.

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

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

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

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



Drop Disks from a Disk Group

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



Copyright (c) 1998-2008 Jeffrey M. Hunter. All rights reserved.

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.

Last modified on
Friday, 08-Sep-2006 15:38:08 EDT
Page Count: 7329