Oracle10g歸檔引數研究

csbwolf10發表於2010-02-24

本文討論涉及的引數有:

 

log_archive_dest

log_archive_dest_n

log_archive_start

db_recovery_file_dest  

 

 

Oracle版本:

 

SQL> select * from v$version;

 

BANNER

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

Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Prod

PL/SQL Release 10.2.0.2.0 - Production

IXDBA.NET社群論壇

CORE    10.2.0.2.0      Production

TNS for Solaris: Version 10.2.0.2.0 - Production

NLSRTL Version 10.2.0.2.0 – Production

 

Oracle10g的企業版

 

SQL> show parameter spfile

 

NAME   TYPE                   VALUE

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

spfile  string     /export/home/oracledb/oracle/p roduct/10.2.0/dbs/spfileorcl.ora

 

使用的是spfile引數。

                                                      

SQL> alter system set log_archive_dest_1='location=/export/home/arch';

System altered.

 

SQL> alter system set log_archive_dest_1=''; #置為空的時候, 沒有location字樣.

System altered.

 

SQL> alter system set log_archive_dest='/export/home/arch';

alter system set log_archive_dest='/export/home/arch'

*

ERROR at line 1:

ORA-02097: parameter cannot be modified because specified value is invalid ORA-16018: cannot use LOG_ARCHIVE_DEST with LOG_ARCHIVE_DEST_n orDB_RECOVERY_FILE_DEST

 

報錯,報錯資訊是LOG_ARCHIVE_DEST LOG_ARCHIVE_DEST_n不能同時使用,但是,現在log_archive_dest_N已經為空了,為何還不能使用log_archive_dest呢,檢查如下設定:

 

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

 

NAME                                 TYPE                   VALUE

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

log_archive_dest_state_1             string                 enable

log_archive_dest_state_10            string                 enable

log_archive_dest_state_2             string                 enable

log_archive_dest_state_3             string                 enable

log_archive_dest_state_4             string                 enable

log_archive_dest_state_5             string                 enable

log_archive_dest_state_6             string                 enable

log_archive_dest_state_7             string                 enable

log_archive_dest_state_8             string                 enable

log_archive_dest_state_9             string                 enable

SQL>

 

log_archive_destlog_archive_dest_1都為空了,但是DB_RECOVERY_FILE_DEST值卻不為空:

 

SQL> show parameter DB_RECOVERY_FILE_DEST

 

NAME             TYPE                   VALUE

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

db_recovery_file_dest string        /export/home/oracledb/oracle/flash_recovery_area

db_recovery_file_dest_size           big integer            2G

 

原因就在這裡,置空DB_RECOVERY_FILE_DEST

 

SQL> alter system set db_recovery_file_dest='';

 

System altered.

 

SQL> show parameter DB_RECOVERY_FILE_DEST

 

NAME                                 TYPE                   VALUE

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

db_recovery_file_dest                string

db_recovery_file_dest_size           big integer            2G

 

重新執行log_archive_dest設定

 

SQL> alter system set log_archive_dest='/export/home/arch';

 

System altered.

 

可以順利執行了

 

另外一個引數,log_archive_startoracle10g已經廢棄,但是oracle並沒有拋棄這個引數,還是可以查到:

SQL> show parameter log_archive_start

 

NAME                                 TYPE                   VALUE

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

log_archive_start                    boolean                FALSE

SQL>

 

預設值為FALSE,並且不能修改, oracle10g在啟用歸檔後自動歸檔。不用設定自動歸檔,因此無需理會此值。

 

總結:

log_archive_destlog_archive_des_n不能同時使用,10g預設歸檔路徑log_archive_dest_10 flash _recovery_area,即DB_RECOVERY_FILE_DEST,因此log_archive_dest也不能於DB_RECOVERY_FILE_DEST一起使用。

 

換句話說:LOG_ARCHIVE_DEST LOG_ARCHIVE_DUPLEX_DES是一組
LOG_ARCHIVE_DEST_1
。。。10,又是一組,你只能選擇一組歸檔。

 

從以上,我們可以看到這個兩個引數可以互換的, 也就是說原來的是log_archive_dest,現在可以用log_archive_dest_1.反之亦然.但是不能夠同時使用.

 

注意以上log_archive_dest log_archive_dest_1都置為空的時候, 系統會自動設定歸檔的目的地. --&gt?/dbs/arch.

 

轉自:http://www.ixdba.net/hbcms/article/f0/268.html

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

相關文章