In this Document
Purpose |
Scope |
Details |
1. KFOD - Kernel Files OSM Disk |
2. KFED - Kernel Files metadata EDitor |
3. AMDU - ASM Metadata Dump Utility |
References |
This document is provided for educational purposes in order to have a general overview of ASM utilities: KFOD, KFED, AMDU .
Oracle Support may ask for additional or other specific information, depends on your case.
Note 1345068.1 - Files for Upload When Creating ASM/Storage Service RequestsGeneral overview of ASM utilities KFOD, KFED, AMDU usage.
KFOD utility is used to simulate the disk discovery from the operating system level and it can be found in $GRID_HOME/bin directory (or ASM_HOME/bin in older releases).
Note:
1) KFOD is used at installation time as well (by OUI,DBCA or ASMCA) in order to perform disk discovery.
2) In case of a failed installation (e.g no $GRID_HOME/bin existing yet) KFOD can be found under your stage folder: <stage_folder>/grid/stage/ext/bin/
In such cases you might need to set LD_LIBRARY_PATH to <stage_folder>/grid/stage/ext/lib.
Help screen can be seen using:
$> kfod help=y
_asm_a/llow_only_raw_disks KFOD allow only raw devices [_asm_allow_only_raw_disks=TRUE/(FALSE)]
_asm_l/ibraries ASM Libraries[_asm_libraries='lib1','lib2',...]
_asms/id ASM Instance[_asmsid=sid]
a/sm_diskstring ASM Diskstring [asm_diskstring='discoverystring', 'discoverystring' ...]
d/isks Disks to discover [disks=raw,asm,all]
g/roup Group discover [group=controlfile]
n/ohdr KFOD header suppression [nohdr=TRUE/(FALSE)]
o/p KFOD options type [OP=DISKS/GROUPS/ALL]
p/file ASM parameter file [pfile='parameterfile']
s/tatus Include disk header status [status=TRUE/(FALSE)]
v/erbose KFOD verbose errors [verbose=TRUE/(FALSE)]
The usual syntax used for disk discovery is:
EXAMPLE
KFED is a useful tool which allows to analyze ASM disk header information when ASM diskgroups can not be mounted.
Note 1180491.1 - KFED Tool For Windows OS. Note 1346190.1 - KFED.PL for diagnosing - ORA-15036 ORA-15042 ORA-15020 ORA-15033NOTE:
KFED executable comes with installation from 11.1 onwards; for the older version you must build it.
But it is not included the source of the software, therefore it is not available until GI installation completes.
If you need to use it before GI being installed, please refer
Note 1505005.1 - Where to find kfed utility before Oracle Grid Infrastructure is installed
Help screen can be seen using:
$>kfed help=y
as/mlib ASM Library [asmlib='lib']
aun/um AU number to examine or update [AUNUM=number]
aus/z Allocation Unit size in bytes [AUSZ=number]
blkn/um Block number to examine or update [BLKNUM=number]
blks/z Metadata block size in bytes [BLKSZ=number]
ch/ksum Update checksum before each write [CHKSUM=YES/NO]
cn/t Count of AUs to process [CNT=number]
de/v ASM device to examine or update [DEV=string]
dm/pall Don't suppress repeated lines when dumping corrupt blocks [DMPALL=YES/NO]
o/p KFED operation type [OP=READ/WRITE/MERGE/REPAIR/NEW/FORM/FIND/STRUCT]
p/rovnm Name for provisioning purposes [PROVNM=string]
s/eek AU number to seek to [SEEK=number]
te/xt File name for translated block text [TEXT=string]
ty/pe ASM metadata block type number [TYPE=number]
The usual syntax used for reading ASM disk header is:
EXAMPLE:
NOTES:
1) KFED returns a readable output only when devices are/were part of an ASM diskgroup.
Otherwise (if the device hasn't been added to a diskgroup yet or the disk is not valid anymore) the output looks like:
KFED-00322: Invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0]
2) In case of a non-default AU size, you should specify it in the command:
$> kfed read <your_device> AUSZ=<au_size>
AMDU is an utility to extract all the available metadata from one or more ASM disks and/or generate formatted printouts of individual blocks.The utility does not require that any diskgroup to be mounted.
Oracle Support may ask you to provide AMDU output, especially when facing internal errors related to the ASM metadata
NOTE:
AMDU executable comes with installation from 11.1 onwards. Although this tool was released with 11g, it can be used with ASM 10g as well.
The usual syntax used for dumping metadata related to a diskgroup is:
NOTE:
Every time AMDU is executed a directory is created on the current location, unless it is override by parameter -directory.
The directory will have the format amdu_YYYY_MM_DD_HH24_MM_SS
The default command will generate following files:
The report.txt file shows the header info of the disks belonging to diskgroup, like below:
EXAMPLE:
$> amdu -diskstring '/dev/raw/raw*' -dump 'DG11'
--------------------------------------------------------------------------------
<report.txt content>
----------------------------- DISK REPORT N0003 ---------------------------
Disk Path: /dev/raw/raw3
Physical Sector Size: 512 bytes
Disk Size: 977 megabytes
Group Name: DG11
Disk Name: DG11_0000
Failure Group Name: DG11_0000
----------------------------- DISK REPORT N0004 ---------------------------
Disk Path: /dev/raw/raw4
Physical Sector Size: 512 bytes
Disk Size: 978 megabytes
Group Name: DG11
Disk Name: DG11_0001
Failure Group Name: DG11_0001
CAUTION: DO NOT USE the above tools with options which can damage your disks, without Oracle Support guidance.