ASM 剩余空间查询

方法一:
oracle用户登录节点1数据库服务器执行命令:
-> export ORACLE_SID=+ASM1
-> asmcmd
ASMCMD> lsdg
State    Type    Rebal  Unbal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Name
MOUNTED  EXTERN  N      N         512   4096  1048576    409600    68900                0          68900              0  STASM/
ASMCMD> 

方法二:
通过检查v$asm_diskgoup视图可以检查磁盘组空间的使用情况,如下:
SQL> select group_number,name,total_mb,free_mb from v$asm_diskgroup;
     GROUP_NUMBER        NAME        TOTAL_MB        FREE_MB

             1                          STASM        409600          68900


相关视图:V$ASM_DISK、V$ASM_DISKGROUP、V$ASM_FILE、V$ASM_TEMPLATE、V$ASM_OPERATION和V$ASM_CLIENT。

asm_rbal+ASM进程  asm_power_limit

自动存储管理(ASM)是Oracle 10g的新特性,它为数据库管理员提供了一个统一的存储管理接口,该接口在所有服务器和存储平台上是一致的。ASM异步I/O性能以及文件系统的易管理性。结合Oracle 9i提供的OMF管理特性,ASM实现了高效灵活的数据存储及文件管理。通过ASM在底层进行I/O的均衡、负担的分担、存储的优化,Oracle在上层将数据文件进行自我整理,在底层进行自我管理。
 
ASM实例
INSTANCE_TYPE是跟随ASM实例新增的一个初始化参数,有2个可选值:RDBMS和ASM。RDBMS代表的是数据库实例,ASM代表的是ASM实例。ASM的实例名通常为+ASM。ASM实例启动时需要注意两个参数:asm_diskgroups、asm_diskstring。asm_diskgroups用于定义ASM实例启动时自动mount的磁盘组,asm_disstring用于定义实例启动时搜索可以的ASM磁盘的路径。
 
ASM磁盘组
在创建磁盘组时冗余选项(redundancy)有3个可选值:
High:高度冗余,Oracle可以通过ASM实现3路镜像,需要3个failure groups。
Normal:正常冗余,通过ASM实现2路镜像,需要两个failure groups。
External:外部冗余,通过ASM之外的技术实现冗余,Oracle不做镜像处理。
Oracle通过OCSSD进行数据库实例和磁盘组的通信。挂载磁盘组的命令:
ALTER DISKGROUP dgroup1 MOUNT;
卸载diskgroup:ALTER DISKGROUP ALL DISMOUNT;
ASM常用的视图有V$ASM_DISK、V$ASM_DISKGROUP、V$ASM_FILE、V$ASM_TEMPLATE、V$ASM_OPERATION和V$ASM_CLIENT等,通过这些视图可以得到ASM很多相关信息。
 
ASM磁盘组的动态扩展能力
当向现有磁盘组中动态加入新磁盘后,oracle动态的将当前的数据均衡到新增加的磁盘,这个过程叫rebalance,在后台通过asm_rbal+ASM进程来完成。ASM使用裸设备来构建磁盘组,一方面拥有了裸设备的性能,另一方面通过oracle自身管理的Disk Group实现了动态的空间扩展和均衡。ASM通过参数asm_power_limit来控制rebalance的速度,该参数取值范围1~11,缺省值1。ASM实例通过参数文件启动,本身没有数据存储,而ASM磁盘组则需要在磁盘头记录ASM信息,同时也记录在ASM文件上。通过如下步骤获得kfed工具:
Cd $ORACLE_HOME/rdbms/lib
make –f ins_rdbms.mk ikfed
在ASM模式下,ASM元数据文件占了0~255个文件号,所以其他数据文件的ASM文件号是从256开始的,如果可能ASM元数据至少镜像3分,以保证安全。对与ASM的管理,可以通过EM完成。

<think>好的,用户的问题是关于Oracle ASM磁盘组的空间管理最佳实践,特别是推荐保留多少剩余空间。我需要结合提供的引用内容来回答这个问题。 首先,查看用户提供的引用资料。引用[1]提到,在正常冗余的磁盘组中,最好保留足够的空闲空间以容忍一个故障组中所有磁盘的丢失,空闲空间应等于最大故障组的容量。这说明空闲空间的大小需要根据故障组的配置来决定,尤其是最大的那个故障组的大小。 引用[3]和[4]讨论了如何在ASM查询空间的使用情况和磁盘剩余空间,这可能涉及到监控和维护的空间管理操作,比如定期检查剩余空间,确保符合推荐比例。 引用[5]中的信息可能涉及磁盘组的具体参数,比如分配单元大小等,但可能对当前问题影响不大,不过需要确认是否有其他相关参数会影响空间管理策略。 用户想知道推荐的空余空间比例。根据引用[1]的建议,正常冗余磁盘组需要保留相当于最大故障组大小的空间。如果故障组的配置不均匀,比如有一个较大的故障组,那么需要保留的空间比例可能较高。例如,如果一个故障组占用了整个磁盘组的30%,那么建议至少保留30%的剩余空间。 另外,还需要考虑外部冗余的情况。引用[1]提到的是正常冗余,而外部冗余可能没有冗余保护,因此可能需要不同的策略,比如保留一定的空间用于扩展或突发需求,但引用中没有明确说明,可能需要结合通用最佳实践。 总结来说,最佳实践应包括: 1. 根据冗余类型确定保留空间:正常冗余需保留最大故障组的大小,高冗余可能需要更多。 2. 定期监控空间使用,使用视图如V$ASM_DISKGROUP进行查询。 3. 避免过度填充,保持至少20%的剩余空间作为缓冲区,即使满足故障组需求后仍需保留部分空间以防意外增长。 同时,生成相关问题时要覆盖监控方法、冗余类型的影响、调整空间的方法等,确保用户全面理解。</think>### ASM磁盘空间管理最佳实践 #### 1. **冗余类型与空间保留原则** - **正常冗余(Normal Redundancy)** 推荐保留至少**最大故障组(Failure Group)的容量**作为空闲空间[^1]。例如,若最大故障组包含3块总容量为300GB的磁盘,则建议至少保留300GB可用空间,以应对该故障组完全失效的场景。 - **高冗余(High Redundancy)** 需保留**两个最大故障组的容量**,以满足三重镜像的冗余要求。 - **外部冗余(External Redundancy)** 因无ASM级冗余保护,建议保留至少**20%-30%的剩余空间**,用于应对数据增长或突发写入需求。 #### 2. **通用推荐比例** - **最低要求**:遵循冗余类型的物理容错需求(如上述故障组容量)。 - **附加缓冲区**:在满足最低要求的基础上,额外保留**10%-20%的剩余空间**,以避免因空间碎片或元数据更新导致意外空间不足。例如: $$ \text{总剩余空间} = \text{最大故障组容量} + (\text{总容量} \times 20\%) $$ #### 3. **监控与管理操作** - **查询剩余空间**: 通过视图`V$ASM_DISKGROUP`监控`FREE_MB`和`REQUIRED_MIRROR_FREE_MB`字段,判断是否满足冗余要求[^3][^4]: ```sql SELECT name, total_mb, free_mb, required_mirror_free_mb FROM v$asm_diskgroup; ``` - `required_mirror_free_mb`:实现冗余保护所需的最小空闲空间。 - `free_mb`:实际剩余空间,需始终大于`required_mirror_free_mb`。 - **扩容与再平衡**: 当剩余空间接近阈值时,通过`ALTER DISKGROUP ADD DISK`添加磁盘,并触发自动再平衡[^2]。 #### 4. **避免过度填充的风险** - 若剩余空间低于`required_mirror_free_mb`,ASM将禁止写入操作,导致数据库挂起。 - 空间碎片可能降低I/O性能,定期检查`V$ASM_OPERATION`确认再平衡进度[^5]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方-phantom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值