今天查看资料,对log_archive_dest_n和standby_archive_dest的关系有点模糊了,做个简单的测试,缕清关系、加深记忆。
首先看一下我们的实验环境,10grac,双节点:node1和node2
SQL> host hostname node1 SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi PL/SQL Release 10.2.0.1.0 - Production CORE 10.2.0.1.0 Production TNS for Linux: Version 10.2.0.1.0 - Production NLSRTL Version 10.2.0.1.0 - Production SQL> show parameter archvie; SQL> show parameter archvie SQL> show parameter archive NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ archive_lag_target integer 0 log_archive_config string log_archive_dest string log_archive_dest_1 string location=/home/oracle/11 log_archive_dest_10 string log_archive_dest_2 string service=racdb2 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 NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_8 string log_archive_dest_9 string 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 NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_state_9 string enable log_archive_duplex_dest string log_archive_format string %t_%s_%r.dbf log_archive_local_first boolean TRUE log_archive_max_processes integer 2 log_archive_min_succeed_dest integer 1 log_archive_start boolean FALSE log_archive_trace integer 0 remote_archive_enable string true standby_archive_dest string ?/dbs/arch
SQL> host clear SQL> host hostname node2 SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi PL/SQL Release 10.2.0.1.0 - Production CORE 10.2.0.1.0 Production TNS for Linux: Version 10.2.0.1.0 - Production NLSRTL Version 10.2.0.1.0 - Production SQL> show parameter archive NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ archive_lag_target integer 0 log_archive_config string log_archive_dest string log_archive_dest_1 string location=/home/oracle/21 log_archive_dest_10 string log_archive_dest_2 string service=racdb1 log_archive_dest_3 string LOCATION=/home/oracle/22 VALID _FOR=(standby_logfiles, all_ro les) log_archive_dest_4 string log_archive_dest_5 string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_6 string log_archive_dest_7 string log_archive_dest_8 string log_archive_dest_9 string 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 NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_state_7 string enable log_archive_dest_state_8 string enable log_archive_dest_state_9 string enable log_archive_duplex_dest string log_archive_format string %t_%s_%r.dbf log_archive_local_first boolean TRUE log_archive_max_processes integer 2 log_archive_min_succeed_dest integer 1 log_archive_start boolean FALSE log_archive_trace integer 0 remote_archive_enable string true NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ standby_archive_dest string ?/dbs/arch
在node1下执行如下命令:alter system archive log current;
SQL> alter system archive log current; System altered. SQL>
在节点2下,查看
[oracle@node2 ~]$ cd 22 [oracle@node2 22]$ ll total 852 -rw-r----- 1 oracle oinstall 854528 Jul 7 15:09 1_70_790532232.dbf -rw-r----- 1 oracle oinstall 8704 Jul 7 15:11 1_71_790532232.dbf [oracle@node2 22]$ cd .. [oracle@node2 ~]$ cd 21 [oracle@node2 21]$ ll total 836 -rw-r----- 1 oracle oinstall 846848 Jul 7 15:09 2_52_790532232.dbf -rw-r----- 1 oracle oinstall 3072 Jul 7 15:11 2_53_790532232.dbf [oracle@node2 21]$ cd $ORACLE_HOME/dbs [oracle@node2 dbs]$ ll total 44 -rw-rw---- 1 oracle oinstall 1552 Jul 7 15:07 hc_racdb2.dat -rw-r----- 1 oracle oinstall 12920 May 3 2001 initdw.ora -rw-r----- 1 oracle oinstall 8385 Sep 11 1998 init.ora -rw-r----- 1 oracle oinstall 24 Aug 5 2012 initracdb2.ora -rw-r----- 1 oracle oinstall 1536 Aug 5 2012 orapwracdb2 -rw-r----- 1 oracle oinstall 1536 Jul 7 15:07 spfileracdb2.ora在节点2上设置standby_archvie_dest
SQL> alter system set standby_archive_dest='/home/oracle/33' sid='racdb2'; System altered.
在节点1,归档
SQL> alter system archive log current; System altered.查看节点2
[oracle@node2 ~]$ cd 33 [oracle@node2 33]$ ll total 4 -rw-r----- 1 oracle oinstall 2048 Jul 7 15:14 1_72_790532232.dbf [oracle@node2 33]$ cd ../22 [oracle@node2 22]$ ll total 852 -rw-r----- 1 oracle oinstall 854528 Jul 7 15:09 1_70_790532232.dbf -rw-r----- 1 oracle oinstall 8704 Jul 7 15:11 1_71_790532232.dbf [oracle@node2 22]$
结论:
在没有设置standby_archvie_Dest的情况下,数据库会将归档放置在standby数据库的log_Archive_dest_n指定的目录下,如果指定了STANDBY_ARCHIVE_DEST则存放在standby_archive_Dest指定的目录下。