0

0

如何配置ASM的磁盘组属性_COMPATIBLE.ASM与AU_SIZE条带化优化

P粉602998670

P粉602998670

发布时间:2026-03-15 12:06:32

|

364人浏览过

|

来源于php中文网

原创

_ASM兼容性应设为所有挂载节点最低GI版本,如存在12.1实例则最高设12.1;AU_SIZE需匹配IO模式与存储类型,OLTP用1MB、DW用4MB;条带由冗余模式和failure group自动实现,非参数控制;修改属性不触发rebalance,但后续磁盘变更会以新属性强制重平衡。

ASM磁盘组的 _COMPATIBLE.ASM 到底设多少才安全

设高了会锁死升级路径,设低了又用不了新特性——关键不是“推荐值”,而是你当前 grid infrastructure 版本能支撑的上限。比如 19c gi 默认支持 _compatible.asm=19.0,但如果你磁盘组里还有 12.1 的 asm 实例在挂载,那就只能卡在 12.1,否则启动失败。

常见错误现象:ORA-15032: not all alterations performed + ORA-15237: ASM operation failed with error 48,基本就是版本不兼容导致属性写入被拒。

  • _COMPATIBLE.ASM 是单向递增的,改完不能回退,改之前务必确认所有节点 GI 版本一致且已打齐 PSU
  • 生产环境建议比最低 GI 版本高一级(如 GI 是 19.20,设为 19.0 而非 19.20),留出补丁缓冲空间
  • 查询当前值:SELECT name, compatibility FROM v$asm_diskgroup WHERE name = 'DG_DATA';

AU_SIZE 不是越大越好,得看你的 I/O 模式和磁盘类型

默认 1MB 在全闪存环境下常浪费空间,而机械盘上设成 4MB 反而加剧小 IO 拆分。AU 是 ASM 分配和镜像的最小单位,直接影响 extent 切分、rebalance 效率和内存开销。

使用场景差异明显:OLTP 系统大量 8KB 随机读写,AU_SIZE=1M 就够用;数据仓库做大批量直通加载,AU_SIZE=4M 能减少 metadata 压力和 extent 碎片。

  • 一旦创建磁盘组,AU_SIZE 无法修改,重建代价极高
  • 19c 开始支持 AU_SIZE=2M4M,但需确认底层存储是否对齐(比如 NVMe 设备 LBA 大小是否匹配)
  • 检查实际 AU 使用率:SELECT group_number, allocation_unit_size FROM v$asm_diskgroup;

条带化(Striping)不是靠参数开关,而是由 ASM 冗余模式和文件类型共同决定

很多人以为调个 ATTRIBUTE 'stripe'='coarse' 就能控制条带行为,其实 ASM 没有这个属性。所谓条带,是 ASM 自动把文件切分成 AU 后,按冗余级别(NORMAL/ HIGH/ FLEX)分散到不同 failure group 的结果。

容易踩的坑:把多个 LUN 映射到同一物理阵列却没划分 failure group,导致“逻辑条带”实际落在同一控制器上,IO 瓶颈照旧。

Face++旷视
Face++旷视

Face⁺⁺ AI开放平台

下载
  • 条带粒度固定为 AU,无法单独配置;coarse / fine 条带只存在于客户端工具(如 ADVM)或 Oracle 文件类型定义中
  • 新建磁盘组时必须显式指定 FAILGROUP,否则所有 disk 默认归入同一 failure group,等于没条带
  • 验证条带效果:查 v$asm_filestriped 列(仅限 12c+),再结合 v$asm_alias 关联物理分布

磁盘组属性修改后,哪些操作会隐式触发 rebalance

_COMPATIBLE.ASMAU_SIZE 本身不触发 rebalance,但后续任何 add/drop disk、resize disk、failgroup 变更都会强制 rebalance——而且是以新属性为准重排所有 AU。

性能影响很实在:一个 10TB 的 NORMAL 冗余磁盘组,在 AU_SIZE=4M 下 rebalance 时间可能比 1M 多出 3 倍,因为每个 AU 移动的数据量翻了四倍。

  • 避免在业务高峰期执行 ALTER DISKGROUP ... ADD DISK,尤其当磁盘组刚改过兼容性或 AU 大小
  • POWER_LIMIT 限速:ALTER DISKGROUP dg_data REBALANCE POWER 1;,默认是 11,太高容易拖垮 IO
  • 监控进度别只看 v$asm_operation,还得盯 v$asm_disk_iostat 的 write_bytes/sec 是否持续高位

最麻烦的是,这些属性组合起来会产生叠加效应:比如 _COMPATIBLE.ASM=19.0 + AU_SIZE=4M + 新增 failure group,一次 rebalance 可能跑两天,中间还不能停库。提前算好窗口期,比事后调优重要得多。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

493

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

382

2023.10.25

flex教程
flex教程

php中文网为大家带来了flex教程合集,Flex是采用Flex布局的元素,称为Flex容器(flex container),简称"容器",它的所有子元素自动成为容器成员,有三个核心概念: flex项,需要布局的元素;flex容器,其包含flex项;排列方向,这决定了flex项的布局方向。php中文网还为大家带来flex的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

372

2023.06.14

oracle清空表数据
oracle清空表数据

当表中的数据不需要时,则应该删除该数据并释放所占用的空间。本专题为大家提供oracle清空表数据的相关文章,帮助大家解决该问题。

271

2023.08.16

Oracle中declare的使用
Oracle中declare的使用

Oracle DECLARE语句是PL/SQL编程语言中用于声明变量、常量、游标或异常的关键字。它的主要作用是在程序中定义这些对象,以便在后续的代码中使用。DECLARE语句的语法简单明了,可以根据需要声明多个对象。通过使用这些声明的对象,可以进行各种操作,如计算、查询数据库、处理异常等 。

221

2023.09.15

oracle怎么分页
oracle怎么分页

实现分页的步骤:1、使用ROWNUM进行分页查询;2、在执行查询之前进行设置分页参数;3、使用"COUNT(*)"函数来获取总行数,并使用"CEIL"函数来向上取整计算总页数;4、在外部查询中使用"WHERE"子句来筛选出特定的行号范围,以实现分页查询。想了解更多oracle怎么分页的文章,可以来阅读本专题先的文章。

246

2023.09.18

Oracle查看表操作历史记录
Oracle查看表操作历史记录

查看操作历史记录的方法:1、使用Oracle内置的审计功能,可以记录数据库中发生的各种操作,包括登录、DDL语句、DML语句等;2、使用Oracle日志文件,其中包含了数据库中发生的各种操作,可以通过查看日志文件来获取操作历史记录;3、使用Oracle的Flashback功能,可以查看数据库在某个时间点的操作历史记录;4、使用第三方工具等。本专题还提供其他查看表操作的文章,大家可以免费阅读。

464

2023.09.19

Oracle中RAC的用法
Oracle中RAC的用法

Oracle中RAC的用法:1、通过在多个服务器上运行数据库实例来提供高可用性;2、允许在需要时增加或减少节点数量;3、通过将工作负载分布到多个节点上来实现负载均衡;4、使用共享存储来实现多个节点之间的数据共享;5、允许多个节点同时处理数据库请求,从而实现并行处理;6、提供了透明故障切换功能;7、使用了一些技术来确保数据的一致性;8、提供了管理工具来简化RAC环境的管理和维护。本专题还提供RAC相关的其他文章,大家可以免费阅读。

451

2023.09.19

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

69

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号