How To Fix ASM Disk Header Status from "FORMER" To "MEMBER"
Review ASM disks. Note header_status is FORMER and group# is 0 (does not belong to group).SQL> drop diskgroup ACFS_DATA; drop diskgroup ACFS_DATA * ERROR at line 1: ORA-15039: diskgroup not dropped ORA-15001: diskgroup "ACFS_DATA" does not exist or is not mounted SQL> alter diskgroup ACFS_DATA mount; alter diskgroup ACFS_DATA mount * ERROR at line 1: ORA-15032: not all alterations performed ORA-15017: diskgroup "ACFS_DATA" cannot be mounted ORA-15040: diskgroup is incomplete SQL>
Let's fix the issue.SQL> SELECT group_number group#, disk_number disk#, header_status header_, mode_status mode_, state, library, os_mb, total_mb, free_mb, label, path 2 FROM V$ASM_DISK 3 ORDER BY header_status desc, path 4 ; GROUP# DISK# HEADER_ MODE_ STATE LIBRARY OS_MB TOTAL_MB FREE_MB LABEL PATH ------ ----- ---------- ---------- ------------ ---------------------------- ---------- ---------- ---------- --------------- ---------------------------------------- 0 1 FORMER ONLINE NORMAL System 153584 0 0 /dev/mapper/acfs_01p1 22 rows selected.
Documentation used head -25 and might be better to grep for kfdhdb.hdrsts ### Use kfed to read device and confirm header_status KFDHDR_FORMERVerify results using SQL$ kfed read '/dev/mapper/acfs_01p1' | head -25 kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 2147483648 ; 0x008: disk=0 kfbh.check: 1999457674 ; 0x00c: 0x772d4d8a kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kfdhdb.driver.provstr: ORCLDISK ; 0x000: length=8 kfdhdb.driver.reserved[0]: 0 ; 0x008: 0x00000000 kfdhdb.driver.reserved[1]: 0 ; 0x00c: 0x00000000 kfdhdb.driver.reserved[2]: 0 ; 0x010: 0x00000000 kfdhdb.driver.reserved[3]: 0 ; 0x014: 0x00000000 kfdhdb.driver.reserved[4]: 0 ; 0x018: 0x00000000 kfdhdb.driver.reserved[5]: 0 ; 0x01c: 0x00000000 kfdhdb.compat: 202375168 ; 0x020: 0x0c100000 kfdhdb.dsknum: 0 ; 0x024: 0x0000 kfdhdb.grptyp: 1 ; 0x026: KFDGTP_EXTERNAL ********************************************************************** kfdhdb.hdrsts: 4 ; 0x027: KFDHDR_FORMER ********************************************************************** kfdhdb.dskname: ACFS_DATA_0000 ; 0x028: length=14 kfdhdb.grpname: ACFS_DATA ; 0x048: length=9 kfdhdb.fgname: ACFS_DATA_0000 ; 0x068: length=14 ### Backup device $ mkdir -p /tmp/asm $ dd if=/dev/mapper/acfs_01p1 of=/tmp/asm/ihotelp1_acfs.dmp bs=1048576 count=50 50+0 records in 50+0 records out 52428800 bytes (52 MB) copied, 0.303025 s, 173 MB/s ### Create template for patching device $ kfed read /dev/mapper/acfs_01p1 > /tmp/asm/patch_acfs_01p1.txt ### Create copy of template for comparison $ cp patch_acfs_01p1.txt patch_acfs_01p1.orig ### Edit patch_acfs_01p1.txt and change "kfdhdb.hdrsts: 4 ; 0x027: KFDHDR_FORMER" to "kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER" ### Verify change. $ diff patch_acfs_01p1.txt patch_acfs_01p1.orig < kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER --- > kfdhdb.hdrsts: 4 ; 0x027: KFDHDR_FORMER ### Patch device acfs_01p1 using patch_acfs_01p1.txt $ kfed merge /dev/mapper/acfs_01p1 text=patch_acfs_01p1.txt ### Verify device acfs_01p1 is updated` $ kfed read /dev/mapper/acfs_01p1 | grep kfdhdb.hdrsts kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER $
Verify results using asmcmd.SQL> SELECT group_number group#, disk_number disk#, header_status header_, mode_status mode_, state, library, os_mb, total_mb, free_mb, label, path 2 FROM V$ASM_DISK 3 ORDER BY header_status desc, path 4 ; GROUP# DISK# HEADER_ MODE_ STATE LIBRARY OS_MB TOTAL_MB FREE_MB LABEL PATH ------ ----- ---------- ---------- ------------ ---------------------------- ---------- ---------- ---------- --------------- ---------------------------------------- 0 1 MEMBER ONLINE NORMAL System 153584 0 0 /dev/mapper/acfs_01p1 SQL> select name from v$asm_diskgroup order by 1; NAME ------------------------------------------------------------------------------------------ ACFS_DATA SQL> alter diskgroup ACFS_DATA mount; Diskgroup altered. SQL> SELECT group_number group#, disk_number disk#, header_status header_, mode_status mode_, state, library, os_mb, total_mb, free_mb, label, path 2 FROM V$ASM_DISK 3 ORDER BY header_status desc, path 4 ; GROUP# DISK# HEADER_ MODE_ STATE LIBRARY OS_MB TOTAL_MB FREE_MB LABEL PATH ------ ----- ---------- ---------- ------------ ---------------------------- ---------- ---------- ---------- --------------- ---------------------------------------- 5 0 MEMBER ONLINE NORMAL System 153584 153584 153500 /dev/mapper/acfs_01p1 SQL> select name from v$asm_diskgroup order by 1; NAME ------------------------------------------------------------------------------------------ ACFS_DATA SQL> no rows selected SQL>
$ asmcmd lsdg -g ACFS_DATA Inst_ID State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name 1 MOUNTED EXTERN N 512 4096 4194304 153584 153500 0 153500 0 N ACFS_DATA/ $ asmcmd lsattr -l -G ACFS_DATA Name Value access_control.enabled FALSE access_control.umask 066 au_size 4194304 cell.smart_scan_capable FALSE compatible.advm 12.1.0.0.0 compatible.asm 12.1.0.0.0 compatible.rdbms 12.1.0.0.0 content.check FALSE content.type data disk_repair_time 3.6h failgroup_repair_time 24.0h idp.boundary auto idp.type dynamic phys_meta_replicated true sector_size 512 thin_provisioned FALSE $
Hopefully the information and demonstration will be useful should you encounter the same issues. Reference: ASM Corruption: Case #1: How To Fix The ASM Disk HEADER_STATUS From FORMER or PROVISIONED To MEMBER. (Doc ID 1448799.1)
Ready to optimize your Oracle Database for the future?
On this page
Share this
Share this
More resources
Learn more about Pythian by reading the following blogs and articles.
How to Resize Exadata Grid Disks Without an Outage

How to Resize Exadata Grid Disks Without an Outage
Nov 10, 2021 12:00:00 AM
5
min read
Oracle 11g ASM Diskgroup Compatibility
Oracle 11g ASM Diskgroup Compatibility
Jun 18, 2008 12:00:00 AM
4
min read
How to Rename a Copied or Cloned ASM Disk Group
How to Rename a Copied or Cloned ASM Disk Group
Feb 28, 2008 12:00:00 AM
7
min read
Ready to unlock value from your data?
With Pythian, you can accomplish your data transformation goals and more.