Oracle RAC开启和关闭日志归档Log Archive
一、开启日志归档模式
# srvctl stop database -d <DB_NAME>
# srvctl start instance -d <DB_NAME> -i <INSTANCE_NAME> -o mount
# 停止 RAC 数据库的所有实例:
[oracle@ora19crac1:/home/oracle]$srvctl stop database -d orcl
# 启动第一个实例到 MOUNT 模式
[oracle@ora19crac1:/home/oracle]$srvctl start instance -d orcl -i orcl1 -o mount
# 创建备份目录,两个节点执行
[oracle@ora19crac1:/home/oracle]$mkdir -p /u01/app/oracle/arch
[oracle@ora19crac1:/home/oracle]$sqlplus / as sysdba
#启用日志归档模式
#在挂载模式下执行以下命令:
SQL> ALTER DATABASE ARCHIVELOG;
#设置归档路径
#在所有实例中设置统一的归档路径:
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/arch' SCOPE=BOTH;
# 打开数据库:
SQL> ALTER DATABASE OPEN;
SQL> exit;
# 使用 srvctl 启动所有实例:
[oracle@ora19crac1:/home/oracle]$srvctl start database -d <DB_NAME>
# 验证归档模式
# 检查日志模式,结果应为 ARCHIVELOG。
SQL> SELECT LOG_MODE FROM V$DATABASE;
# 强制切换日志文件,验证归档是否正常:
# ALTER SYSTEM SWITCH LOGFILE;
# 检查归档日志文件
ls -l /u01/app/oracle/arch
二、关闭日志归档模式
#1. 将数据库切换到挂载模式
#与开启归档模式类似,停止所有节点后启动到挂载模式:
#srvctl stop database -d <DB_NAME>
#srvctl start instance -d <DB_NAME> -i <INSTANCE_NAME> -o mount
[oracle@ora19crac1:/home/oracle]$ORACLE_SID=orcl1
[oracle@ora19crac1:/home/oracle]$srvctl stop database -d orcl
[oracle@ora19crac1:/home/oracle]$srvctl start instance -d orcl -i orcl1 -o mount
[oracle@ora19crac1:/home/oracle]$sqlplus / as sysdba
SQL> SELECT LOG_MODE,name FROM V$DATABASE;
LOG_MODE NAME
------------ ---------
ARCHIVELOG ORCL
# 2.关闭归档模式,在挂载模式下执行:
SQL> ALTER DATABASE NOARCHIVELOG;
Database altered.
# MOUNTED,表示数据库未完全启动,需要打开数据库
SQL> select status from v$instance;
STATUS
------------
MOUNTED
# 打开数据库
SQL> alter database open;
Database altered.
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /u01/app/oracle/arch
Oldest online log sequence 630
Current log sequence 631
SQL> exit
# 3. 启动所有实例
# srvctl start database -d <DB_NAME>
# srvctl start instance -d orcl -i orcl2
[oracle@ora19crac1:/home/oracle]$srvctl start database -d orcl
[oracle@ora19crac1:/home/oracle]$sqlplus / as sysdba
# 4. 验证模式是否关闭
SQL> SELECT LOG_MODE FROM V$DATABASE;
LOG_MODE
------------
NOARCHIVELOG
注意事项
1. 备份:在切换归档模式之前,请确保数据库已完全备份。
2. 性能影响:开启归档模式可能会对性能产生影响,特别是在高负载环境下。
3. RAC 特性:RAC 中归档日志的管理需考虑集群的所有实例,确保归档路径对所有实例都可用。