Oracle Flex ASM 详解
Oracle Flex ASM 详解
适用版本:Oracle Database 12c+ / 19c / 23ai 文档版本:v1.0 / 2026-07
1. 概述
Flex ASM 是 12c 引入的 ASM 架构[1]:
详细见:Oracle ASM 高可用详解、Oracle Flex Cluster 详解。
2. 传统 vs Flex ASM
2.1 传统
- 每节点 ASM
- 紧密耦合
- ASM 故障 = 节点故障
2.2 Flex
- ASM 客户端/服务端
- 部分节点运行 ASM
- ASM 冗余
2.3 优势
- ASM 冗余
- 不每节点
- 灵活
3. 架构
3.1 ASM 服务端
- Hub 节点
- 运行 ASM
- 少数
3.2 ASM 客户端
- Leaf 节点
- 连接 Hub ASM
- 多数
3.3 通信
- ASM 网络
- Flex ASM
- 连接
4. 配置
4.1 模式
# 查看
asmcmd showclustermode
4.2 转换
# 传统 -> Flex
asmcmd setclustermode flex
4.3 ASM 网络
# 配置 ASM 网络
$GI_HOME/crs/config/config.pl
5. ASM 冗余
5.1 多 ASM 实例
- Hub 节点
- 多 ASM
- 冗余
5.2 故障
- ASM 故障
- 客户端切换
- 透明
5.3 最少
- 最少 1 个 ASM
- 推荐 3 个
- 冗余
6. 客户端连接
6.1 连接
- Leaf 连接 Hub ASM
- 透明
- 自动
6.2 切换
- ASM 故障
- 客户端切换其他 ASM
- 透明
6.3 监控
# 客户端
sqlplus / as sysasm
SELECT * FROM v$asm_client;
7. Disk Group
7.1 共享
- Hub ASM 管理
- Leaf 通过 Hub 访问
- 共享
7.2 访问
- 间接访问
- 通过 ASM
- 透明
7.3 管理
- Hub 管理
- 集中
- 简化
8. 监控
8.1 ASM 状态
srvctl status asm
asmcmd showclustermode
8.2 客户端
SELECT * FROM v$asm_client;
8.3 Disk Group
SELECT group_number, name, state FROM v$asm_diskgroup;
9. 故障场景
9.1 ASM 故障
- 一个 ASM 故障
- 客户端切换
- 透明
9.2 Hub 故障
- Hub 节点故障
- ASM 切换
- 其他 Hub 接管
9.3 网络故障
- ASM 网络故障
- 客户端影响
- 监控
10. 应用场景
10.1 Flex Cluster
- Hub-Leaf
- Flex ASM
- 大规模
10.2 高可用
- ASM 冗余
- 故障切换
- 高可用
10.3 简化
- 少数 ASM
- 集中管理
- 简化
11. 限制
11.1 兼容性
- 12c+
- 检查
- 评估
11.2 网络
- ASM 网络
- 带宽
- 监控
11.3 复杂
- 配置
- 管理
- 评估
12. 常见问题
12.1 ASM 不可达
- Hub 故障
- 切换
- 检查
12.2 客户端连接失败
- ASM 网络
- 检查
- 修复
12.3 性能
- 间接访问
- 监控
- 优化
13. 最佳实践
- 多 ASM:3 个
- Hub 冗余:3+
- ASM 网络:独立
- 监控:状态
- 测试:故障
- 文档:配置
- Flex Cluster:配合
- 演练:ASM 故障
- 优化:网络
- 评估:场景
14. 参考资料
[1] Oracle Automatic Storage Management Administrator’s Guide 19c, “Flex ASM” https://docs.oracle.com/en/database/oracle/oracle-database/19/ostmg/