Skip to main content

Adding New Disks to Existing ASM Disk Group

Add Disks to Existing ASM Disk Group


In this blog I will show how to add new disks to an existing ASM Disk group. This also contains the steps to perform the migration from existing to the new storage system.

In order to add the disk to the ASM disk group, you will first need to configure these disk using the operating system commands. I have provided the steps to configure the disks on AIX system in my blog "Configure Oracle ASM Disks on AIX"

Adding New Disks to DATA Disk Group (Storage Migration for DATA Disk Group)


Login to your ASM instance

$ sqlplus / as sysasm

If the name of the new disk is in different format from the existing disk, the modify the asm_diskstring parameter to identify the new disks. In my below example /dev/ora_data* is the format of the existing disks and /dev/new_disk* is the naming format of the newly configured disks. You should not modify this parameter unless the naming format changes.

SQL> alter system set asm_diskstring = '/dev/ora_data*','/dev/new_disk*';

Issue the below statement to identify that the new disks are listed as status "Provisioned"

SQL> select DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,PATH FROM V$ASM_DISK;

DISK_NUMBER  MOUNT_S  HEADER_STATU  MODE_ST   STATE         PATH
--------------------- -------------- ----------------------- -------------- ------------     ---------------------------
          3                 CACHED   MEMBER              ONLINE     NORMAL    /dev/ora-data3
          1                 CACHED   MEMBER              ONLINE     NORMAL    /dev/ora-data4
          2                 CLOSED    PROVISIONED     ONLINE     NORMAL    /dev/new_disk1
          4                 CLOSED    PROVISIONED     ONLINE     NORMAL    /dev/new_disk2

Use the below command to add the new disks to the disk group. You can adjust the value of rebalance power ( based on the load on the server. Data will be distributed equally between all the disks which are part of the disk group.

SQL> alter diskgroup DATA_DG add disk '/dev/new_disk1','/dev/new_disk2' rebalance power 1;

Wait until the rebalance operation completes. You can use the below statement to check the progress of rebalance operation.

SQL> select * from v$asm_operation;
SQL> select * from gv$asm_operation;

In case you want to remove the old disk disks, for example in the activities like storage migration, where you are moving from old to new faster storage systems, you can use below command to remove the old disks from the disk group.

SQL> alter diskgroup DATA_DG drop disk DATA_DG_0003,DATA_DG_0004 rebalance power 1;

Rebalance operation will occur again to re-distribute the data to the remaining disks which are still the member of the disk group.

Comments

Popular posts from this blog

Configure Oracle ASM Disks on AIX

Configure Oracle ASM Disks on AIX You can use below steps to configure the new disks for ASM after the raw disks are added to your AIX server by your System/Infrastructure team experts: # /usr/sbin/lsdev -Cc disk The output from this command is similar to the following: hdisk9 Available 02-T1-01 PURE MPIO Drive (Fibre) hdisk10 Available 02-T1-01 PURE MPIO Drive (Fibre) If the new disks are not listed as available, then use the below command to configure the new disks. # /usr/sbin/cfgmgr Enter the following command to identify the device names for the physical disks that you want to use: # /usr/sbin/lspv | grep -i none This command displays information similar to the following for each disk that is not configured in a volume group: hdisk9     0000014652369872   None In the above example hdisk9 is the device name and  0000014652369872  is the physical volume ID (PVID). The disks that you want to use may have a PVID, but they must not belong to a volu...

Gitlab installation steps on Redhat Linux

In this blog we will see the steps to install Gitlab on Redhat Enterprise Linux 6. I will be using the virtual machine "gitserver" that I have created on Google Cloud. You can use any server or VM running RHEL 6 and follow these steps. Follow the below steps to install gitlab. Run these steps as root user. # yum install -y curl policycoreutils-python openssh-server cronie # lokkit -s http -s ssh  # yum install postfix  # service postfix start  # chkconfig postfix on  # curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash  # EXTERNAL_URL="http://34.69.44.142" yum -y install gitlab-ee  You will see a screen similar to below, once your gitlab installation is successful. You can now access the gitlab console using the http or https url that you provided during the installation, i.e., http://<ip/server_name> http://gitserver.localdomain.com or  http://34.69.44.142 When you open the c...