<<Back to Oracle ASM Main Page
Utilities:Tools Used to Troubleshoot ASM Issues
In today's post I will discuss 3 most import utilities used to troubleshoot ASM issues so lets start without any further delay. These are
KFOD (Kernel Files OSM Disk)
KFED (Kernel File Metadata Editor)
AMDU (ASM Metadata Dump Utility)
KFOD: KFOD utility is very useful to troubleshoot the ASM disk issues. The utility is also used by oracle internal tools like DBCA, DBUA and ASMCA to perform disk discovery.
NOTE: Other utilities are available for determining the status of a disk's header which should fulfill the business need.V$ASM_DISK from an ASM instance;asmcmd lsdsk;kfod. kfed is a utility that should only be used under the guidance of Oracle support
NOTE: Other utilities are available for determining the status of a disk's header which should fulfill the business need.V$ASM_DISK from an ASM instance;asmcmd lsdsk;kfod. kfed is a utility that should only be used under the guidance of Oracle support
$ kfod help=y
Usage: kfod op=<op> asm_diskstring=... | pfile=...
Usage: kfod op=<op> asm_diskstring=... | pfile=...
If you type just kfod it will display ASM instance and Grid home
Valid options types with KFOD are
DISKS/CANDIDATES/MISSING/GROUPS/INSTS/VERSION/PATCHES/PATCHLVL/CLIENTS/RM/RMVERS/DFLTDSTR/GPNPDSTR/METADATA/CREDCRECLUS/GETCLSTYPE/CREDEXPORT/GETASMGUID/CREDDELCLUS/CREDVERIFY/UPGRADEVERIFY/LSCC/CREDLIST/CELLCONFIG/ALL
$kfod
--------------------------------------------------------------------------------
ORACLE_SID ORACLE_HOME
================================================================================
+ASM /u01/oragrid/12.2.0.1/grid
--------------------------------------------------------------------------------
ORACLE_SID ORACLE_HOME
================================================================================
+ASM /u01/oragrid/12.2.0.1/grid
Find version
$kfod op=version
--------------------------------------------------------------------------------
ORACLE_SID RAC VERSION
================================================================================
+ASM NO 12.2.0.1.0
$kfod op=version
--------------------------------------------------------------------------------
ORACLE_SID RAC VERSION
================================================================================
+ASM NO 12.2.0.1.0
List ASM DG known to an ASM instance
$kfod _asmsid=+ASM
--------------------------------------------------------------------------------
Group Size Free Redundancy Name
================================================================================
1: 30720 MB 30666 MB EXTERN DG_TEST_REDO
2: 30720 MB 30658 MB EXTERN DG_TEST_FRA
3: 30720 MB 30657 MB EXTERN DG_TEST_DATA
$kfod _asmsid=+ASM
--------------------------------------------------------------------------------
Group Size Free Redundancy Name
================================================================================
1: 30720 MB 30666 MB EXTERN DG_TEST_REDO
2: 30720 MB 30658 MB EXTERN DG_TEST_FRA
3: 30720 MB 30657 MB EXTERN DG_TEST_DATA
List ASM disks
$kfod disks=all op=disks
--------------------------------------------------------------------------------
Disk Size Path User Group
================================================================================
1: 30720 MB AFD:DATA01
2: 30720 MB AFD:FRA01
3: 30720 MB AFD:REDO01
$kfod disks=all op=disks
--------------------------------------------------------------------------------
Disk Size Path User Group
================================================================================
1: 30720 MB AFD:DATA01
2: 30720 MB AFD:FRA01
3: 30720 MB AFD:REDO01
List diskgroups with asm compatibility
$kfod asmcompatibility=true op=groups
--------------------------------------------------------------------------------
Group Size Free Redundancy Name ASM Compatibility
================================================================================
1: 30720 MB 30666 MB EXTERN DG_TEST_REDO 12.2.0.1.0
2: 30720 MB 30658 MB EXTERN DG_TEST_FRA 12.2.0.1.0
3: 30720 MB 30657 MB EXTERN DG_TEST_DATA 12.2.0.1.0
$kfod asmcompatibility=true op=groups
--------------------------------------------------------------------------------
Group Size Free Redundancy Name ASM Compatibility
================================================================================
1: 30720 MB 30666 MB EXTERN DG_TEST_REDO 12.2.0.1.0
2: 30720 MB 30658 MB EXTERN DG_TEST_FRA 12.2.0.1.0
3: 30720 MB 30657 MB EXTERN DG_TEST_DATA 12.2.0.1.0
Metadata size
kfod disks=all op=METADATA
Approximate Metadata Size: 635
kfod disks=all op=METADATA
Approximate Metadata Size: 635
kfod disks=all shallow=TRUE
Shallow discovery returned 3 devices
--------------------------------------------------------------------------------
ORACLE_SID ORACLE_HOME
================================================================================
+ASM /u01/oragrid/12.2.0.1/grid
Shallow discovery returned 3 devices
--------------------------------------------------------------------------------
ORACLE_SID ORACLE_HOME
================================================================================
+ASM /u01/oragrid/12.2.0.1/grid
Note: You can run KFOD in verbose (verbose=none,errors,warnings,functions,all)
$kfod verbose=all disks-all
KFED: the utility allows us to read and analyze and ASM diskgroup header. sometime this information is needed to investigate the DG issue if the DG can not be mounted. The utility can even update the DG header and therefore be careful while using it.
Permitted operations are READ/WRITE/MERGE/REPAIR/NEW/FORM/FIND/STRUCT/STAMP
type kfed help to find the supported options and available switches. To see the detail of a command type help kfed command name eg help kfed read I will walk you through here with some important one.Reading ASM Disk Header Using KFED
$ kfed read AFD:DATA01 |egrep 'size|name|type|spfile'
kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD <=ASM disk header
kfdhdb.dskname: DATA01 ; 0x028: length=6 <=ASM disk name
kfdhdb.grpname: DG_TEST_DATA ; 0x048: length=12 <= ASM DGname
kfdhdb.fgname: DATA01 ; 0x068: length=6 <=ASM Failgroup name
kfdhdb.secsize: 512 ; 0x0b8: 0x0200 <=Disk sector size
kfdhdb.blksize: 4096 ; 0x0ba: 0x1000 <=ASM block size
kfdhdb.ausize: 1048576 ; 0x0bc: 0x00100000 <= ASM AU size
kfdhdb.dsksize: 30720 ; 0x0c4: 0x00007800 <=ASM disk size
kfdhdb.spfile: 60 ; 0x0f4: 0x0000003c <= ASM Spfile location
kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD <=ASM disk header
kfdhdb.dskname: DATA01 ; 0x028: length=6 <=ASM disk name
kfdhdb.grpname: DG_TEST_DATA ; 0x048: length=12 <= ASM DGname
kfdhdb.fgname: DATA01 ; 0x068: length=6 <=ASM Failgroup name
kfdhdb.secsize: 512 ; 0x0b8: 0x0200 <=Disk sector size
kfdhdb.blksize: 4096 ; 0x0ba: 0x1000 <=ASM block size
kfdhdb.ausize: 1048576 ; 0x0bc: 0x00100000 <= ASM AU size
kfdhdb.dsksize: 30720 ; 0x0c4: 0x00007800 <=ASM disk size
kfdhdb.spfile: 60 ; 0x0f4: 0x0000003c <= ASM Spfile location
KFED returns a readable output only when a disk device is/was the part of an ASM diskgroup else it will through below exception
KFED-00322: invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0]
AMDU:AMDU is an utility to extract all the available metadata from one or more ASM disks and/or generate formatted printouts of individual blocks
$asmcmd lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 512 4096 1048576 30720 30666 0 30666 0 N DG_TEST/
MOUNTED EXTERN N 512 512 4096 1048576 30720 30657 0 30657 0 N DG_TEST_DATA/
MOUNTED EXTERN N 512 512 4096 1048576 30720 30658 0 30658 0 N DG_TEST_FRA/
MOUNTED EXTERN N 512 512 4096 1048576 30720 30666 0 30666 0 N DG_TEST_REDO/
$amdu diskstring='AFD:*' -dump 'DG_TEST'amdu_2018_06_11_11_10_49/
$cd amdu_2018_06_11_11_10_49/
$ls -lrt-rw-r--r-- 1 oragrid oinstall 4320 Jun 11 11:10 DG_TEST.map
-rw-r--r-- 1 oragrid oinstall 54534144 Jun 11 11:10 DG_TEST_0001.img
-rw-r--r-- 1 oragrid oinstall 6322 Jun 11 11:10 report.txt
$cat report.txt
********************************* DISCOVERY **********************************
----------------------------- DISK REPORT N0001 ------------------------------
Disk Path: AFD:DATA01
Unique Disk ID:
Disk Label: DATA01
Physical Sector Size: 512 bytes
Disk Size: 30720 megabytes
Group Name: DG_TEST_DATA
Disk Name: DATA01
Failure Group Name: DATA01
Disk Number: 0
Header Status: 3
Disk Creation Time: 2018/06/05 16:32:35.361000
Last Mount Time: 2018/06/08 15:05:05.496000
Compatibility Version: 0x0c200100(12020001)
Disk Sector Size: 512 bytes
Disk size in AUs: 30720 AUs
Group Redundancy: 1
Metadata Block Size: 4096 bytes
AU Size: 1048576 bytes
Stride: 113792 AUs
Group Creation Time: 2018/06/05 16:32:35.045000
File 1 Block 1 location: AU 10
Voting File Start AU: 0
Voting File End AU: 0
OCR Present: NO
Exadata Disk: NO
kfed Write IP address: 192.168.1.6
kfed Write Time: 1528463105
----------------------------- DISK REPORT N0002 ------------------------------
Disk Path: AFD:FRA01
Unique Disk ID:
Disk Label: FRA01
Physical Sector Size: 512 bytes
Disk Size: 30720 megabytes
Group Name: DG_TEST_FRA
Disk Name: FRA01
Failure Group Name: FRA01
Disk Number: 0
Header Status: 3
Disk Creation Time: 2018/06/06 10:54:52.140000
Last Mount Time: 2018/06/08 15:05:05.539000
Compatibility Version: 0x0c200100(12020001)
Disk Sector Size: 512 bytes
Disk size in AUs: 30720 AUs
Group Redundancy: 1
Metadata Block Size: 4096 bytes
AU Size: 1048576 bytes
Stride: 113792 AUs
Group Creation Time: 2018/06/06 10:54:51.916000
File 1 Block 1 location: AU 10
Voting File Start AU: 0
Voting File End AU: 0
OCR Present: NO
Exadata Disk: NO
kfed Write IP address: 192.168.1.6
kfed Write Time: 1528463105
----------------------------- DISK REPORT N0003 ------------------------------
Disk Path: AFD:REDO01
Unique Disk ID:
Disk Label: REDO01
Physical Sector Size: 512 bytes
Disk Size: 30720 megabytes
Group Name: DG_TEST_REDO
Disk Name: REDO01
Failure Group Name: REDO01
Disk Number: 0
Header Status: 3
Disk Creation Time: 2018/06/06 11:09:34.614000
Last Mount Time: 2018/06/08 15:05:05.568000
Compatibility Version: 0x0c200100(12020001)
Disk Sector Size: 512 bytes
Disk size in AUs: 30720 AUs
Group Redundancy: 1
Metadata Block Size: 4096 bytes
AU Size: 1048576 bytes
Stride: 113792 AUs
Group Creation Time: 2018/06/06 11:09:34.230000
File 1 Block 1 location: AU 10
Voting File Start AU: 0
Voting File End AU: 0
OCR Present: NO
Exadata Disk: NO
kfed Write IP address: 192.168.1.6
kfed Write Time: 1528463105
----------------------------- DISK REPORT N0004 ------------------------------
Disk Path: AFD:TEST01
Unique Disk ID:
Disk Label: TEST01
Physical Sector Size: 512 bytes
Disk Size: 30720 megabytes
Group Name: DG_TEST
Disk Name: TEST01
Failure Group Name: TEST01
Disk Number: 0
Header Status: 3
Disk Creation Time: 2018/06/11 10:46:28.905000
Last Mount Time: 2018/06/11 10:46:38.577000
Compatibility Version: 0x0c200100(12020001)
Disk Sector Size: 512 bytes
Disk size in AUs: 30720 AUs
Group Redundancy: 1
Metadata Block Size: 4096 bytes
AU Size: 1048576 bytes
Stride: 113792 AUs
Group Creation Time: 2018/06/11 10:46:28.607000
File 1 Block 1 location: AU 10
Voting File Start AU: 0
Voting File End AU: 0
OCR Present: NO
Exadata Disk: NO
kfed Write IP address: 192.168.1.6
kfed Write Time: 1528706798
***************** Slept for 6 seconds waiting for heartbeats *****************
************************* SCANNING DISKGROUP DG_TEST *************************
Creation Time: 2018/06/11 10:46:28.607000
Disks Discovered: 1
Redundancy: 1
AU Size: 1048576 bytes
Metadata Block Size: 4096 bytes
Physical Sector Size: 512 bytes
Metadata Stride: 113792 AU
Duplicate Disk Numbers: 0
Mounted: No
---------------------------- SCANNING DISK N0004 -----------------------------
Disk N0004: 'AFD:TEST01'
Allocated AU's: 54
Free AU's: 30666
AU's read for dump: 54
Block images saved: 13314
Map lines written: 54
Heartbeats seen: 0
Corrupt metadata blocks: 0
Corrupt AT blocks: 0
----------------------- SUMMARY FOR DISKGROUP DG_TEST ------------------------
Allocated AU's: 54
Free AU's: 30666
AU's read for dump: 54
Block images saved: 13314
Map lines written: 54
Heartbeats seen: 0
Corrupt metadata blocks: 0
Corrupt AT blocks: 0
******************************* END OF REPORT ********************************
KFED-00322: invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0]
AMDU:AMDU is an utility to extract all the available metadata from one or more ASM disks and/or generate formatted printouts of individual blocks
$asmcmd lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 512 4096 1048576 30720 30666 0 30666 0 N DG_TEST/
MOUNTED EXTERN N 512 512 4096 1048576 30720 30657 0 30657 0 N DG_TEST_DATA/
MOUNTED EXTERN N 512 512 4096 1048576 30720 30658 0 30658 0 N DG_TEST_FRA/
MOUNTED EXTERN N 512 512 4096 1048576 30720 30666 0 30666 0 N DG_TEST_REDO/
$amdu diskstring='AFD:*' -dump 'DG_TEST'amdu_2018_06_11_11_10_49/
$cd amdu_2018_06_11_11_10_49/
$ls -lrt-rw-r--r-- 1 oragrid oinstall 4320 Jun 11 11:10 DG_TEST.map
-rw-r--r-- 1 oragrid oinstall 54534144 Jun 11 11:10 DG_TEST_0001.img
-rw-r--r-- 1 oragrid oinstall 6322 Jun 11 11:10 report.txt
$cat report.txt
********************************* DISCOVERY **********************************
----------------------------- DISK REPORT N0001 ------------------------------
Disk Path: AFD:DATA01
Unique Disk ID:
Disk Label: DATA01
Physical Sector Size: 512 bytes
Disk Size: 30720 megabytes
Group Name: DG_TEST_DATA
Disk Name: DATA01
Failure Group Name: DATA01
Disk Number: 0
Header Status: 3
Disk Creation Time: 2018/06/05 16:32:35.361000
Last Mount Time: 2018/06/08 15:05:05.496000
Compatibility Version: 0x0c200100(12020001)
Disk Sector Size: 512 bytes
Disk size in AUs: 30720 AUs
Group Redundancy: 1
Metadata Block Size: 4096 bytes
AU Size: 1048576 bytes
Stride: 113792 AUs
Group Creation Time: 2018/06/05 16:32:35.045000
File 1 Block 1 location: AU 10
Voting File Start AU: 0
Voting File End AU: 0
OCR Present: NO
Exadata Disk: NO
kfed Write IP address: 192.168.1.6
kfed Write Time: 1528463105
----------------------------- DISK REPORT N0002 ------------------------------
Disk Path: AFD:FRA01
Unique Disk ID:
Disk Label: FRA01
Physical Sector Size: 512 bytes
Disk Size: 30720 megabytes
Group Name: DG_TEST_FRA
Disk Name: FRA01
Failure Group Name: FRA01
Disk Number: 0
Header Status: 3
Disk Creation Time: 2018/06/06 10:54:52.140000
Last Mount Time: 2018/06/08 15:05:05.539000
Compatibility Version: 0x0c200100(12020001)
Disk Sector Size: 512 bytes
Disk size in AUs: 30720 AUs
Group Redundancy: 1
Metadata Block Size: 4096 bytes
AU Size: 1048576 bytes
Stride: 113792 AUs
Group Creation Time: 2018/06/06 10:54:51.916000
File 1 Block 1 location: AU 10
Voting File Start AU: 0
Voting File End AU: 0
OCR Present: NO
Exadata Disk: NO
kfed Write IP address: 192.168.1.6
kfed Write Time: 1528463105
----------------------------- DISK REPORT N0003 ------------------------------
Disk Path: AFD:REDO01
Unique Disk ID:
Disk Label: REDO01
Physical Sector Size: 512 bytes
Disk Size: 30720 megabytes
Group Name: DG_TEST_REDO
Disk Name: REDO01
Failure Group Name: REDO01
Disk Number: 0
Header Status: 3
Disk Creation Time: 2018/06/06 11:09:34.614000
Last Mount Time: 2018/06/08 15:05:05.568000
Compatibility Version: 0x0c200100(12020001)
Disk Sector Size: 512 bytes
Disk size in AUs: 30720 AUs
Group Redundancy: 1
Metadata Block Size: 4096 bytes
AU Size: 1048576 bytes
Stride: 113792 AUs
Group Creation Time: 2018/06/06 11:09:34.230000
File 1 Block 1 location: AU 10
Voting File Start AU: 0
Voting File End AU: 0
OCR Present: NO
Exadata Disk: NO
kfed Write IP address: 192.168.1.6
kfed Write Time: 1528463105
----------------------------- DISK REPORT N0004 ------------------------------
Disk Path: AFD:TEST01
Unique Disk ID:
Disk Label: TEST01
Physical Sector Size: 512 bytes
Disk Size: 30720 megabytes
Group Name: DG_TEST
Disk Name: TEST01
Failure Group Name: TEST01
Disk Number: 0
Header Status: 3
Disk Creation Time: 2018/06/11 10:46:28.905000
Last Mount Time: 2018/06/11 10:46:38.577000
Compatibility Version: 0x0c200100(12020001)
Disk Sector Size: 512 bytes
Disk size in AUs: 30720 AUs
Group Redundancy: 1
Metadata Block Size: 4096 bytes
AU Size: 1048576 bytes
Stride: 113792 AUs
Group Creation Time: 2018/06/11 10:46:28.607000
File 1 Block 1 location: AU 10
Voting File Start AU: 0
Voting File End AU: 0
OCR Present: NO
Exadata Disk: NO
kfed Write IP address: 192.168.1.6
kfed Write Time: 1528706798
***************** Slept for 6 seconds waiting for heartbeats *****************
************************* SCANNING DISKGROUP DG_TEST *************************
Creation Time: 2018/06/11 10:46:28.607000
Disks Discovered: 1
Redundancy: 1
AU Size: 1048576 bytes
Metadata Block Size: 4096 bytes
Physical Sector Size: 512 bytes
Metadata Stride: 113792 AU
Duplicate Disk Numbers: 0
Mounted: No
---------------------------- SCANNING DISK N0004 -----------------------------
Disk N0004: 'AFD:TEST01'
Allocated AU's: 54
Free AU's: 30666
AU's read for dump: 54
Block images saved: 13314
Map lines written: 54
Heartbeats seen: 0
Corrupt metadata blocks: 0
Corrupt AT blocks: 0
----------------------- SUMMARY FOR DISKGROUP DG_TEST ------------------------
Allocated AU's: 54
Free AU's: 30666
AU's read for dump: 54
Block images saved: 13314
Map lines written: 54
Heartbeats seen: 0
Corrupt metadata blocks: 0
Corrupt AT blocks: 0
******************************* END OF REPORT ********************************
Comments
Post a Comment