RAC开启数据库归档: 首先要确定归档存放的路径: 1.切换至grid用户下使用asmcmd命令查看要把归档存放到那个路径下 在节点1上执行上执行 [root@yang1 ~]# su - grid [grid@yang1 ~]$ sqlplus / as sysasm SQL> select name from v$asm_diskgroup; NAME ------------------------------ DATA OCR FRA SQL> alter system set log_archive_dest_1='LOCATION=+RECOC1/yang/archivelog' scope=spfile sid='yang1'; Diskgroup altered. SQL> alter system set log_archive_dest_1='LOCATION= +RECOC1/yang/archivelog ' scope=spfile sid=' yang 2'; Diskgroup altered. 2. 使用shutdown immediate命令关闭节点的两个实例 节点yang1上执行 SQL> shutdown immediate 节点 yang 2上执行 SQL> shutdown immediate 3.开启归档模式 在yang1上执行 SQL> startup mount SQL>alter database archivelog Database altered. SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination +RECOC1/yang/archivelog Oldest online log sequence 48 Next log sequence to archive 50 Current log sequence 50 在节点一上修改成功。 节点yang2上执行执行
SQL> startup mount SQL>alter database archivelog Database altered. SQL> archive log list Database log mode No Archive Mode Automatic archival Disabled Archive destination +RECOC1/yang/archivelog Oldest online log sequence 53 Current log sequence 55 4.打开数据库 节点yang1,yang2上分别执行 SQL> alter database open 5.验证归档文件成功生成在目标位置 节点yang1上执行 SQL> alter system switch logfile; System altered. [oracle@yang1 ~]$ su - grid [grid@yang1 ~]$ asmcmd ASMCMD> cd yang/archivelog/2018_11_29 ASMCMD> pwd +RECOC1/RISKDB/archivelog/2018_11_29 ASMCMD> ls thread_1_seq_55.41248.993493281 thread_1_seq_56.41243.993493295 thread_2_seq_49.41922.993492943 thread_2_seq_50.40857.993493383 thread_2_seq_51.41798.993493589 可以使用同样的方法验证节点是否成功。
按照此方法在节点yang2上执行alter system switch logfile并且多切换几次确定每次切换都有相对应的归档日志生成.
说明一点关于归档的路径问题:
如果在grid用户下没有设置归档的路径
oracle用户会把归档放在db_recovery_file_dest 会使用db_recovery_file_dest_size ,如果归档db_recovery_file_dest_size的大小满了,数据库会hang住。
db_recovery_file_dest string +RECOC1 db_recovery_file_dest_size big integer 5000000M
