Oracle RAC归档路径必须统一指向ASM或集群文件系统(如OCFS2、NFSv4),禁止使用本地路径或裸设备;否则各节点归档隔离,导致RMAN备份遗漏、恢复报ORA-00329/ORA-00310,或ARCH进程报ORA-16014、ORA-00257。

归档日志路径必须用 ASM 或集群文件系统(如 OCFS2、NFSv4)
Oracle RAC 要求所有节点写入同一份归档日志,否则 ARCH 进程会因路径不可见或权限冲突报错,典型错误是 ORA-16014: log 2 sequence# 123 not archived, no available destinations。裸设备、本地文件系统(如 /u01/arch)绝对不可行——每个节点看到的是自己本地路径,归档会“各写各的”,导致备库拉不到完整日志流。
实操建议:
- 首选 ASM:配置
LOG_ARCHIVE_DEST_1='LOCATION=+FRA' VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=racdb',确保所有实例指向同一 ASM 磁盘组(如+FRA) - 若用文件系统,必须是集群感知型:OCFS2(需正确挂载且
o2cb服务运行)、或 NFSv4(启用noac和hard,intr选项,服务端 export 必须含fsid=0) - 避免使用 NFSv3:无锁机制,
ARCH进程并发写可能损坏归档头或产生重复序号
LOG_ARCHIVE_DEST_n 的 VALID_FOR 和 DB_UNIQUE_NAME 必须全局一致
RAC 多实例共用一套归档目标,但每个实例的 DB_UNIQUE_NAME 默认和 DB_NAME 相同(如 racdb),若未显式统一,DG 场景下容易触发 ORA-16191: Primary log shipping client not logged on to standby 类连接失败。
关键点:
- 所有节点的
LOG_ARCHIVE_DEST_1中DB_UNIQUE_NAME必须设为同一个值(如racdb),不能用默认或实例名(racdb1/racdb2) -
VALID_FOR=(ALL_LOGFILES,ALL_ROLES)是安全起点;若启用了 Data Guard,主库侧建议用(ONLINE_LOGFILES,PRIMARY_ROLE)避免误归档 standby redo - 禁用
LOG_ARCHIVE_DEST_STATE_n=DEFER—— RAC 下某节点临时 defer 会导致其他节点归档阻塞
RMAN 自动备份归档日志必须指定 PLUS ARCHIVELOG 并排除已删除归档
RMAN 备份时若只跑 BACKUP DATABASE,不会自动包含归档日志,导致恢复链断裂。而盲目加 DELETE INPUT 又可能在备份未完成前就删掉归档,引发 ORA-19588(已删除归档被引用)。
可靠做法:
- 备份命令必须含
BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT,RMAN 会先归档当前日志,再备份全部归档,最后安全删除 - 若用脚本调度,务必检查
V$ARCHIVED_LOG.DELETED = 'NO'再执行删除逻辑,避免依赖ARCHIVE_LAG_TARGET或定时DELETE ARCHIVELOG - 在 RAC 中,
DELETE INPUT由发起备份的节点执行,但归档物理位置是共享的,所以只要路径配置正确,删除动作天然生效于所有节点
归档目标空间不足时,ARCH 进程卡住而非静默失败
ASM 磁盘组满或 NFS 存储不可写时,ARCH 进程不会报错退出,而是持续重试并阻塞日志切换,最终导致 ORA-00257: archiver error. Connect internal only, until freed,整个数据库 hang 住。
预防措施:
- 监控
V$RECOVERY_FILE_DEST(ASM)或挂载点使用率(NFS/OCFS2),阈值建议设为 85%,而非等告警 - 设置
LOG_ARCHIVE_MIN_SUCCEED_DEST=1(默认值),但不要提高——RAC 下多路径归档不解决空间问题,反而掩盖真实瓶颈 - 定期清理策略要区分“已备份”和“未备份”:用
RMAN> DELETE ARCHIVELOG UNTIL TIME 'SYSDATE-2'比DELETE OBSOLETE更可控,后者依赖保留策略且可能误删
最易被忽略的一点:归档路径是否可写,不能只在单节点测试 touch,必须用 su - oracle -c "sqlplus / as sysdba 在每个节点分别触发归档,并立刻查 <code>V$ARCHIVED_LOG 是否有新记录且 DEST_ID 对应正确目标。


















