oracle rac 归档开启
1、查看数据库是否开启归档
SQL> archive log list;

2、创建共享目录
[grid@node1 ~]$ export ORACLE_SID=+ASM1
[grid@node1 ~]$ asmcmd
ASMCMD> ls
DATADG/
GRIDDG/
ASMCMD> cd DATADG/
ASMCMD> ls
TEST/
ASMCMD> mkdir arch
ASMCMD> ls
TEST/
arch/
ASMCMD> cd arch
ASMCMD> pwd
+DATADG/arch
ASMCMD> exit
共享目录存放归档,在这里因为没有其他共享存储,所以只能放在dg中

3、将rac设置成单实例模式
SQL> show parameter cluster_database
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cluster_database boolean TRUE
cluster_database_instances integer 2
在各个节点上都要执行以下命令
SQL> alter system set cluster_database=false scope=spfile sid='*';
System altered.

4、分别关闭各个节点实例
shutdown immediate <---------node1
shutdown immediate <---------node2

5、将其中一个节点启动到mount状态,开启归档,设置归档路径,格式,并打开数据库还原rac模式
SQL> startup mount
SQL> show parameter cluster_database 查看之前设置是否生效
SQL> alter database archivelog; 开启归档
SQL> alter system set log_archive_format='test_%t_%s_%r.log' scope=spfile; 设置归档格式
SQL> alter system set log_archive_start=true scope=spfile;
SQL> alter system set log_archive_dest_1='location=+DATADG/arch' scope=spfile;
SQL> alter database open;
SQL> alter system set cluster_database=true scope=spfile sid='*';
SQL> shutdown immediate;
归档格式说明:
%t 重做线程号
%s 日志序列号
%r resetlogs的id号

6、打开所有节点数据库
[oracle@node1 ~]$ srvctl start database -d test
使用集群服务打开所有节点数据库

7、查看数据库归档参数设置是否生效
SQL> archive log list;

8、切换归档,查看归档是否正常工作
alter system switch logfile;或者
alter system archive log current;
