How To Drop and Recreate ASM Diskgroup

 

 

This article describe how we can drop and recreate ASM diskgroup when its not possible to perform this through SQL command.

When a member disk in external redundancy diskgroup is no longer present (or destroyed beyond repair) and you want to drop the diskgroup completely and recreate it or add the disks of the diskgroup to other diskgroups. The diskgroup can not be mounted, because one of the disks is missing, hence the "drop diskgroup" command will not work.

In 10g you can use a workaround by erasing the header of the disk using the dd command.

In 11g, the diskgroup can be dropped when its dismounted with FORCE option:

Oracle Database Storage Administrator's Guide - 11g Release 1 (11.1)
Administering ASM Disk Groups
Dropping Disk Groups
http://download.oracle.com/docs/cd/B28359_01/server.111/b31107/asmdiskgrps.htm#i1020539


Erasing the header using "dd" command is very dangerous operation and need to be done under support supervision and when it confirmed by support that fixing the header is impossible.

In all cases and before the erasing operation you should gather the following information:

1. alert.log file from all ASM instances going back to last successful mount for diskgroup.
2. OS logs.
3. Backup disk header for all member disks in diskgroup:

dd if=/dev/raw/raw13 of=/tmp/raw13.txt bs=1048576 count=100

 

Solution

1. Erase ASM metadata information for disk using OS command:

!!! YOU HAVE TO BE CAREFUL WHEN TYPING DISK NAME !!!

For Unix platforms using 'dd' Unix command.
==================================

Example:

dd if=/dev/zero of=/dev/raw/raw13 bs=1048576 count=50

 

The dd utility copies the specified input file to the specified output.

Description for used options:

'if=file'
    Read from file/device.
'of=file'
    Write to file/device.
'bs=bytes'
    Set both input and output block sizes to bytes.
'count=blocks'
    Copy blocks 'ibs'-byte blocks from the input file


This puts zeroes to the first 50 MB of disk /dev/raw/raw13, erasing all information.

For MS Windows platforms using 'asmtool' (command line) or 'asmtoolg' (GUI)
============================================================

Example:

C:/>asmtool -delete //./ORCLDISKASM7


2. Connect to ASM instance to check the current disk status:

SQL> select header_status,path from v$asm_disk;


You should see the header_status for the cleared disks as " CANDIDATE " which means that disk's metadata erased and it can be used again.

select GROUP_NUMBER,NAME,HEADER_STATUS,TOTAL_MB,FREE_MB from V$ASM_DISK;

GROUP_NUMBER NAME                           HEADER_STATU   TOTAL_MB    FREE_MB
------------ ------------------------------ ------------ ---------- ----------
           0                                CANDIDATE         10000          0
           1 DATA_0000                      MEMBER            10000       9933
           1 DATA_0003                      MEMBER            10000       9933


If you dropped all diskgroup member disks, you should not see the diskgroup any more because all its member disks were cleared.

SQL> select name,STATE from v$asm_diskgroup;


3. Now, you can use the erased disk(s) to create a new disk group or add the disk to existing diskgroup.

 

 

 

 

From Oracle

-------------------------------------------------------------------------------------------------------

QQ: 492913789
Email: ahdba@qq.com
Blog: http://www.cndba.cn/dave

DBA1 群:62697716();   DBA2 群:62697977()   DBA3 群:62697850()  

DBA 超级群:63306533();  DBA4 群: 83829929  DBA5群: 142216823   

聊天 群:40132017   聊天2群:69087192

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值