ORA-15003: Diskgroup Already Mounted in Another Lock Name Space
ORA-15003: Diskgroup “diskgroup_name” Already Mounted in Another Lock Name Space
Section titled “ORA-15003: Diskgroup “diskgroup_name” Already Mounted in Another Lock Name Space”Error Overview
Section titled “Error Overview”Error Text: ORA-15003: diskgroup "DGNAME" already mounted in another lock name space
ORA-15003 occurs when ASM detects that a diskgroup is registered under a different cluster lock name space than the one the current instance belongs to. The error commonly surfaces during diskgroup creation, mount operations, or after cluster reconfiguration when ASM metadata still references a prior cluster identity.
Common Causes
Section titled “Common Causes”Cluster Lock Name Space Conflicts
Section titled “Cluster Lock Name Space Conflicts”- Diskgroup created on a different cluster previously
- ASM disk header still references an old cluster GUID
- Single-instance ASM and clustered ASM trying to access same disks
- Mismatched
cluster_databasesetting between instance and disks
Restored or Cloned Storage
Section titled “Restored or Cloned Storage”- Disks restored from another environment (test → production cross-mount)
- SAN snapshots reattached without header reset
- Storage migration from one cluster to another
- Failed cluster rebuild leaving stale ASM headers
Configuration Drift
Section titled “Configuration Drift”- ASM instance running standalone after cluster removal
- GI Home reinstalled without clearing ASM disks
- Mismatch between OCR/voting disk cluster name and ASM disks
Diagnostic Steps
Section titled “Diagnostic Steps”Identify Conflicting Diskgroup
Section titled “Identify Conflicting Diskgroup”-- Connect as SYSASMsqlplus / as sysasm
-- Check diskgroup stateSELECT name, state, type, total_mb, free_mbFROM v$asm_diskgroup;
-- Look at disk header infoSELECT name, path, header_status, mount_status, mode_status, label, group_numberFROM v$asm_diskWHERE path LIKE '%/dev/oracleasm/disks%';Inspect Disk Headers with kfed
Section titled “Inspect Disk Headers with kfed”# Read ASM disk header for cluster infokfed read /dev/oracleasm/disks/DISK1 | grep -E "kfdhdb.grpname|kfdhdb.dskname|kfdhdb.fgname|kfdhdb.driver"
# Check cluster lock name spacekfed read /dev/oracleasm/disks/DISK1 | grep -E "kfbh.endian|kfdhdb.compat"
# Compare against expected clustercrsctl query css clusternamecrsctl get cluster nameVerify Cluster Registration
Section titled “Verify Cluster Registration”# Check if running in cluster modesrvctl config asm
# Check ASM instance typeps -ef | grep asm_pmon
# Verify CRS statecrsctl stat res -t -init | grep -i asmResolution Steps
Section titled “Resolution Steps”1. Diskgroup Created on Different Cluster
Section titled “1. Diskgroup Created on Different Cluster”If the diskgroup belongs to another cluster’s namespace, mount it forcibly only after confirming no other cluster is using it:
-- Force mount with namespace override (DESTRUCTIVE if other cluster active)ALTER DISKGROUP data MOUNT FORCE;WARNING: Force mounting a diskgroup that is actively mounted on another cluster will cause corruption.
2. Reset Disk Headers After Migration
Section titled “2. Reset Disk Headers After Migration”If migrating disks between environments and the source cluster is decommissioned:
# Backup disk headers firstfor disk in /dev/oracleasm/disks/DISK*; do dd if=$disk of=/backup/$(basename $disk).hdr bs=4M count=1done
# Use renamedg to update cluster registration without losing datarenamedg dgname=DATA newdgname=DATA \ asm_diskstring='/dev/oracleasm/disks/*' \ verbose=true \ phase=both3. Clear Stale Headers (Empty Disks)
Section titled “3. Clear Stale Headers (Empty Disks)”For disks confirmed empty or reusable:
# Clear ASM header (DESTROYS DATA)dd if=/dev/zero of=/dev/oracleasm/disks/DISK1 bs=4M count=10
# Recreate ASM diskoracleasm createdisk DISK1 /dev/sdb1oracleasm scandisks4. Cluster Name Mismatch Fix
Section titled “4. Cluster Name Mismatch Fix”If cluster_database parameter doesn’t match disk metadata:
-- For RAC ASMALTER SYSTEM SET cluster_database=TRUE SCOPE=SPFILE SID='*';
-- For single-instance ASM (Oracle Restart)ALTER SYSTEM SET cluster_database=FALSE SCOPE=SPFILE;Restart the ASM instance after parameter change.
Prevention Strategies
Section titled “Prevention Strategies”Document Cluster Identity
Section titled “Document Cluster Identity”- Maintain a registry of which cluster owns which disks
- Tag SAN LUNs with cluster name in storage metadata
- Use ASM disk labels that include cluster identifier
Pre-Migration Checklist
Section titled “Pre-Migration Checklist”- Confirm source cluster has dismounted the diskgroup
- Backup disk headers before any migration
- Use
renamedgrather than recreate when possible - Document
asm_diskstringand disk paths
Post-Cluster-Rebuild
Section titled “Post-Cluster-Rebuild”- Run
oracleasm scandisksafter GI reinstall - Verify diskgroup state in
v$asm_diskgroupbefore adding new disks - Check
header_statusinv$asm_diskfor FOREIGN or CONFLICT entries
Sample Diagnostic Output
Section titled “Sample Diagnostic Output”SQL> ALTER DISKGROUP data MOUNT;ALTER DISKGROUP data MOUNT*ERROR at line 1:ORA-15032: not all alterations performedORA-15003: diskgroup "DATA" already mounted in another lock name space
SQL> SELECT path, header_status, mode_status, mount_status 2 FROM v$asm_disk WHERE name LIKE 'DATA%';
PATH HEADER_STATU MODE_STAT MOUNT_S----------------------------- ------------ --------- -------/dev/oracleasm/disks/DISK1 FOREIGN ONLINE CLOSED/dev/oracleasm/disks/DISK2 FOREIGN ONLINE CLOSEDHEADER_STATUS = FOREIGN confirms the disks belong to another ASM cluster.
Related Errors
Section titled “Related Errors”- ORA-15001: Diskgroup does not exist or is not mounted
- ORA-15017: Diskgroup cannot be mounted
- ORA-15032: Not all alterations performed
- ORA-15042: ASM disk is missing
- ORA-15077: Cannot locate ASM instance
Troubleshooting Checklist
Section titled “Troubleshooting Checklist”- Confirm cluster name matches disk header
- Verify no other cluster has the diskgroup mounted
- Backup disk headers before any reset
- Use
renamedgfor legitimate cluster migrations - Validate
cluster_databaseparameter matches environment - Check
header_statusinv$asm_diskfor FOREIGN entries