DBA Tips Archive for Oracle

  


[an error occurred while processing this directive]

No Title

[an error occurred while processing this directive]

by Michael New, MichaelNew@earthlink.net, Gradation LLC

Contents

Introduction

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:


$ ORACLE_SID=+ASM; export ORACLE_SID $ sqlplus "/ as sysdba" SELECT NVL(a.name, '[CANDIDATE]') disk_group_name , b.path disk_file_path , b.name disk_file_name , b.failgroup disk_file_fail_group FROM v$asm_diskgroup a RIGHT OUTER JOIN v$asm_disk b USING (group_number) ORDER BY a.name; 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 submitting the SQL to add the new disks to the disk group, query the dynamic performance view V$ASM_OPERATION in the ASM instance to check the status of the rebalance operation. The V$ASM_OPERATION view will return one row for every active Automatic Storage Management long running operation executing in the Automatic Storage Management instance.


SQL> SELECT group_number, operation, state, power, est_minutes FROM v$asm_operation; GROUP_NUMBER OPERATION STATE POWER EST_MINUTES ------------ --------- ------ ------ ----------- 1 REBAL RUN 11 9

Continue to query this view to monitor the rebalance operation. When this row is gone, the ASM rebalance operation will be complete.

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

About the Author

Jeffrey Hunter is an Oracle Certified Professional, Java Development Certified Professional, Author, and an Oracle ACE. Jeff currently works as a Senior Database Administrator for The DBA Zone, Inc. located in Pittsburgh, Pennsylvania. His work includes advanced performance tuning, Java and PL/SQL programming, developing high availability solutions, capacity planning, database security, and physical / logical database design in a UNIX / Linux server environment. Jeff's other interests include mathematical encryption theory, tutoring advanced mathematics, programming language processors (compilers and interpreters) in Java and C, LDAP, writing web-based database administration tools, and of course Linux. He has been a Sr. Database Administrator and Software Engineer for over 20 years and maintains his own website site at: http://www.iDevelopment.info. Jeff graduated from Stanislaus State University in Turlock, California, with a Bachelor's degree in Computer Science and Mathematics.



Copyright (c) 1998-2017 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
Thursday, 16-Sep-2010 11:10:48 EDT
Page Count: 104716