Oracle ASM 要求磁碟裝置名稱穩定不變。RHEL 6 透過 udev 規則將 /dev/emcpower* 裝置映射為固定名稱 /dev/asmdisks/asm*,並設定擁有者/群組/權限,確保 ASM 識別穩定。本文記錄完整配置流程。
/dev/emcpower*1(EMC PowerPath)。srvctl stop database -d
srvctl stop asm -n
# 或 sqlplus / as sysasm → shutdown immediate
# 原參數:asm_diskstring = '/dev/emcpower*1'
# 新參數:
alter system set asm_diskstring='/dev/asmdisks/asm*' scope=spfile sid='*';
/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/emcpowera1
# 360000970000295900314533030344131
/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/emcpowerb1
# 360000970000295900314533030344130
# ... 逐一取得所有 ASM 磁碟 WWID
vi /etc/udev/rules.d/99-oracle-asm.rules
# 每個磁碟一行,格式:
KERNEL=="emcpower*1", SUBSYSTEM=="block", \
PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", \
RESULT=="360000970000295900314533030344131", \
NAME+="asmdisks/asmarch0000", ACTION=="add|change", \
OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="emcpower*1", SUBSYSTEM=="block", \
PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", \
RESULT=="360000970000295900314533030344130", \
NAME+="asmdisks/asmarch0001", ACTION=="add|change", \
OWNER="grid", GROUP="asmadmin", MODE="0660"
# ... 依此類推所有磁碟
start_udev
# 或 udevadm control --reload-rules && udevadm trigger
ls -l /dev/asmdisks/
# asmarch0000 asmarch0001 asmdata0000 ... 權限 grid:asmadmin 0660


srvctl start asm -n
srvctl start database -d
# ASM alert log 確認磁碟發現正常
RESULT 必須與 scsi_id 輸出完全一致(區分大小寫)。NAME 使用相對路徑 asmdisks/asm...,實際建立於 /dev/asmdisks/。OWNER/GROUP/MODE 確保 ASM 進程(grid 用戶)可讀寫。Linux 升級 MySQL 後報錯 conflicts with file 解決方案:移除舊 libs 衝突包
IIS 無法載入 ASP 應用程式「未註冊的類別」錯誤修復:重新註冊 ASP 相關 DLL
Linux SSH 連線自動斷開問題解決:ClientAliveInterval、ServerAliveInterval、TCPKeepAlive 三層保活機制完整配置
Linux mkdir 提示「Read-only file system」三階段排查:掛載權限、檔案系統錯誤、硬體故障
Ubuntu 系統安裝 NVIDIA Quadro 顯卡驅動:從開源驅動切換到專有驅動的實戰記錄
CentOS 系統配置 Yum 源完整教程(以 163/網易源為例)