分类: Oracle
2008-08-30 08:53:43
本文讨论涉及的参数有:
log_archive_dest
log_archive_dest_n
log_archive_start
db_recovery_file_dest
Oracle版本:
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database
PL/SQL Release
CORE
TNS for Solaris: Version
NLSRTL Version
Oracle为
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
spfile string /export/home/oracledb/oracle/p roduct/
的是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
原因就在这里,置空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
重新执行log_archive_dest设置
SQL> alter system set log_archive_dest='/export/home/arch';
System altered.
可以顺利执行了
另外一个参数,log_archive_start在oracle
SQL> show parameter log_archive_start
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
log_archive_start boolean FALSE
SQL>
默认值为FALSE,并且不能修改, oracle
log_archive_dest和log_archive_des_n不能同时使用,
换句话说: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.