当前位置:操作系统 > Unix/Linux >>

如何在ASM中定位文件的分布

如何在ASM中定位文件的分布
 
我们将尝试找出文件的AU分布,然后根据AU分布定位磁盘所在的位置,设置有可能
利用操作系统层面的工具拷贝ASM其中的数据出来。我将使用两个例子
来说明如何查看au分布。
0. spfile
查看当前的spfile:
sys@GT11G> show parameter spfile;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      +DATA01/gt11g/spfilegt11g.ora
 
查找对应的DISKGROUP信息:
+ASM> select name,group_number,file_number from v$asm_alias
where lower(name)='spfilegt11g.ora';
 
NAME                 GROUP_NUMBER FILE_NUMBER
-------------------- ------------ -----------
spfileGT11G.ora                 1         265
 
+ASM> select name,group_number from v$asm_diskgroup;
 
NAME     GROUP_NUMBER
-------- ------------
DATA01              1
FRA                 2
SYSDG               3
 
通过视图查看对应的AU分布:
+ASM> select group_kffxp,number_kffxp,pxn_kffxp,xnum_kffxp,
disk_kffxp from x$kffxp where group_kffxp=1 and number_kffxp=265;
 
GROUP_KFFXP NUMBER_KFFXP  PXN_KFFXP XNUM_KFFXP DISK_KFFXP
----------- ------------ ---------- ---------- ----------
          1          265          0          0          1
上述查询显示spfile文件在磁盘组1的0号磁盘上只占用了1个AU,那么
我们可以直接通过kfed工具来查看下磁盘上的分配属性。
首先我们要找出对应的磁盘信息,注意磁盘序号是从0开始的:
+ASM> select group_number,disk_number,path from v$asm_disk
where group_number=1 and disk_number=0;
 
GROUP_NUMBER DISK_NUMBER PATH
------------ ----------- --------------------
           1           0 /dev/asm11g-f
文件的FILE_NUMBER=256,我们应该从au2这里面查找,也即asm
元数据之后的第1个文件,而blkn0是保留位置,因此我们从blkn1开始查找:
[grid@gtser2 ~]$ kfed read /dev/asm11g-f aun=2 blkn=1 | more 
kfbh.endian:                          1 ; 0x000: 0x01
kfbh.hard:                          130 ; 0x001: 0x82
kfbh.type:                            4 ; 0x002: KFBTYP_FILEDIR
kfbh.datfmt:                          1 ; 0x003: 0x01
kfbh.block.blk:                       1 ; 0x004: blk=1
kfbh.block.obj:                       1 ; 0x008: file=1
kfbh.check:                  4093010779 ; 0x00c: 0xf3f6635b
kfbh.fcn.base:                      443 ; 0x010: 0x000001bb
kfbh.fcn.wrap:                        0 ; 0x014: 0x00000000
kfbh.spare1:                          0 ; 0x018: 0x00000000
kfbh.spare2:                          0 ; 0x01c: 0x00000000
kfffdb.node.incarn:                   1 ; 0x000: A=1 NUMM=0x0
kfffdb.node.frlist.number:   4294967295 ; 0x004: 0xffffffff
kfffdb.node.frlist.incarn:            0 ; 0x008: A=0 NUMM=0x0
kfffdb.hibytes:                       0 ; 0x00c: 0x00000000
kfffdb.lobytes:                 2097152 ; 0x010: 0x00200000
kfffdb.xtntcnt:                       2 ; 0x014: 0x00000002
kfffdb.xtnteof:                       2 ; 0x018: 0x00000002
kfffdb.blkSize:                    4096 ; 0x01c: 0x00001000
kfffdb.flags:                         1 ; 0x020: O=1 S=0 S=0 D=0 C=0 I=0 R=0 A=0
kfffdb.fileType:                     15 ; 0x021: 0x0f
kfffdb.dXrs:                         17 ; 0x022: SCHE=0x1 NUMB=0x1
kfffdb.iXrs:                         17 ; 0x023: SCHE=0x1 NUMB=0x1
kfffdb.dXsiz[0]:             4294967295 ; 0x024: 0xffffffff
kfffdb.dXsiz[1]:                      0 ; 0x028: 0x00000000
kfffdb.dXsiz[2]:                      0 ; 0x02c: 0x00000000
kfffdb.iXsiz[0]:             4294967295 ; 0x030: 0xffffffff
kfffdb.iXsiz[1]:                      0 ; 0x034: 0x00000000
kfffdb.iXsiz[2]:                      0 ; 0x038: 0x00000000
kfffdb.xtntblk:                       2 ; 0x03c: 0x0002
kfffdb.break:                        60 ; 0x03e: 0x003c
kfffdb.priZn:                         0 ; 0x040: KFDZN_COLD
kfffdb.secZn:                         0 ; 0x041: KFDZN_COLD
kfffdb.ub2spare:                      0 ; 0x042: 0x0000
kfffdb.alias[0]:             4294967295 ; 0x044: 0xffffffff
kfffdb.alias[1]:             4294967295 ; 0x048: 0xffffffff
kfffdb.strpwdth:                      0 ; 0x04c: 0x00
kfffdb.strpsz:                        0 ; 0x04d: 0x00
kfffdb.usmsz:                         0 ; 0x04e: 0x0000
kfffdb.crets.hi:               32984682 ; 0x050: HOUR=0xa DAYS=0x13
MNTH=0x3 YEAR=0x7dd
kfffdb.crets.lo:             3985358848 ; 0x054: USEC=0x0 MSEC=0x2f0
S
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,