知识大全 Oracle如何在ASM中定位文件的分布
Posted 文件
篇首语:大道之行,天下为公。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle如何在ASM中定位文件的分布相关的知识,希望对你有一定的参考价值。
Oracle如何在ASM中定位文件的分布 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
我们将尝试找出文件的AU分布 然后根据AU分布定位磁盘所在的位置 设置有可能利用操作系统层面的工具拷贝ASM其中的数据出来 我将使用两个例子来说明如何查看au分布
spfile
查看当前的spfile
sys@GT G> show parameter spfile;
NAME TYPE VALUE
spfile string +DATA /gt g/spfilegt g ora
查找对应的DISKGROUP信息
+ASM> select name group_number file_number from v$asm_alias where lower(name)= spfilegt g ora ;
NAME GROUP_NUMBER FILE_NUMBER
spfileGT G ora
+ASM> select name group_number from v$asm_diskgroup;
NAME GROUP_NUMBER
DATA
FRA
SYSDG
通过视图查看对应的AU分布
+ASM> select group_kffxp number_kffxp pxn_kffxp xnum_kffxp disk_kffxp from x$kffxp where group_kffxp= and number_kffxp= ;
GROUP_KFFXP NUMBER_KFFXP PXN_KFFXP XNUM_KFFXP DISK_KFFXP
上述查询显示spfile文件在磁盘组 的 号磁盘上只占用了 个AU 那么我们可以直接通过kfed工具来查看下磁盘上的分配属性
首先我们要找出对应的磁盘信息 注意磁盘序号是从 开始的
+ASM> select group_number disk_number path from v$asm_disk where group_number= and disk_number= ;
GROUP_NUMBER DISK_NUMBER PATH
/dev/asm g f
文件的FILE_NUMBER= 我们应该从au 这里面查找 也即asm元数据之后的第 个文件 而blkn 是保留位置 因此我们从blkn 开始查找
[grid@gtser ~]$ kfed read /dev/asm g f aun= blkn= | more
kfbh endian: ; x : x
kfbh hard: ; x : x
kfbh type: ; x : KFBTYP_FILEDIR
kfbh datfmt: ; x : x
kfbh block blk: ; x : blk=
kfbh block obj: ; x : file=
kfbh check: ; x c: xf f b
kfbh fcn base: ; x : x bb
kfbh fcn wrap: ; x : x
kfbh spare : ; x : x
kfbh spare : ; x c: x
kfffdb node incarn: ; x : A= NUMM= x
kfffdb node frlist number: ; x : xffffffff
kfffdb node frlist incarn: ; x : A= NUMM= x
kfffdb hibytes: ; x c: x
kfffdb lobytes: ; x : x
kfffdb xtntcnt: ; x : x
kfffdb xtnteof: ; x : x
kfffdb blkSize: ; x c: x
kfffdb flags: ; x : O= S= S= D= C= I= R= A=
kfffdb fileType: ; x : x f
kfffdb dXrs: ; x : SCHE= x NUMB= x
kfffdb iXrs: ; x : SCHE= x NUMB= x
kfffdb dXsiz[ ]: ; x : xffffffff
kfffdb dXsiz[ ]: ; x : x
kfffdb dXsiz[ ]: ; x c: x
kfffdb iXsiz[ ]: ; x : xffffffff
kfffdb iXsiz[ ]: ; x : x
kfffdb iXsiz[ ]: ; x : x
kfffdb xtntblk: ; x c: x
kfffdb break: ; x e: x c
kfffdb priZn: ; x : KFDZN_COLD
kfffdb secZn: ; x : KFDZN_COLD
kfffdb ub spare: ; x : x
kfffdb alias[ ]: ; x : xffffffff
kfffdb alias[ ]: ; x : xffffffff
kfffdb strpwdth: ; x c: x
kfffdb strpsz: ; x d: x
kfffdb usmsz: ; x e: x
kfffdb crets hi: ; x : HOUR= xa DAYS= x MNTH= x YEAR= x dd
kfffdb crets lo: ; x : USEC= x MSEC= x f SECS= x MINS= x b
kfffdb modts hi: ; x : HOUR= xa DAYS= x MNTH= x YEAR= x dd
kfffdb modts lo: ; x c: USEC= x MSEC= x f SECS= x MINS= x b
kfffdb dasz[ ]: ; x : x
kfffdb dasz[ ]: ; x : x
kfffdb dasz[ ]: ; x : x
kfffdb dasz[ ]: ; x : x
kfffdb permissn: ; x : x
kfffdb ub spar : ; x : x
kfffdb ub spar : ; x : x
kfffdb user entnum: ; x : x
kfffdb user entinc: ; x a: x
kfffdb group entnum: ; x c: x
kfffdb group entinc: ; x e: x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x c: x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x c: x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x c: x
kfffdb usm: ; x a : length=
kfffde[ ] xptr au: ; x a : x
kfffde[ ] xptr disk: ; x a : x
kfffde[ ] xptr flags: ; x a : L= E= D= S=
kfffde[ ] xptr c: ; x a : x
kfffde[ ] xptr au: ; x a : x f
kfffde[ ] xptr disk: ; x ac: x
kfffde[ ] xptr flags: ; x ae: L= E= D= S=
kfffde[ ] xptr c: ; x af: x
kfffde[ ] xptr au: ; x b : xffffffff
kfffde[ ] xptr disk: ; x b : xffff
kfffde[ ] xptr flags: ; x b : L= E= D= S=
kfffde[ ] xptr c: ; x b : x a
注意上面的信息
kfffde[ ] xptr au: ; x a : x f
kfffde[ ] xptr disk: ; x a : x
这说明从 文件开始相关的au分布信息是放在这里的 我们继续查看这个au的信息
+ASM> select group_number disk_number path from v$asm_disk where group_number= and disk_number= ;
GROUP_NUMBER DISK_NUMBER PATH
/dev/asm g g
而 号文件是存放在blkn= = 也即第 块中(blkn= )
[grid@gtser ~]$ kfed read /dev/asm g g aun= blkn= | more
kfbh endian: ; x : x
kfbh hard: ; x : x
kfbh type: ; x : KFBTYP_FILEDIR
kfbh datfmt: ; x : x
kfbh block blk: ; x : blk=
kfbh block obj: ; x : file=
kfbh check: ; x c: xc d fa
kfbh fcn base: ; x : x cf
kfbh fcn wrap: ; x : x
kfbh spare : ; x : x
kfbh spare : ; x c: x
kfffdb node incarn: ; x : A= NUMM= x a
kfffdb node frlist number: ; x : xffffffff
kfffdb node frlist incarn: ; x : A= NUMM= x
kfffdb hibytes: ; x c: x
kfffdb lobytes: ; x : x e
kfffdb xtntcnt: ; x : x
kfffdb xtnteof: ; x : x
kfffdb blkSize: ; x c: x
kfffdb flags: ; x : O= S= S= D= C= I= R= A=
kfffdb fileType: ; x : x d
kfffdb dXrs: ; x : SCHE= x NUMB= x
kfffdb iXrs: ; x : SCHE= x NUMB= x
kfffdb dXsiz[ ]: ; x : xffffffff
kfffdb dXsiz[ ]: ; x : x
kfffdb dXsiz[ ]: ; x c: x
kfffdb iXsiz[ ]: ; x : xffffffff
kfffdb iXsiz[ ]: ; x : x
kfffdb iXsiz[ ]: ; x : x
kfffdb xtntblk: ; x c: x
kfffdb break: ; x e: x c
kfffdb priZn: ; x : KFDZN_COLD
kfffdb secZn: ; x : KFDZN_COLD
kfffdb ub spare: ; x : x
kfffdb alias[ ]: ; x : x e
kfffdb alias[ ]: ; x : x a
kfffdb strpwdth: ; x c: x
kfffdb strpsz: ; x d: x
kfffdb usmsz: ; x e: x
kfffdb crets hi: ; x : HOUR= xd DAYS= x MNTH= x YEAR= x dd
kfffdb crets lo: ; x : USEC= x MSEC= x b SECS= xb MINS= x
kfffdb modts hi: ; x : HOUR= xb DAYS= x MNTH= x YEAR= x dd
kfffdb modts lo: ; x c: USEC= x MSEC= x SECS= x MINS= x
kfffdb dasz[ ]: ; x : x
kfffdb dasz[ ]: ; x : x
kfffdb dasz[ ]: ; x : x
kfffdb dasz[ ]: ; x : x
kfffdb permissn: ; x : x
kfffdb ub spar : ; x : x
kfffdb ub spar : ; x : x
kfffdb user entnum: ; x : x
kfffdb user entinc: ; x a: x
kfffdb group entnum: ; x c: x
kfffdb group entinc: ; x e: x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x c: x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x c: x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x c: x
kfffdb usm: ; x a : length=
kfffde[ ] xptr au: ; x a : x a
kfffde[ ] xptr disk: ; x a : x
kfffde[ ] xptr flags: ; x a : L= E= D= S=
kfffde[ ] xptr c: ; x a : x
kfffde[ ] xptr au: ; x a : xffffffff
kfffde[ ] xptr disk: ; x ac: xffff
kfffde[ ] xptr flags: ; x ae: L= E= D= S=
kfffde[ ] xptr c: ; x af: x a
我们可以看到只有
kfffde[ ] xptr au: ; x a : x a
而下一个
kfffde[ ] xptr au: ; x a : xffffffff
是还没分配数据的 这也印证了我们的配置 external的dg 没有冗余 因此每个au只有primary extents 即 个au 接下来我们通过os的dd命令将该文件copy出来 我们可以直接将spfile dd到文本文件
+ASM> select group_kfdat number_kfdat aunum_kfdat from x$kfdat where fnum_kfdat= ;
GROUP_KFDAT NUMBER_KFDAT AUNUM_KFDAT
从上面信息我们得到该文件业绩spfile的在磁盘的物理位置
[grid@gtser ~]$ dd if=/dev/asm g g skip= of=/tmp/dbspfile bs= k count=
+ records in
+ records out
bytes ( MB) copied seconds MB/s
[grid@gtser ~]$ cat /tmp/dbspfile
C"(% tQ CC"yKGT G __db_cache_size=
GT G __java_pool_size=
GT G __large_pool_size=
GT G __oracle_base= /u /app/oracle #ORACLE_BASE set from environment
GT G __pga_aggregate_target=
GT G __sga_target=
GT G __shared_io_pool_size=
GT G __shared_pool_size=
GT G __streams_pool_size=
* audit_file_dest= /u /app/oracle/admin/GT G/adump
* audit_trail= db
* patible=
* control_files= +DATA /gt g/controlfile/current CC"y/ +FRA/gt g/controlfile/current
* db_block_size=
* db_create_file_dest= +DATA
* db_domain=
* db_name= GT G
* db_recovery_file_dest= +FRA
* db_recovery_file_dest_size=
* diagnostic_dest= /u /app/oracle
* dispatchers= (PROTOCOL=TCP) (SERVICE=GT GXDB)
* log_archive_format= %t_%s_%r dbf
* nls_language= SIMPLIFIED CHINESE
* nls_territory= CHINA
* open_cursors=
* pga_aggregate_target=
* processes=
* remote_login_passwordfile= ECC"YcXCLUSIVE
* sga_target=
* undo_tablespace= UNDOTBS
CC"FeCC"EeCC"DeC[grid@gtser ~]$
控制文件
sys@GT G> show parameter control_files
NAME TYPE VALUE
control_files string +DATA /gt g/controlfile/curr
ent +FRA/gt g/
controlfile/current
+ASM> select XNUM_KFFXP PXN_KFFXP LXN_KFFXP DISK_KFFXP AU_KFFXP size_kffxp
from X$KFFXP
where GROUP_KFFXP= and NUMBER_KFFXP= and XNUM_KFFXP<>
order by ;
XNUM_KFFXP PXN_KFFXP LXN_KFFXP DISK_KFFXP AU_KFFXP SIZE_KFFXP
rows selected
这个控制文件使用了 个au 我们看看实际的磁盘分布情况怎么样
[grid@gtser ~]$ kfed read /dev/asm g g aun= blkn= | more
kfbh endian: ; x : x
kfbh hard: ; x : x
kfbh type: ; x : KFBTYP_FILEDIR
kfbh datfmt: ; x : x
kfbh block blk: ; x : blk=
kfbh block obj: ; x : file=
kfbh check: ; x c: x aabceb
kfbh fcn base: ; x : x ce
kfbh fcn wrap: ; x : x
kfbh spare : ; x : x
kfbh spare : ; x c: x
kfffdb node incarn: ; x : A= NUMM= x e
kfffdb node frlist number: ; x : xffffffff
kfffdb node frlist incarn: ; x : A= NUMM= x
kfffdb hibytes: ; x c: x
kfffdb lobytes: ; x : x c
kfffdb xtntcnt: ; x : x
kfffdb xtnteof: ; x : x
kfffdb blkSize: ; x c: x
kfffdb flags: ; x : O= S= S= D= C= I= R= A=
kfffdb fileType: ; x : x
kfffdb dXrs: ; x : SCHE= x NUMB= x
kfffdb iXrs: ; x : SCHE= x NUMB= x
kfffdb dXsiz[ ]: ; x : xffffffff
kfffdb dXsiz[ ]: ; x : x
kfffdb dXsiz[ ]: ; x c: x
kfffdb iXsiz[ ]: ; x : xffffffff
kfffdb iXsiz[ ]: ; x : x
kfffdb iXsiz[ ]: ; x : x
kfffdb xtntblk: ; x c: x
kfffdb break: ; x e: x c
kfffdb priZn: ; x : KFDZN_COLD
kfffdb secZn: ; x : KFDZN_COLD
kfffdb ub spare: ; x : x
kfffdb alias[ ]: ; x : x a
kfffdb alias[ ]: ; x : xffffffff
kfffdb strpwdth: ; x c: x
kfffdb strpsz: ; x d: x
kfffdb usmsz: ; x e: x
kfffdb crets hi: ; x : HOUR= xb DAYS= x MNTH= x YEAR= x dd
kfffdb crets lo: ; x : USEC= x MSEC= x SECS= x MINS= x
kfffdb modts hi: ; x : HOUR= x DAYS= x MNTH= x YEAR= x dd
kfffdb modts lo: ; x c: USEC= x MSEC= x SECS= x MINS= x
kfffdb dasz[ ]: ; x : x
kfffdb dasz[ ]: ; x : x
kfffdb dasz[ ]: ; x : x
kfffdb dasz[ ]: ; x : x
kfffdb permissn: ; x : x
kfffdb ub spar : ; x : x
kfffdb ub spar : ; x : x
kfffdb user entnum: ; x : x
kfffdb user entinc: ; x a: x
kfffdb group entnum: ; x c: x
kfffdb group entinc: ; x e: x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x c: x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x c: x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x : x
kfffdb spare[ ]: ; x c: x
kfffdb usm: ; x a : length=
kfffde[ ] xptr au: ; x a : x
kfffde[ ] xptr disk: ; x a : x
kfffde[ ] xptr flags: ; x a : L= E= D= S=
kfffde[ ] xptr c: ; x a : x b
kfffde[ ] xptr au: ; x a : x d
kfffde[ ] xptr disk: ; x ac: x
kfffde[ ] xptr flags: ; x ae: L= E= D= S=
kfffde[ ] xptr c: ; x af: x
kfffde[ ] xptr au: ; x b : x
kfffde[ ] xptr disk: ; x b : x
kfffde[ ] xptr flags: ; x b : L= E= D= S=
kfffde[ ] xptr c: ; x b : x a
kfffde[ ] xptr au: ; x b : x e
kfffde[ ] xptr disk: ; x bc: x
kfffde[ ] xptr flags: ; x be: L= E= D= S=
kfffde[ ] xptr c: ; x bf: x
kfffde[ ] xptr au: ; x c : x
kfffde[ ] xptr disk: ; x c : x
kfffde[ ] xptr flags: ; x c : L= E= D= S=
kfffde[ ] xptr c: ; x c : x
kfffde[ ] xptr au: ; x c : x f
kfffde[ ] xptr disk: ; x cc: x
kfffde[ ] xptr flags: ; x ce: L= E= D= S=
kfffde[ ] xptr c: ; x cf: x
kfffde[ ] xptr au: ; x d : x
kfffde[ ] xptr disk: ; x d : x
kfffde[ ] xptr flags: ; x d : L= E= D= S=
kfffde[ ] xptr c: ; x d : x
kfffde[ ] xptr au: ; x d : x
kfffde[ ] xptr disk: ; x dc: x
kfffde[ ] xptr flags: ; x de: L= E= D= S=
kfffde[ ] xptr c: ; x df: x a
kfffde[ ] xptr au: ; x e : x
kfffde[ ] xptr disk: ; x e : x
kfffde[ ] xptr flags: ; x e : L= E= D= S=
kfffde[ ] xptr c: ; x e : x f
kfffde[ ] xptr au: ; x e : x
kfffde[ ] xptr disk: ; x ec: x
kfffde[ ] xptr flags: ; x ee: L= E= D= S=
kfffde[ ] xptr c: ; x ef: x b
kfffde[ ] xptr au: ; x f : x
kfffde[ ] xptr disk: ; x f : x
kfffde[ ] xptr flags: ; x f : L= E= D= S=
kfffde[ ] xptr c: ; x f : x e
kfffde[ ] xptr au: ; x f : x
kfffde[ ] xptr disk: ; x fc: x
kfffde[ ] xptr flags: ; x fe: L= E= D= S=
kfffde[ ] xptr c: ; x ff: x
kfffde[ ] xptr au: ; x : x
kfffde[ ] xptr disk: ; x : x
kfffde[ ] xptr flags: ; x : L= E= D= S=
kfffde[ ] xptr c: ; x : x d
kfffde[ ] xptr au: ; x : x
kfffde[ ] xptr disk: ; x c: x
kfffde[ ] xptr flags: ; x e: L= E= D= S=
kfffde[ ] xptr c: ; x f: x
kfffde[ ] xptr au: ; x : x
kfffde[ ] xptr disk: ; x : x
kfffde[ ] xptr flags: ; x : L= E= D= S=
kfffde[ ] xptr c: ; x : x c
kfffde[ ] xptr au: ; x : x
kfffde[ ] xptr disk: ; x c: x
kfffde[ ] xptr flags: ; x e: L= E= D= S=
kfffde[ ] xptr c: ; x f: x e
kfffde[ ] xptr au: ; x : xffffffff
kfffde[ ] xptr disk: ; x : xffff
kfffde[ ] xptr flags: ; x : L= E= D= S=
kfffde[ ] xptr c: ; x : x a
kfffde[ ] xptr au: ; x : xffffffff
kfffde[ ] xptr disk: ; x c: xffff
kfffde[ ] xptr flags: ; x e: L= E= D= S=
kfffde[ ] xptr c: ; x f: x a
kfffde[ ] xptr au: ; x : xffffffff
这个结果符合我们的预期 占用了 个au也即 Mb
sys@GT G> select name block_size/ from v$controlfile ;
NAME BLOCK_SIZE/
+DATA /gt g/controlfile/current
+FRA/gt g/controlfile/current
cha138/Article/program/Oracle/201311/19045相关参考
知识大全 rhel4+oracle10g ASM配制及ASM与文件系统之间迁移
rhel4+oracle10gASM配制及ASM与文件系统之间迁移 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一
探索ORACLE之ASM概念(完整版) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一&nbs
Oracle数据库自动存储管理(ASM) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 关于AS
使用普通文件创建ASM实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 建立以下perl脚本创
利用RMAN将数据库从文件系统迁移到ASM 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一打开
对Oracle10gASM生产数据库备份和恢复 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 新
第一章安装 目标 完成本课您将能够: *列出新的安装特性 *列出安装性能的增加 安装新特性支持 *数据库存储选项 文件系统 自动存储管理(asm) 裸设备
Oracle数据库在配置文件中更改最大连接数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在连
在Oracle9i中建立SPFILE文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Orac
Oracle数据库中文件加密详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Oracle数