APPLIES TO:
Linux OS - Version Oracle Linux 6.0 and laterOracle Database - Enterprise Edition - Version 12.2.0.1 to 12.2.0.1 [Release 12.2]
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Linux x86-64
ASM disks that were previously available are no longer visible after a system reboot. Other systems in the cluster that have not been rebooted still see the disks
SYMPTOMS
The command "/etc/init.d/oracleasm listdisks" does not show previously available disks after rebooting the systems. The disk may still be available to other systems in the cluster that have not been rebooted. This will depend on the cause of the problem.
CHANGES
Changes in the system that might cause such an action.
- The disk has been removed from presentation to the system from the SAN
- Someone removed the label on the disk using the command "oracleasm deletedisk"
CAUSE
- If the disk is not present in multipath or is not available as a local disk, it cannot be scanned or listed
- If the ASM label has been remove from the disk either intentionally or by corruption, ASMLib will not be able to create the device for the disk since it cannot be identified.
SOLUTION
In the first scenario, you will need to check for the disk presence either using the command "multipath -ll" or checking the local drives to be sure the disk is present on the system
The way to identify if the label is no longer on the disk, you will need to use the command "od" (octal dump) to dump the first part of the partition header to see if the label has been removed.
When a disk device supports partitioning (eg, with fdisk(8) or parted(8)), oracleasm-createdisk(8) will refuse to consider the entire unpartitioned disk. The disk must be partitioned and that partition be marked for ASM use.
To check the label on the partition to be sure it has not been wiped out, use the following command on the partition to check if the label is there.
See the example below:
To check the label on the partition to be sure it has not been wiped out, use the following command on the partition to check if the label is there.
See the example below:
# od -c -N 120 /dev/mapper/<device mapper alias>p1
0000000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 E B \ T
0000020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000040 O R C L D I S K A S M T E S T L
0000060 A B E L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000100 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
0000160 \0 \0 \0 \0 \0 \0 \0 \0
0000170
0000000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 E B \ T
0000020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000040 O R C L D I S K A S M T E S T L
0000060 A B E L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000100 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
0000160 \0 \0 \0 \0 \0 \0 \0 \0
0000170
If the label is there, it will start with the characters "ORCLDISK" + followed by the actual label. As in this example, the label is "ASMTESTLABEL"
========================================================================
If the prefix "ORCLDISK" is there, but the data after it is blank, the label has
been erased and you will need to use the command:
========================================================================
If the prefix "ORCLDISK" is there, but the data after it is blank, the label has
been erased and you will need to use the command:
# /usr/sbin/oracleasm renamedisk -f /dev/<Device-Partition> <correct label>
If the prefix "ORCLDISK" is not there as in the following example:
# od -c -N 120 /dev/mapper/<device mapper alias>p1
0000000 353 v 220 E X F A T \0 \0 \0 \0 \0
0000020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
0000100 \0 \b \0 \0 \0 \0 \0 \0 \0 H 8 : \0 \0 \0 \0
0000120 \0 \b \0 \0 \0 u \0 \0 \0 200 \0 \0 310 7 : \0
0000140 \a \0 \0 \0 L 9 345 332 \0 001 \0 \0 \t \b 001 200
0000160 \0 \0 \0 \0 \0 \0 \0 \0
0000170
0000000 353 v 220 E X F A T \0 \0 \0 \0 \0
0000020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
0000100 \0 \b \0 \0 \0 \0 \0 \0 \0 H 8 : \0 \0 \0 \0
0000120 \0 \b \0 \0 \0 u \0 \0 \0 200 \0 \0 310 7 : \0
0000140 \a \0 \0 \0 L 9 345 332 \0 001 \0 \0 \t \b 001 200
0000160 \0 \0 \0 \0 \0 \0 \0 \0
0000170
then you will need to create the disk label as in the following example:
# /usr/sbin/oracleasm createdisk <label> <device>
See the example below:
# /usr/sbin/oracleasm createdisk ASMTESTLABEL /dev/mapper/<device mapper alias>p1
# /usr/sbin/oracleasm createdisk ASMTESTLABEL /dev/mapper/<device mapper alias>p1
Once the disks have been renamed/createed, you may need to perform a scan disk to reread the disk labels using the command:
# /usr/sbin/oracleasm scandisks
Scanning the system for Oracle ASMLib disks: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
Then run the following command to confirm:
# /usr/sbin/oracleasm listdisks
ASMTESTLABEL
ASMTESTLABEL
0 comments:
Post a Comment