微信优化

weixinyouhua

asm配置详解是什么,asm配置方法有哪些,asm配置教程哪里找?

2026-09-11 13:05:21

ASM配置的核心不是装软件,而是提前把磁盘权限、udev规则和磁盘组规划做对;只要这三步不偷懒,数据库挂载ASM磁盘组就能一次通过。

生产环境asm配置步骤:从udev到磁盘组挂载

作为Oracle数据库的存储底座,ASM在Linux生产环境的落地,通常遵循一条固定路径:识别磁盘 → 绑定udev → 安装Grid → 创建磁盘组 → 设置参数,下面按真实操作顺序拆开。

磁盘和冗余规划

  • 数据盘、归档盘、OCR盘分开放,至少准备2块以上独立LUN。
  • 冗余级别按业务重要性选择:external省空间但不容错;normal允许坏1块盘;high允许坏2块盘。
  • AU保持默认1MB即可,多数OLTP和OLAP场景不用调。
  • 据Oracle官方文档,external冗余至少需要1块盘,normal至少2块,high至少3块。

udev持久化配置

生产环境最容易被忽略的就是udev,没有udev绑定,重启后磁盘名漂移,磁盘组直接裂开。

# 查看磁盘WWID
/usr/lib/udev/scsi_id -g -u -d /dev/sdb

/etc/udev/rules.d/99-oracle-asm.rules 中写入:

KERNEL=="sd", SUBSYSTEM=="block", ENV{ID_SERIAL}=="磁盘序列号", SYMLINK+="asmdisk_%k", OWNER="grid", GROUP="asmadmin", MODE="0660"

执行:

udevadm control --reload-rules
udevadm trigger

绑定完成后,用 ls -l /dev/asmdisk_ 确认设备名、属主和权限,很多现场事故都出在这一步,磁盘路径看起来正确,结果属主还是root。

Grid安装和ASM实例验证

Grid安装时选择“Configure Oracle ASM for standalone server”,不要选错成RAC,安装完成后,ASM实例会自动拉起,此时进入 sqlplus / as sysasm 能登录,说明ASM实例正常。

SQL> SELECT instance_name, status FROM v$instance;

看到 STARTEDMOUNTED

asm配置详解是什么,asm配置方法有哪些,asm配置教程哪里找?

都算正常初始状态。

asm配置磁盘组怎么做?手把手命令演示

很多新手卡在“磁盘组到底怎么建”这一步,其实asm配置磁盘组怎么做,核心只有两条命令:先用oracleasm标记磁盘,再用SQL创建磁盘组。

标记ASM磁盘

在Linux上,可以使用Oracle ASMLib简化管理,也可以直接用udev生成的设备路径,以ASMLib为例:

oracleasm createdisk DATA1 /dev/sdb1
oracleasm createdisk DATA2 /dev/sdc1
oracleasm listdisks

如果ASMLib不可用,直接写udev生成的稳定路径也行,/dev/disk/by-id/scsi-xxxx

创建并挂载磁盘组

进入ASM实例:

sqlplus / as sysasm
CREATE DISKGROUP DATA EXTERNAL REDUNDANCY
DISK 'ORCL:DATA1' NAME data1, 'ORCL:DATA2' NAME data2
ATTRIBUTE 'compatible.asm'='12.2';

如果不用ASMLib,直接写udev路径:

CREATE DISKGROUP DATA EXTERNAL REDUNDANCY
DISK '/dev/oracleasm/disks/DATA1' NAME data1;

创建后验证:

SELECT name, state, type, total_mb, free_mb FROM v$asm_diskgroup;

数据库实例参数要加上:

asm_diskgroups='DATA','FRA'

这样数据库启动时会自动挂载磁盘组,手动挂载命令:

ALTER DISKGROUP DATA MOUNT;

asm配置与裸设备对比哪个更适合高并发库

不少DBA在选型时会问:asm配置与裸设备对比哪个好?答案不绝对,裸设备性能直通,但管理成本高;ASM牺牲极小一部分性能,换来自动条带和在线扩盘能力。

asm配置详解是什么,asm配置方法有哪些,asm配置教程哪里找?

对比项 ASM 裸设备
条带化 自动按AU打散 手工规划
扩盘 在线添加磁盘自动重平衡 停机或手工迁移
多路径 配合udev和多路径软件即可 需要额外绑定
备份恢复 RMAN直接识别 需要手动指定路径
学习成本 中等 较低但运维重

行业共识认为,高并发OLTP库多数情况下优先选择ASM,因为在线扩盘和重平衡能力可以避免计划外停机,只有极少数对延迟极端敏感的场景,才会退回裸设备。

asm配置费用怎么算与北京机房asm配置服务差异

asm配置费用并不是一个固定数字,影响价格的主要有三个因素:实施范围、磁盘数量、是否包含后期调优。

影响费用的三个维度

  • 只建磁盘组:工作量小,价格低。
  • 包含udev绑定、多路径、备份策略:费用上升。
  • 包含ASM性能巡检和重平衡调优:费用继续增加。

业内专家指出,ASM配置的费用差异主要来自实施人员对多路径和udev的熟悉程度,而不是软件授权费用。

北京机房asm配置服务常见报价方式是按磁盘组数量或按项目打包,由于人工成本和机房进出场规则不同,北京本地服务往往会包含一次免费的上架配合或远程排查,具体费用需要根据机房位置(如亦庄、酒仙桥、中关村)和服务时段确认,通常夜间操作会比白天便宜,很多人搜索asm配置服务一般多少钱,其实先要明确是否需要现场实施,这会直接影响最终报价。

云上ASM配置成本

如果使用云数据库或云主机,ASM通常由云厂商封装,此时asm配置费用大多已经包含在数据库实例或存储产品中,用户主要支付的是额外磁盘容量和性能等级费用,不需要再单独购买ASM实施服务。

asm配置常见坑与排错路径

磁盘权限不足导致无法创建磁盘组

表现为:ORA-15031: disk specification '/dev/sdb1' matches no disks

排查:ls -l /dev/oracleasm/disks/

asm配置详解是什么,asm配置方法有哪些,asm配置教程哪里找?

,确认属主是grid:asmadmin,权限660。

udev规则重启后失效

多数情况下是因为规则文件没有匹配到稳定的磁盘序列号,而是用了 KERNEL=="sdb" 这种短名,生产环境必须绑定WWID或 /dev/disk/by-id/ 路径。

磁盘组无法挂载

如果数据库启动报 ORA-15077: could not locate ASM instance,先确认ASM实例是否启动,再检查 asm_diskgroups 参数是否写错。

重平衡速度慢

添加磁盘后,v$asm_operation 会显示重平衡进度,如果要加速,可以临时调高 asm_power_limit 到8或11,完成后再降回1。

Q&A:asm配置相关核心问题

asm配置磁盘组后如何把数据文件迁进去

在数据库实例中执行:

ALTER DATABASE MOVE DATAFILE '/old/path/system01.dbf' TO '+DATA';

或者使用RMAN:

BACKUP AS COPY DATABASE FORMAT '+DATA';

迁移完成后确认控制文件和在线日志路径,避免只迁数据文件导致启动失败。

asm配置和LVM对比哪个适合Oracle

LVM适合操作系统级灵活分区,但Oracle数据库对性能和多路径要求高,ASM的条带、镜像和重平衡能力更贴合Oracle实例,多数生产环境不会在数据库层再用LVM,而是直接透传裸盘给ASM。

asm配置完成后怎么确认磁盘组健康

执行 asmcmd lsdg 查看磁盘组状态,或查询 v$asm_diskgroupstate 字段,所有磁盘组应为 MOUNTED,每个磁盘状态应为 NORMAL,如果出现 DROPPINGOFFLINE,说明有磁盘故障或配置漂移。

把udev绑定好、权限压到grid用户、冗余级别提前定清楚,后面创建磁盘组和日常运维基本不会出大问题,这也正是ASM配置能长期占据数据库存储主流方案的原因。

相关文章

2024年,SaaS软件行业碰到获客难、增长慢等问题吗?

我们努力让每一次邂逅总能超越期待