(1)将所有節點的執行個體都關閉
[root@rac1 ~]# srvctl stop database -d oradb
[root@rac1 ~]# srvctl status database -d oradb
Instance oradb1 is not running on node rac1
Instance oradb2 is not running on node rac2
(2)将所有執行個體啟動到mount狀态
[root@rac1 ~]# srvctl start database -d oradb -o mount
(3)開啟歸檔需要設定兩個參數,一個是歸檔路徑log_archive_dest_1,另外一個是歸檔的格式log_archive_format,預設是%t_%s_%r.dbf,要設定為%t_%s_%r.arc
設定歸檔格式 需要重新開機資料庫生效
SQL> alter system set log_archive_format='%t_%s_%r.arc' scope=spfile; --這個參數不支援記憶體修改生效,要使用scope=spfile
System altered.
設定歸檔路徑 不需要重新開機生效
如果所有節點歸檔路徑在一個目錄下面使用
SQL> alter system set log_archive_dest_1='LOCATION=+ARCHIVE' scope=both sid=’*’;
這樣在配置檔案裡面是*. log_archive_dest_1=
如果每個節點都有自己的歸檔目錄使用
SQL> alter system set log_archive_dest_1='LOCATION=+ARCHIVE' scope=both sid=’oradb1’
SQL> alter system set log_archive_dest_1='LOCATION=+DATA' scope=both sid=’oradb2’
這樣在配置檔案裡面是oradb1. log_archive_dest_1= oradb2. log_archive_dest_1=
修改完可以檢視該參數
SQL> show parameter log_archive_dest_1;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string LOCATION=+ARCHIVE
在RAC環境下,歸檔路徑的選擇是值得斟酌的,如果使用共享的歸檔目錄作為歸檔路徑,則可以減少備份時的複雜性。如果使用獨立的目錄,則備份時需要進行特殊處理。
(4)因為log_archive_format需要重新開機才能生效是以需要重新開機
[root@rac1 ~]# srvctl stop database -d oradb
[root@rac1 ~]# srvctl start database -d oradb -o mount --所有執行個體啟動到mount狀态
(5)開啟歸檔模式,開啟歸檔的指令在任一節點執行都可以
SQL> alter database archivelog;
Database altered.
SQL> archive log list; --在其餘節點檢視一下
Database log mode Archive Mode
Automatic archival Enabled
Archive destination +ARCHIVE
Oldest online log sequence 38
Next log sequence to archive 40
Current log sequence 40
SQL> show parameter log_archive_format;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_format string %t_%s_%r.arc
歸檔已經開啟,歸檔路徑和格式已經設定好了,最後别忘記将執行個體啟動到open狀态。
SQL> alter system switch logfile; --節點1上切換日志,産生歸檔
System altered.
SQL> select NAME,THREAD# from v$archived_log; --可以看到修改的log_archive_format格式并不生效,asm采用自己的命名規則
NAME THREAD#
-------------------------------------------------------------------------------- ------------------------
+ARCHIVE/oradb/archivelog/2020_03_03/thread_1_seq_40.270.1034098609 1
最後說一下,歸檔路徑如果沒有設定,預設和db_recovery_file_dest有關,需要設定db_recovery_file_dest_size參數的大小,建議不要設定這個值,假如設定10G,如果歸檔達到這個值就滿了,産生不了歸檔,還是使用log_archive_dest_1來設定歸檔路徑,這樣歸檔最大值就是磁盤組容量最大值
SQL> show parameter db_r;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------