在Oracle中,kfed、kfod和amdu工具的作用分别是什么?
A 答案如下所示:
ASM(Automatic Storage Management)是Oracle目前主推的软件集群存储策略。一般而言,管理ASM的工具包括使用SQL*Plus命令行和asmca图形化界面。一般情况下,ASM安装管理借助上述工具就够了,况且Oracle集群可以确保ASM组建的HA架构。一些特殊场景,如磁盘数据损坏、底层修复和ASM盘发现,需要额外的一些命令行工具。ASM工具包括:kfod、kfed和AMDU。在早期的ASM版本(10gR2)中,一部分工具还需要额外的重新编译和链接才能使用。在11g,这部分工具已经成为默认设置,可以直接使用。
在Oracle ASM和Database安装过程中,kfod是会自动被调用,用于进行磁盘发现过程(Disk Discovery)。如果在安装Grid过程没有成功,那么kfod也会在安装stage文件夹中被找到。目录地址为:<stage_folder>/grid/stage/ext/bin/。命令kfod -h可以查看该命令的解释,使用示例如下所示:
[grid@orclalhr ~]$ $ORACLE_HOME/bin/kfod disk=asm s=true ds=true c=true
--------------------------------------------------------------------------------
Disk Size Header Path Disk Group User Group
================================================================================
1: 1000 Mb MEMBER /dev/raw/raw1 DATA oracle dba
2: 1000 Mb MEMBER /dev/raw/raw2 DATA oracle dba
3: 1000 Mb MEMBER /dev/raw/raw3 DATA oracle dba
4: 1000 Mb MEMBER /dev/raw/raw4 DATA oracle dba
5: 1000 Mb MEMBER /dev/raw/raw5 DATA oracle dba
--------------------------------------------------------------------------------
ORACLE_SID ORACLE_HOME HOST_NAME
================================================================================
+ASM /u01/app/11.2.0/grid orclalhr
kfed的全称为Kernel File Metadata Editor。kfed的使用场景比较严峻,就是当ASM Diskgroup不能成功Mount的时候,通过KFED来分析ASM磁盘头信息,来诊断问题。从Oracle 11.1开始,KFED就已经正式成为安装组件的一部分。与kfod的区别是,kfed只有在完全安装完之后,才能使用,在ASM安装阶段无法使用。其使用示例如下所示:
[grid@orclalhr ~]$ kfed read /dev/raw/raw1
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: 2147483652 ; 0x008: disk=4
kfbh.check: 213759916 ; 0x00c: 0x0cbdb7ac
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
。。。。。。。省略部分输出。。。。。。。。。
amdu全称为ASM Metadata Dump Utility。AMDU最大的作用在于可以将ASM Disk Group和DISK所有可用元数据信息导出,并且整理为可读的格式内容。其工作不受到Disk Group是否Mount访问的影响。这个工具之所以被正式公布,主要在于Oracle Support在进行远程支持的时候,需要客户提供上载文件。
& 说明:
有关kfed、kfod和amdu的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2141226/
http://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w |
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:230161599
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。
本文分享自微信公众号 - DB宝(lhrdba)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。