oracle asm磁盘组三种模式_传统运维|ASM磁盘空间莫名消失事件

392cfb683b63afb052f518be7deff2db.gif

各位新朋友~记得先点蓝字关注我哦~

某个明媚的下午,一个客户在微信上向我发起了问题对接请求:

9a9d9c3cb3d1e34a55ff97136a110fa1.png

lsdg查看DATA磁盘组空间还剩30多G,为何会报控制文件无法扩展?磁盘组空间为何报错磁盘空间不足?

面对如此诡异的问题,我缓缓打出4个大字:

233301de3fec9bbc4c5d8907485a7303.png

我得到了以下的报错信息:

e540363a3f5636c70805b8d939eed2ad.png

的确,在报错信息中清清楚楚的写着,控制文件扩展失败,DATA磁盘组空间不足,随后我们看到了当时的磁盘空间信息:

3576f2a271e3385431f4296ed28e1427.png

我们可以很明显的看到,DATA盘的确还留有约32GB的空间,那为何会出现这种状况呢?

f613f7ef89766275fe942745739d923c.png

这种是典型的ASM磁盘空间假耗尽问题。在DATA磁盘组里有一块或者几块的磁盘空间耗尽了,导致磁盘组里的文件无法扩展。

ASM默认会自动对每个磁盘组中的磁盘进行REBALANCE操作 ,目的是使数据平均分布,而当REBALANCE这个动作出现问题时,就会造成数据分布不均,有些磁盘空间已经耗尽,有些磁盘还留存着大量的空间。

这个时候需要检查ASM_POWER_LIMIT 参数:

命令:show parameter asm_power_limit;

4145a8dfed919850d3baa5ede616ea5c.png

并且我们使用 select * from v$asm_operation;命令后,发现后台并没有在做REBALANCE的操作,导致该ASM磁盘组空间假耗尽。

为此,我们做了以下步骤去解决这个问题:

1.调整 ASM_POWER_LIMIT参数值:

alter diskgroup 磁盘组名 rebalance power 2;

注意:该参数默认为1,值越大REBALANCE速度越快,对IO影响越明显,需谨慎,我们这里将其设置为2。

2.查看REBALANCE操作进度:

select * from v$asm_operation;

244868cfafb1269b7e5a612dad4d9102.png

发现后台REBALANCE操作已在运行

3.在ASMCMD中查看DATA磁盘组中的磁盘空间变化

命令:lsdsk -k -G 磁盘组名

b349981e9c5911c951fe1dbf40e69901.png

我们可以观察到DATA磁盘组中的磁盘空间在慢慢平衡中。最终,当REBALANCE结束,正常的磁盘组空间分配应该是这样的:

4bfa74dbc59e7526baaa36e75be9b9fb.png

4.在REBALANCE结束后,将 ASM_POWER_LIMIT参数改回默认值:

alter diskgroup 磁盘组名 rebalance power 1;

该步骤是为了防止REBALANCE速率过快,影响IO,从而导致性能问题。

5.检查数据库及业务情况是否恢复正常。

3713235f222029d9fcc75b2dcba13d30.png

至此,该问题顺利解决。

下面开始知识点总结:

91dce39b593f91a96480d31b0a7e9c1b.png

1. ASM默认会自动对每个磁盘组中的磁盘进行rebalance操作 ,目的是使数据平均分布。

2. ASM_POWER_LIMIT 是控制REBALANCE速率的参数,该参数值越高,REBALANCE操作完成的速度就越快,设置语句示例为:ALTER DISKGROUP data2 REBALANCE POWER 2;

3. 使用较低ASM_POWER_LIMIT设置会使REBALANCE需要较长的时间,但会消耗较少的处理和I/O资源,这些资源由其他应用程序(如数据库)共享。有关REBALANCE进程的详细信息,可以查看Oracle ASM警报日志。

参考文献

https://docs.oracle.com/database/121/OSTMG/GUID-020ABD10-8370-444C-9B44-71F2FF688861.htm#OSTMG10080

https://docs.oracle.com/database/121/OSTMG/GUID-14E48E96-F5D6-4F41-A8E4-B535CBD3CAE5.htm#OSTMG10221

31edc22e55756b7ab8d076c23aae2eb8.gif

美创运维中心数据库服务团队拥有Oracle ACE 1人、OCM 10余人、数十名Oracle OCP、MySQL OCP、红帽RHCA、中间件weblogic、tuxedo认证、达梦工程师 ,著有《Oracle DBA实战攻略》,《Oracle数据库性能优化方法和最佳实践》,《Oracle内核技术揭秘》等多本数据运维优化书籍。目前运维各类数据库合计2000余套,精通Oracle、MySQL、SQLServer、DB2、PostgreSQL、达梦等主流商业和开源数据库。并成为首批国内达梦战略合作伙伴之一,拥有海量经验和完善的人员培养体系。并同时提供超融合,私有云整体解决方案。

dfea4e0b3e919a7e0dbbdf547ef9ce77.png

10c79bd5af2c9bf4b1e67b87ab46b115.png
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值