ASM DG Usable_file_MB和Req_mir_free_MB的含义

REQUIRED_MIRROR_FREE_MB的值代表了ASM用来重新满足磁盘组定义的冗余度所需要的空间,这个值的大小依赖于磁盘组的冗余度和FailGroup失败组的数量。


如果有n>2个failgroup的normalDG,REQUIRED_MIRROR_FREE_MB的值等于一个failgroup的大小(如果失败组大小不一致,则以最大的失败组为req_mb大小)


如果只有2个failgroup的normalDG,那么REQUIRED_MIRROR_FREE_MB的值将等于一个磁盘的大小而非一个failgroup的大小。






如果有n>3个failgroup的high冗余磁盘组,REQUIRED_MIRROR_FREE_MB的值等于2个failgroup的大小


如果high冗余的磁盘组只有3个failgroup,那么REQUIRED_MIRROR_FREE_MB的值将会是两个磁盘的大小。






normal模式下,当FG组大于2的时候,那么这个时候,有故障,必须确保有整个失败组来支撑,所以这个时候按失败组算;


而当FG组等于2的时候,这个时候由于normal模式是2份数据,所以,只要来按1块asm_disk来算即可


同理,high模式下,当FG组大于3的时候,那么这个时候,有故障,必须确保有最少2个失败组来弥补,确保3份数据;


当FG等于3的时候,就是2块asm_disk即可)










USABLE_FILE_MB的值代表了总的可用来存储数据的空间,它的值依赖磁盘组的大小,磁盘组的冗余度和REQUIRED_MIRROR_FREE_MB的值,USABLE_FILE_MB的值的计算方法如下: 


(Total_MB/FG个数/冗余度)* 坏掉最大磁盘组剩余的个数
例如:


State    Type  Rebal  Sector  Block       AU  Total_MB   Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name


MOUNTED  HIGH  N         512   4096  1048576  34312320  13906410         13724928           60494              0             N  DATADG/


(34312320/5/3)*3 =6862464
5个失败组最大可以坏掉2个,剩下3个正常的FG,是high冗余(3份冗余)
安全的数值正常情况下只能存6862464MB ,存的数据保证是3分冗余的,如果Usable_file_MB出现数据不能确保是3份冗余了
use_mb=(free_mb-req_mb)/2|3   其中normal模式分母为2,high模式分母为3




Free_MB/冗余度 查看剩下的空间

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30345407/viewspace-2151640/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30345407/viewspace-2151640/

<think>嗯,用户想了解Oracle ASM命令的使用指南、示例、参数说明以及故障排查。首先,我需要回忆一下Oracle ASM的基本命令,比如asmcmd工具的使用。ASMCMD是管理ASM实例的命令行工具,用户可能需要知道如何进入这个环境,以及常用的命令有哪些。 接下来,用户可能需要具体的示例,比如如何查看磁盘组状态、创建或删除磁盘组、管理文件等。需要确保每个命令的语法正确,并且参数说明清晰。比如,lsdg命令的参数输出含义是什么,mkdg需要哪些参数,比如冗余级别、磁盘路径等。 然后是关于故障排查的部分。根据引用[2],RAC无法启动时应该先检查心跳网络存储。所以ASM相关的故障可能涉及磁盘无法识别、权限问题或者磁盘组挂载失败。需要列举常见的错误场景对应的解决步骤,比如检查磁盘路径、权限,查看日志文件等。 另外,用户提供的引用[1]中提到了ASM安装配置的步骤,可能需要涉及到初始化参数设置,比如INSTANCE_TYPEASM_DISKSTRING,这些参数在配置ASM时很重要,应该包含在命令使用指南中。 还需要注意命令的权限问题,比如使用grid用户执行asmcmd,以及如何通过SQL*Plus连接到ASM实例进行更深入的管理。比如启动关闭ASM实例的命令,可能需要用到srvctl或者sqlplus。 在故障排查方面,需要提到如何查看ASM警报日志,检查磁盘的状态是否为PROVISIONED,以及如何重新挂载磁盘组。比如使用MOUNTDISMOUNT命令,或者使用KFED工具修复损坏的磁盘头。 最后,用户可能还关心如何监控ASM的性能状态,比如使用lsdg查看剩余空间,检查磁盘的可用性等。这部分可以结合示例说明,帮助用户更好地理解命令的输出结果。 总结一下,回答需要结构清晰,分命令概述、常用命令示例、参数说明、故障排查步骤几个部分,同时引用提供的资料中的相关要点,比如安装配置步骤故障处理建议。确保覆盖用户需求的所有方面,并且给出实用的示例解决方案。</think>### Oracle ASM命令使用指南及故障排查 #### 一、ASM命令概述 Oracle ASM通过命令行工具`asmcmd`SQL*Plus实现管理。`asmcmd`提供类似Linux文件系统的操作接口,适用于日常维护[^1]。 #### 二、常用ASM命令及示例 1. **进入ASMCMD环境** ```bash su - grid asmcmd ``` 2. **查看磁盘组状态** ```bash asmcmd lsdg ``` **输出示例**: ``` State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name MOUNTED EXTERN N 512 4096 4194304 512000 400000 0 400000 0 DATA/ ``` 3. **创建磁盘组** ```bash asmcmd mkdg /path/to/asm_disk_group_config.xml ``` **XML配置示例**: ```xml <dg name="DATA" redundancy="EXTERNAL"> <dsk string="/dev/oracleasm/disks/ASM_DISK1"/> </dg> ``` 4. **管理文件** ```bash asmcmd ls +DATA/ORCL/DATAFILE # 列出文件 asmcmd rm +DATA/ORCL/DATAFILE/users.dbf # 删除文件 ``` 5. **磁盘操作** ```bash asmcmd chdg -r HIGH DATA # 修改冗余级别 asmcmd volcreate -G DATA -s 100G VOL1 # 创建ASM卷 ``` #### 三、关键参数说明 1. **ASM_DISKSTRING** - 作用:定义ASM扫描磁盘的路径模式 - 设置示例: ```sql ALTER SYSTEM SET asm_diskstring='/dev/oracleasm/disks/*'; ``` 2. **INSTANCE_TYPE** - 固定值:`ASM`(ASM实例)或`RDBMS`(数据库实例) 3. **ASM_POWER_LIMIT** - 范围:1-11,控制磁盘重平衡速度 #### 四、故障排查指南 1. **磁盘无法识别** ```bash asmcmd lsdsk --candidate # 查看候选磁盘 asmcmd chkdsk /dev/sdb1 # 检查磁盘状态 ``` **常见原因**:磁盘权限错误(需属组`asmdba`)、路径未包含在`ASM_DISKSTRING`中 2. **磁盘组无法MOUNT** ```bash asmcmd mount DATA # 尝试手动挂载 tail -f $ORACLE_BASE/diag/asm/+asm/trace/alert_+ASM.log # 查看ASM警报日志 ``` **解决方案**:检查`/etc/init.d/oracleasm listdisks`是否包含目标磁盘[^2] 3. **文件系统损坏** ```bash kfed repair /dev/sdb1 # 修复ASM磁盘头 asmcmd chkdsk +DATA # 检查元数据完整性 ``` 4. **性能问题** ```sql SELECT group_number, name, total_mb, free_mb FROM v$asm_diskgroup; ``` **关键指标**:`Free_MB`小于20%需扩容,`Offline_disks`大于0需检查存储 #### 五、典型场景示例 **场景1:添加新磁盘** ```bash oracleasm createdisk DISK3 /dev/sdc1 # 创建ASM磁盘 asmcmd volcreate -G DATA -s 50G LOG_VOL # 创建日志卷 ``` **场景2:替换故障磁盘** ```bash asmcmd offline -G DATA DISK2 # 标记故障磁盘 asmcmd online -G DATA DISK2 # 恢复后重新上线 asmcmd rebal -G DATA # 触发重平衡 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值