在Oracle RAC集群环境中,归档日志的存储位置调整是日常运维中经常遇到的操作,无论是将归档迁移到快速恢复区FRA,还是调整到自定义的文件路径,都需要按照规范的步骤操作,避免影响集群的正常归档功能。

操作前的准备工作
在修改归档位置之前,需要先完成以下准备项,避免操作过程中出现权限或路径不存在的问题:
- 确认所有RAC节点的数据库实例都处于正常运行状态,可以通过
srvctl status database -d 数据库名命令查看实例状态。 - 如果是调整到自定义路径,需要在所有RAC节点上创建对应的目录,并且赋予Oracle用户对该目录的读写权限,例如自定义路径为/u01/arch_log,需要在每个节点执行
mkdir -p /u01/arch_log; chown -R oracle:oinstall /u01/arch_log; chmod -R 755 /u01/arch_log。 - 如果是使用FRA作为归档位置,需要确认FRA的路径和大小配置合理,可以通过
show parameter db_recovery_file_dest查看FRA的相关参数。
修改归档位置到FRA的操作步骤
将归档位置修改为FRA是Oracle推荐的做法,操作相对简单,具体步骤如下:
1. 调整归档参数
在任意一个RAC节点的数据库实例中,使用sys用户登录SQL*Plus,执行以下命令修改归档位置参数:
-- 查看当前归档位置 show parameter log_archive_dest; -- 设置归档位置为FRA,scope=both表示同时修改内存和spfile alter system set log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST' scope=both sid='*'; -- 如果需要同时保留其他归档位置,可以添加多个log_archive_dest参数,例如同时归档到FRA和自定义路径 -- alter system set log_archive_dest_2='LOCATION=/u01/arch_log' scope=both sid='*';
2. 切换归档日志验证
修改参数后,需要手动切换一次归档日志,确认归档能够正常写入FRA:
-- 切换归档日志 alter system switch logfile; -- 查看最新的归档日志信息,确认归档路径是否为FRA select name, dest_id, first_time from v$archived_log order by first_time desc fetch first 5 rows only;
修改归档位置到自定义路径的操作步骤
如果需要将归档位置调整到非FRA的自定义路径,操作步骤如下:
1. 配置自定义归档路径参数
同样在SQL*Plus中执行参数修改命令,指定自定义路径:
-- 设置归档位置为自定义路径,sid='*'表示对所有RAC实例生效 alter system set log_archive_dest_1='LOCATION=/u01/arch_log' scope=both sid='*'; -- 如果需要禁用其他归档目标,可以将对应的log_archive_dest参数设置为空 -- alter system set log_archive_dest_2='' scope=both sid='*';
2. 验证归档写入情况
切换归档后,除了查询数据库视图,还可以直接到自定义路径下查看是否生成了归档文件:
-- 在RAC节点上执行,查看自定义路径下的归档文件 ls -l /u01/arch_log
注意事项
- 修改归档参数时使用
sid='*'可以保证所有RAC实例的参数都同步修改,避免单个节点参数不一致导致问题。 - 如果数据库处于非归档模式,需要先开启归档模式才能修改归档位置,开启归档需要先关闭所有实例,以mount状态启动单个实例执行
alter database archivelog,再启动其他实例。 - 如果同时配置了多个归档目标,需要确保
log_archive_dest_state_1、log_archive_dest_state_2等参数的值为ENABLE,否则对应的归档目标不会生效。 - 修改完成后建议观察一段时间,确认归档日志能够正常生成,没有出现归档失败的错误,错误日志可以在
alert.log中查看。
参数说明表
以下是修改归档位置过程中涉及的核心参数说明:
| 参数名 | 作用说明 |
|---|---|
| log_archive_dest_n | 指定第n个归档目标的位置,LOCATION表示本地文件系统路径,USE_DB_RECOVERY_FILE_DEST表示使用FRA作为路径 |
| log_archive_dest_state_n | 控制第n个归档目标是否启用,取值为ENABLE或DEFER,DEFER表示暂时禁用该归档目标 |
| db_recovery_file_dest | FRA的路径参数,修改归档到FRA时需要依赖该参数的配置 |
Oracle_RAC归档管理归档位置修改FRA修改时间:2026-06-07 00:06:29