acfs在oracle 19c rac中非开箱即用,需手动加载oracleacfs/oracleadvm/oracleoks模块、创建external冗余磁盘组及advm卷、mkfs格式化、acfsutil registry注册挂载,仅限存放ogg、配置文件、日志等非核心文件,严禁用于数据文件、控制文件、ocr或gi二进制。

ACFS 在 Oracle 19c RAC 中不是开箱即用的共享文件系统,必须手动确认模块加载、创建 ASM 卷、格式化挂载,且仅适用于非数据库核心文件(如 OGG、脚本、配置、日志)。直接用于数据文件或控制文件会报错甚至导致集群异常。
检查 ACFS 内核模块是否就绪
acfsload 启动失败或 lsmod | grep oracleacfs 无输出,是后续所有操作卡住的根源。RAC 所有节点都得单独执行,不能只在单节点操作。
- 运行
lsmod | grep -i oracle,确认输出含oracleacfs、oracleadvm、oracleoks三者 - 若缺失,执行
/u01/app/19.3.0/grid/bin/acfsload start(路径需按实际 GI HOME 调整) - 错误
ACFS-9201: Not Supported表示 OS 不兼容(如 CentOS 6、Oracle Linux 7.6 以下内核),此时别硬试,换 NFS 或升级系统 - 模块加载成功后,
/dev/asm/下应能看见卷设备(如/dev/asm/ogg_vol1-488),否则volcreate会提示 “no such device”
用 ASMCMD 创建 ADVM 卷并格式化 ACFS
volcreate 必须指定磁盘组名、卷名和大小,且该磁盘组必须是外部冗余(external redundancy),普通 normal/redundancy 磁盘组不支持 ADVM。
- 先建专用磁盘组(推荐独立于 DATA/FRA):
CREATE DISKGROUP OGG EXTERNAL REDUNDANCY DISK '/dev/mapper/ASM08', '/dev/mapper/ASM09'; - 创建卷:
volcreate -G OGG -s 100G ogg_vol1 - 格式化:
mkfs -t acfs /dev/asm/ogg_vol1-488 - 创建挂载点并设权限:
mkdir -p /u01/app/ogg; chown oracle:oinstall /u01/app/ogg; chmod 755 /u01/app/ogg - 注意:
volinfo -G OGG ogg_vol1输出中的Volume Device字段才是真实设备路径,别手写拼接
挂载 ACFS 并确保集群级持久化
mount -t acfs 是临时挂载,节点重启即失效;RAC 环境必须用 acfsutil registry 注册,否则 CRS 不识别、无法自动拉起。
- 手动挂载验证:
mount -t acfs /dev/asm/ogg_vol1-488 /u01/app/ogg - 注册进集群资源:
acfsutil registry -a /dev/asm/ogg_vol1-488 /u01/app/ogg - 验证注册状态:
acfsutil registry应显示mounted和registry两列均为YES - 若挂载后 df -h 看不到,大概率是没执行
acfsutil registry,或者 CRS 服务未全启(检查crsctl check crs)
ACFS 使用边界:哪些能放,哪些绝对不能碰
官方明确限制哪些文件类型允许存于ACFS,越界操作不会立刻报错,但会在备份、恢复、升级或 CRS 重平衡时引发不可预知故障。
- ✅ 允许存放:
- OGG 安装目录(
/u01/app/ogg)、参数文件、trail 文件(需注意权限和归档策略) -
tnsnames.ora、listener.ora、sqlnet.ora - 告警日志(
alert_<em>.log</em>)、trace 文件(.trc)、闪回日志(flashback目录)
- OGG 安装目录(
- ❌ 严禁存放:
- 数据文件(
*.dbf)、控制文件(control01.ctl)、联机重做日志(redo01.log) - Grid Infrastructure 二进制(
$ORACLE_HOME、$GRID_HOME) - OCR 和 Voting Disk(即使你强行放进去,
ocrconfig -showbackup也会跳过)
- 数据文件(
ACFS 的“动态扩展”和“跨节点可见”很诱人,但真正踩坑的点往往不在创建过程,而在挂载后忘了注册、或把不该放的文件扔进去——尤其当 DBA 同时管理 RAC 和 OGG 时,容易下意识把 OGG trail 目录当成普通 NFS 来用,结果某次 CRS 补丁后发现挂载丢失,OGG 报 OGG-01153。务必在首次挂载后,用 acfsutil info -h /u01/app/ogg 确认状态为 mounted and registered。











