归档目录必须提前创建且权限正确,oracle不会自动创建log_archive_dest_n指向的路径;路径不存在或权限错误时,alter system set语句可成功但日志切换将失败,报ora-16038或ora-19809错误。

归档目录必须提前创建且权限正确
Oracle 不会自动创建 log_archive_dest_n 指向的路径,路径不存在或权限不对时,alter system set log_archive_dest_1=... 语句能执行成功,但后续日志切换会失败,报错 ORA-16038: log 2 sequence# 123 cannot be archived 或 ORA-19809: limit exceeded for recovery files(如果用的是 FRA)。
- 必须用
oracle用户(或同组)在操作系统层面mkdir -p /path/to/arch -
chown oracle:oinstall /path/to/arch,chmod 750 /path/to/arch是最低安全要求 - RAC 环境下,每个节点的归档路径需独立(如
/nfs/arch/testrac1_arch和/nfs/arch/testrac2_arch),不能共用同一子目录 - 若挂载 NFS,确认客户端已启用
noac或hard,intr选项,避免因网络抖动导致归档卡住
log_archive_dest_1 和 log_archive_dest_2 的用途别混淆
log_archive_dest_1 是本地归档目标,log_archive_dest_2 及以上通常用于远程传输(比如 Data Guard)。设错会导致主库无法归档或备库收不到日志。
-
log_archive_dest_1必须带location=,且值不能是USE_DB_RECOVERY_FILE_DEST(除非你真想用 FRA,但 FRA 不适合 RAC 共享归档场景) -
log_archive_dest_2必须带service=xxx,指向tnsnames.ora中定义的远端 TNS 别名,且该别名要配置(UR=A)(UR=A表示允许连接到非 OPEN 状态的实例,备库启动到 MOUNT 时需要) - 所有
log_archive_dest_n都应加上valid_for=(online_logfiles,primary_role)(主库)或(standby_logfiles,standby_role)(备库),否则角色切换后可能失效 - 避免同时设置
log_archive_dest(旧式单参数)和log_archive_dest_n,后者优先级高,前者会被忽略但容易引发配置混乱
修改归档路径必须重启数据库?不,但有前提
直接用 alter system set log_archive_dest_1='...' scope=both; 修改路径,无需重启数据库——前提是数据库已处于 ARCHIVELOG 模式且当前未发生归档阻塞。
- 改完立即生效,但新路径下第一个归档文件会在下一次日志切换时生成
- 如果原路径磁盘已满或不可写,先清理或修复,否则即使改了路径,LGWR 仍会卡在旧路径的归档等待上
- RAC 环境下,在一个节点执行即可,但必须确保所有节点都能访问新路径(如 NFS 挂载一致、权限一致)
- 执行后立刻验证:
archive log list显示新路径;手动触发一次日志切换:alter system switch logfile;;再查select name from v$archived_log where first_time > sysdate-1/24;确认新路径下有文件生成
使用 NFS 作归档目录时最常踩的三个坑
NFS 看似简单,但在 Oracle 归档场景下容错性极低,出问题往往表现为归档停滞、日志切换超时、甚至实例 hang 住。
-
mount命令漏加hard,intr,noac:默认 soft mount 在网络中断时会无限重试,LGWR 被阻塞,整个数据库无响应 - NFS 服务端没开
async模式(或客户端没配async):每次归档都要等 NFS 服务端落盘确认,I/O 延迟陡增,尤其在高并发事务下极易超时 - 两个 RAC 节点挂载同一 NFS 目录但用了不同挂载选项(比如一个用了
rw,suid,soft,另一个是rw,suid,hard):Oracle 内部一致性校验失败,crsctl check cluster可能报异常,归档行为不可预测
真正稳定的 NFS 归档,不是“能挂上就行”,而是每个挂载点都经过 dd if=/dev/zero of=/nfs/test bs=8k count=1000 oflag=sync 测试写入延迟与可靠性。这点容易被跳过,但恰恰是生产环境出事最多的环节。











