news 2026/8/13 22:12:22

Oracle11g用命令创建、扩容和移除ASM磁盘组成员

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Oracle11g用命令创建、扩容和移除ASM磁盘组成员

目录

一、手工创建ASM磁盘组

1.1.查看RAC集群状态

1.2.查看ASM磁盘组和磁盘状态

1.3.添加ASM磁盘组YULU

1.4.删除磁盘组

二、ASM磁盘组扩容和删除

2.1.查看ASM磁盘信息

2.2.扩容磁盘组

2.3.查询rebalance状态

2.4.删除磁盘组中的磁盘

2.4.1.查询asm磁盘删除前信息

2.4.2.删除asm磁盘组中的磁盘,data3磁盘恢复到未使用状态。

2.5.登录到root用户下进行清洗格式化


下边这篇是前几天内部部署19c集群环境,因归档日志爆满,后边采取扩容ASM磁盘组的操作流程。

记一次Oracle集群归档日志爆满之后如何处理(涉及ASM磁盘的增添。有坑必踩)_oracle归档日志满了如何处理-CSDN博客

一、手工创建ASM磁盘组

默认已经配置好udev磁盘环境,配置udev规则是为了主机同时能识别到同一块磁盘,且磁盘名相同,且硬盘不会因重启之后,信息发生更改,导致盘符错乱。

1.1.查看RAC集群状态

# su - grid$

crs_stat -t -v

1.2.查看ASM磁盘组和磁盘状态

$ sqlplus / as sysasmSQL>select group_number,name,state,type from v$asm_diskgroup;SQL>select group_number,name,path from v$asm_disk;

从查询结果可以看到,现有集群环境中已有三个ASM磁盘组(磁盘组编号分别是1,2,3),并且一个磁盘(/dev/asmdisk/data3)未被使用。

1.3.添加ASM磁盘组YULU

磁盘组冗余状态有三种( high/normal/external),我们测试环境只有一个磁盘,默认使用external模式。

SQL>create diskgroup yulu external redundancy disk '/dev/asmdisk/data3';

磁盘组创建成功后查询状态,已新增一个名称YULU的磁盘组并且处于mounted状态。名称是YULU的磁盘组只是在rac1主机上挂载,还需要将新建YULU磁盘组在rac2主机上挂载。

登录rac2主机:

# su - grid$ sqlplus / as sysasmSQL>select group_number,name,state,type from v$asm_diskgroup

集群主机rac2上挂载新建的磁盘组YULU,到此处RAC集群就可以正常使用新创建的ASM磁盘组了。

SQL>alter diskgroup yulu mount;

1.4.删除磁盘组

生产环境删除要谨慎、再谨慎。此处是为了后续磁盘组扩容实验,释放data3磁盘。

rac1主机上

SQL>drop diskgroup yulu including contents;

报个错误提示,说YULU的磁盘组在另一个ASM实例上挂载,我们登录rac2主机将YULU磁盘组dismount

SQL> alter diskgroup yulu dismount;

然后再rac1主机上再次执行drop命令即可删除yulu磁盘组

二、ASM磁盘组扩容和删除

2.1.查看ASM磁盘信息

SQL> select group_number,name,path from v$asm_disk;

SQL> select group_number,name,state,type from v$asm_diskgroup;

2.2.扩容磁盘组

将磁盘data3添加到data磁盘组中。需要注意的是添加的磁盘要大约或者等于原磁盘组单个磁盘的大小,建议是一样大小,并且这个更满足最佳实践。

SQL> alter diskgroup data add disk '/dev/asmdisk/data3';

注:可以使用参数rebalance加速,默认平衡rebalance是1,速度会慢一些,最大是11占用很多资源,0表示暂停。在 rebalance 的过程中需要占用部分 process 和磁盘 I/O ,对业务有轻微影响。如果磁盘比较大的情况下可以用下边命令进行添加磁盘。


SQL>alter diskgroup data add disk '/dev/asmdisk/data3' rebalance power 5;

2.3.查询rebalance状态

没有返回值说明rebalance结束!

SQL> select * from v$asm_operation;

扩容前:DATA磁盘组为20G

扩容后:DATA磁盘组增加到30G

2.4.删除磁盘组中的磁盘

2.4.1.查询asm磁盘删除前信息

SQL> select group_number,name,path from v$asm_disk;

2.4.2.删除asm磁盘组中的磁盘,data3磁盘恢复到未使用状态。

候选(CANDIDATE):表示磁盘可用,后续可以将其添加到对应的磁盘组中。通常我们刚添加的新存储卷,在被ASM初次识别时,就是该种状态

已配置(PROVISIONED):与候选磁盘相同,但该磁盘是使用ASMLib配置的(通常在Linux系统中)。依赖ASMLib 写入磁盘头部的元数据标签(如ORCL:DISK1)。这个标签直接写在磁盘上,和路径无关。

成员(MEMBER):表示磁盘已属于某个磁盘组。

先前(FORMER):表示磁盘以前属于某个磁盘组,但目前不属于任何磁盘组。我们现在即处于该种状态下。

SQL> alter diskgroup data drop disk 'DATA_0002' rebalance power5;

查询asm磁盘删除后信息,/dev/asmmdisk/data3的磁盘头状态应为FORMER

SQL>select group_number,name,header_status,path from v$asm_disk;

可以看到确实,如此,因为/dev/asmmdisk/data3之前属于DATA磁盘组,但目前不属于任何磁盘组。所有磁盘头的状态自然而然为:先前(FORMER)。

2.5.登录到root用户下进行清洗格式化

# dd if=/dev/zero of=/dev/asmdisk/data3 bs=1M count=1000

再次查询/dev/asmmdisk/data3的磁盘头信息,状态由FORMER变更为CANDIDATE(候选状态),/dev/asmmdisk/data3磁盘即恢复正常使用。

SQL> select group_number,name,header_status,path from v$asm_disk;

本次文章的主要来自:俞俞记事本,我对其进行修正补充,内容主要说明:针对在没有图形界面的情况下,如何对Oracle 11g的ASM磁盘组进行创建、扩容以及删除。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/13 22:11:42

Ninja is required to load C++ extensions

cl.exe添加到系统环境变量:Ninja is required to load C extensionsimport sysimport os # 强制设置 Ninja 路径 conda_env_path os.path.dirname(sys.executable) # 获取当前 conda 环境路径 ninja_dir os.path.join(conda_env_path, "Scripts")# 确…

作者头像 李华
网站建设 2026/8/13 22:08:17

昇腾Model Agent图文交互实战

昇腾 Model Agent 模型适配模拟微信聊天时,内部直接调用已保存图片的核心实现方案如下: 一、核心实现逻辑该功能的核心在于打通模型 Agent 与本地文件系统的交互,使模型在处理聊天消息时,能够读取并解析用户已保存的图片文件&…

作者头像 李华
网站建设 2026/8/13 22:07:57

氛围音乐如何提升开发者专注力:从Boards of Canada到自动化播放系统

最近在整理一些适合专注工作、学习时听的氛围音乐,发现很多开发者朋友在编码、写文档时都需要一些能帮助集中注意力的背景音。Boards of Canada 的《The Word Becomes Flesh》就是这样一首极具氛围感,能让人迅速沉浸到思考状态中的作品。它没有强烈的人声…

作者头像 李华
网站建设 2026/8/13 22:07:42

LLM训练与推理四大“杀手”:从突发崩溃到隐形衰退的终极生存指南

目录 问题排查方法论 训练发散问题 显存溢出问题 推理延迟问题 模型质量下降 排查工具与监控 实践建议与最佳实践 摘要 本文给出 LLM 训练与推理四类高频故障的量化判定与排查路径:loss 超过滚动基线 3 倍或梯度范数超过 10 判定训练发散,7B 模型训练固定显存开销约 1…

作者头像 李华
网站建设 2026/8/13 22:04:50

Shepherd框架:让AI智能体像开发者一样遵循Git工作流协作

上周,我花了整整一个下午,试图让一个AI智能体帮我完成一个看似简单的代码修改任务。我给了它需求、代码库权限,甚至写好了详细的步骤。结果呢?它确实生成了代码,但提交信息是“更新文件”,分支名是随机字符…

作者头像 李华