oracle查询asm的绝对路径,查找ASM 1号文件位置

查找ASM 1号文件位置

asm文件1包含了存放在asm系统中的文件信息,直到255号文件以前存放的都是asm元数据信息,256号开始存放的数据文件

1号文件中包括每个存放在ASM中的文件相关信息,比如au信息,磁盘信息,flag等.通过这个信息oracle可以知道某数据文件存放在

哪些au上,数据块和磁盘上(x$kffxp)

1号文件根据asm的版本不同,可能位置存放的不一样,通过一个小脚本可以查找出来

#/bin/sh

dev_name=/dev/sdd1

#writen by 东东堂

for ((i=0;i<=255;i++));

do

result=`/u01/app/oracle/11.2/bin/kfed dev=${dev_name} aun=$i blkn=1 op=read | grep "kfbh.type" |awk -F":" '{print $3}'`

if [ $result == "KFBTYP_FILEDIR" ]

then

echo "asm file 1 au number is:" $i

fi

done

[oracle@asm ~]$ ./dh.sh

asm file 1 au number is: 2

asm file 1 au number is: 53

[oracle@asm ~]$

oracle 11.2的存放位置,有两个au,分别是au 2和au 53

#/bin/sh

dev_name=/dev/sdd3

#writen by 东东堂

for ((i=0;i<=255;i++));

do

result=`/u01/app/crs/product/12.1.0.0/bin/kfed dev=${dev_name} aun=$i blkn=1 op=read | grep "kfbh.type" |awk -F":" '{print $3}'`

if [ $result == "KFBTYP_FILEDIR" ]

then

echo "asm file 1 au number is:" $i

fi

done

[grid@rac1 ~]$ ./dh.sh

asm file 1 au number is: 10

asm file 1 au number is: 103

oracle 12C的存放位置,有两个au,分别是au 10和au 103

通过查找出1号文件的au情况,可以很方便的得出当前文件信息.每个文件信息是占用一个数据块(4k),第0个数据块是AU本身使用,所以每

个au上可以存放255个文件信息。

而第10个au的第一个块,就存放1号数据文件本身的信息

[grid@rac1 ~]$ kfed dev=/dev/sdd3 aun=10 blkn=1 op=read  | egrep -e "au|disk" | grep -v "ffff"

kfffde[0].xptr.au:                   10 ; 0x4a0: 0x0000000a

kfffde[0].xptr.disk:                  0 ; 0x4a4: 0x0000

kfffde[1].xptr.au:                  103 ; 0x4a8: 0x00000067

kfffde[1].xptr.disk:                  0 ; 0x4ac: 0x0000

可以看到当前1号文件本身有两个au,分别存放在0号磁盘上的au 10和au 103,和我们之前脚本写出的结果一致.

通过1号文件au信息,可以找出每个文件在ASM上元信息.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值