WEB开发网
开发学院数据库Oracle Oracle如何在ASM中定位文件的分布 阅读

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

 2013-03-21 14:37:49 来源:WEB开发网   
核心提示: 我们将尝试找出文件的AU分布,然后根据AU分布定位磁盘所在的位置,Oracle如何在ASM中定位文件的分布,设置有可能利用操作系统层面的工具拷贝ASM其中的数据出来,我将使用两个例子来说明如何查看au分布,我们应该从au2这里面查找,也即asm元数据之后的第1个文件,0. spfile查看当前的spfile:sys@

 我们将尝试找出文件的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

1 2 3 4 5 6  下一页

Tags:Oracle 如何 ASM

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接