[oracle]log_archive_dest_n與DB_RECOVERY_FILE_DEST

zad800發表於2010-09-01

DB_RECOVERY_FILE_DEST引數是預設的flash recovery area的路徑,裡面存放有歸檔日誌、閃回日誌以及rman的備份檔案等檔案。

LOG_ARCHIVE_DEST_n引數是存放歸檔日誌的路徑,n表示1~10的一個整數,由於歸檔日誌在recovery的時候擔當了重要的角色,所以我們可以設定多個歸檔目錄(最多可以設定10個)。這種情況下,聯機日誌在歸檔時,會在不同的目錄下都會生成有一個相同的歸檔檔案,通過冗餘的來保證歸檔日誌的安全。

系統預設的情況是以DB_RECOVERY_FILE_DEST定義的目錄來存放歸檔日誌。但是,課上演示的時候,老師已經設定了log_archive_dest_1log_archive_dest_2log_archive_dest_3,三個引數。我現在將這三個引數修改回去,讓系統使用預設的DB_RECOVERY_FILE_DEST目錄來存放歸檔日誌。

經過下面的操作,發現提示找不到歸檔的目錄。

SQL> alter system set log_archive_dest_1='';

SQL> alter system set log_archive_dest_2='';

SQL> alter system set log_archive_dest_3='';

 

SQL> alter system archive log current;

alter system archive log current

*

ERROR at line 1:

ORA-16014: log 2 sequence# 50 not archived, no available destinations

ORA-00312: online log 2 thread 1: '/opt/ora10g/oradata/orcl/redo02.log'

 

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            ?/dbs/arch

Oldest online log sequence     49

Next log sequence to archive   50

Current log sequence           51

 

解決辦法,我們暫時先指定一個目錄來存放歸檔日誌。然後再修改三個log_archive_dest_n的系統引數時,指定好scopespfile,重啟例項即可。

SQL> alter system set log_archive_dest_1='location=/logs/log_1';

SQL> alter system archive log current;

System altered.

 

SQL> alter system set log_archive_dest_1='' scope=spfile;

SQL> alter system set log_archive_dest_2='' scope=spfile;

SQL> alter system set log_archive_dest_3='' scope=spfile;

 

SQL> startup force

ORACLE instance started.

 

Total System Global Area  285212672 bytes

Fixed Size                  1218992 bytes

Variable Size             104859216 bytes

Database Buffers          176160768 bytes

Redo Buffers                2973696 bytes

Database mounted.

Database opened.

        

檢視一下現在使用的歸檔的目錄,已經成功改回為了DB_RECOVERY_FILE_DEST

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     51

Next log sequence to archive   53

Current log sequence           53

         最後再檢視一下log_archive_dest_n引數,這些引數都沒有被設定了,均為空:

SQL> show parameter log_archive_dest

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest                     string

log_archive_dest_1                   string

log_archive_dest_10                  string

log_archive_dest_2                   string

log_archive_dest_3                   string

log_archive_dest_4                   string

log_archive_dest_5                   string

log_archive_dest_6                   string

log_archive_dest_7                   string

log_archive_dest_8                   string

log_archive_dest_9                   string

 

小結:log_archive_dest_nDB_RECOVERY_FILE_DEST引數都可以用來存放歸檔日誌,但二者的關係是:不設定log_archive_dest_n時,使用DB_RECOVERY_FILE_DEST來存檔案;當設定了log_archive_dest_n時,則使用log_archive_dest_n來存放歸檔日誌。

 

下面我們,再對log_archive_dest_n進行設定,讓DB_RECOVERY_FILE_DEST“失效”。

SQL>alter system set log_archive_dest_1='location=/logs/log_1' scope=spfile;

SQL>alter system set log_archive_dest_2='location=/logs/log_2' scope=spfile;

SQL>alter system set log_archive_dest_3='location=/logs/log_3' scope=spfile;

 

SQL> startup force

ORACLE instance started.

 

Total System Global Area 285212672 bytes

Fixed Size                  1218992 bytes

Variable Size             109053520 bytes

Database Buffers          171966464 bytes

Redo Buffers                2973696 bytes

Database mounted.

Database opened.

我們進行下手動歸檔

SQL> alter system archive log current;

 

檢視下系統時間,發現三個目錄下,都已經有了最新的歸檔日誌:

[root@localhost logs]$ date

Wed Sep  1 10:48:39 CST 2010

[root@localhost logs]# ll -t log_1

-rw-r----- 1 oracle oinstall   280576 Sep  1 10:48 1_54_723037014.dbf

[root@localhost logs]# ll -t log_2

-rw-r----- 1 oracle oinstall   280576 Sep  1 10:48 1_54_723037014.dbf

[root@localhost logs]# ll -t log_3

-rw-r----- 1 oracle oinstall   280576 Sep  1 10:48 1_54_723037014.dbf

 

         DB_RECOVERY_FILE_DEST目錄下,已經不再會存放新的歸檔日誌了:

[oracle@localhost archivelog]$ ll 2010_09_01/

-rw-r----- 1 oracle oinstall 20992 Sep  1 10:07 o1_mf_1_52_67vfc7q5_.arc

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14600958/viewspace-672300/,如需轉載,請註明出處,否則將追究法律責任。

相關文章