程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 關於Oracle10g歸檔參數的研究

關於Oracle10g歸檔參數的研究

編輯:Oracle數據庫基礎
 

本文討論涉及的參數有:
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
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

Oracle為10g的企業版

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_dest和log_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_start在oracle10g已經廢棄,但是oracle並沒有拋棄這個參數,還是可以查到:

SQL> show parameter log_archive_start

 

NAME TYPE VALUE

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

log_archive_start boolean FALSE

SQL>

 

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


總結:
log_archive_dest和log_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都置為空的時候, 系統會自動設置歸檔的目的地. -->?/dbs/arch.
 

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved