参数db_recovery_file_dest,log_archive_dest,log_archive_dest_n

    今天看了下 oracle归档相关的三个参数(db_recovery_file_dest,log_archive_dest,log_archive_dest_n ),也做了下实验,体会了一下三个参数的区别,就将相关的内容记录下来。

下面对三个参数进行简单的说明:

    DB_RECOVERY_FILE_DEST:指定闪回恢复区路径,默认的归档日志存放于DB_RECOVERY_FILE_DEST指定的闪回恢复区中;

    LOG_ARCHIVE_DEST:指定归档文件存放的路径,该路径只能是本地磁盘,默认为’’;

    LOG_ARCHIVE_DEST_n:默认值为’’。Oracle最多支持把日志文件归档到31个地方,n从1到31(好像oracle 10g是10个地方)。归档地址可以为本地磁盘,或者网络设备。


查看oracle的版本 及 是否归档

  1. SQL> select * from v$version;
  2.   
  3. BANNER
  4. --------------------------------------------------------------------------------
  5. Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
  6. PL/SQL Release 11.2.0.3.0 - Production
  7. CORE 11.2.0.3.0 Production
  8. TNS for Linux: Version 11.2.0.3.0 - Production
  9. NLSRTL Version 11.2.0.3.0 - Production
  10.   
  11. SQL> archive log list;
  12. Database log mode             Archive Mode
  13. Automatic archival            Enabled
  14. Archive destination           USE_DB_RECOVERY_FILE_DEST
  15. Oldest online log sequence    98
  16. Next log sequence to archive  100
  17. Current log sequence          100

查看参数 db_recovery_file_dest 和 db_recovery_file_dest_n
  1. SQL> show parameter log_archive

  2. NAME                        TYPE     VALUE
  3. ------------------------------------ ----------- ------------------------------
  4. log_archive_config          string
  5. log_archive_dest            string
  6. log_archive_dest_1          string
  7. log_archive_dest_10         string
  8. log_archive_dest_11         string
  9. log_archive_dest_12         string
  10. log_archive_dest_13         string
  11. log_archive_dest_14         string
  12. log_archive_dest_15         string
  13. log_archive_dest_16         string
  14. log_archive_dest_17         string

  15. NAME                 TYPE     VALUE
  16. ------------------------------------ ----------- ------------------------------
  17. log_archive_dest_18         string
  18. log_archive_dest_19         string
  19. log_archive_dest_2          string
  20. log_archive_dest_20         string
  21. log_archive_dest_21         string
  22. log_archive_dest_22         string
  23. log_archive_dest_23         string
  24. log_archive_dest_24         string
  25. log_archive_dest_25         string
  26. log_archive_dest_26         string
  27. log_archive_dest_27         string

  28. NAME                 TYPE     VALUE
  29. ------------------------------------ ----------- ------------------------------
  30. log_archive_dest_28         string
  31. log_archive_dest_29         string
  32. log_archive_dest_3          string
  33. log_archive_dest_30         string
  34. log_archive_dest_31         string
  35. log_archive_dest_4          string
  36. log_archive_dest_5          string
  37. log_archive_dest_6          string
  38. log_archive_dest_7          string
  39. log_archive_dest_8          string
  40. log_archive_dest_9          string

  41. NAME                 TYPE     VALUE
  42. ------------------------------------ ----------- ------------------------------
  43. log_archive_dest_state_1      string     enable
  44. log_archive_dest_state_10     string     enable
  45. log_archive_dest_state_11     string     enable
  46. log_archive_dest_state_12     string     enable
  47. log_archive_dest_state_13     string     enable
  48. log_archive_dest_state_14     string     enable
  49. log_archive_dest_state_15     string     enable
  50. log_archive_dest_state_16     string     enable
  51. log_archive_dest_state_17     string     enable
  52. log_archive_dest_state_18     string     enable
  53. log_archive_dest_state_19     string     enable

  54. NAME                 TYPE     VALUE
  55. ------------------------------------ ----------- ------------------------------
  56. log_archive_dest_state_2      string     enable
  57. log_archive_dest_state_20     string     enable
  58. log_archive_dest_state_21     string     enable
  59. log_archive_dest_state_22     string     enable
  60. log_archive_dest_state_23     string     enable
  61. log_archive_dest_state_24     string     enable
  62. log_archive_dest_state_25     string     enable
  63. log_archive_dest_state_26     string     enable
  64. log_archive_dest_state_27     string     enable
  65. log_archive_dest_state_28     string     enable
  66. log_archive_dest_state_29     string     enable

  67. NAME                 TYPE     VALUE
  68. ------------------------------------ ----------- ------------------------------
  69. log_archive_dest_state_3      string     enable
  70. log_archive_dest_state_30     string     enable
  71. log_archive_dest_state_31     string     enable
  72. log_archive_dest_state_4      string     enable
  73. log_archive_dest_state_5      string     enable
  74. log_archive_dest_state_6      string     enable
  75. log_archive_dest_state_7      string     enable
  76. log_archive_dest_state_8      string     enable
  77. log_archive_dest_state_9      string     enable
  78. log_archive_duplex_dest       string
  79. log_archive_format            string     %t_%s_%r.dbf

  80. NAME                 TYPE     VALUE
  81. ------------------------------------ ----------- ------------------------------
  82. log_archive_local_first       boolean     TRUE
  83. log_archive_max_processes     integer     4
  84. log_archive_min_succeed_dest  integer     1
  85. log_archive_start             boolean     FALSE
  86. log_archive_trace             integer     0
可以看到,log_archive_dest,log_archive_dest_n都是没有设置值的,是处于默认状态, 且log_archive_dest_n中的n是从1-31的,与10g好像是不同的。


看看归档日志记录

  1. SQL> SELECT RECID,STAMP,NAME,SEQUENCE#,ARCHIVED,DELETED,STATUS FROM V$ARCHIVED_LOG;
  2.   
  3.      RECID STAMP      NAME                                                                                            SEQUENCE#  ARC DEL S
  4. ---------- ---------- ----------------------------------------------------------------------------------------------- ---------- --- --- -
  5.      1     871828407  /u01/app/fast_recovery_area/ORCL/archivelog/2015_02_16/o1_mf_1_98_bg33sqkz_.arc                 98         YES NO  A
  6.      2     871828746  /u01/app/fast_recovery_area/ORCL/archivelog/2015_02_16/o1_mf_1_99_bg344b4q_.arc                 99         YES NO  A

可以发现,目前的归档日志都在闪回恢复区db_recovery_file_dest 指定的路径”/u01/app/fast_recovery_area“中

    
上面只是查看一下基本信息,下面来对相关的参数进行设置,先来设置参数 

log_archive_dest

  1. SQL> alter system set log_archive_dest='/home/oracle/archivelog' scope=both;
  2. alter system set log_archive_dest='/home/oracle/archivelog' scope=both
  3. *
  4. ERROR at line 1:
  5. ORA-02097: parameter cannot be modified because specified value is invalid
  6. ORA-16018: cannot use LOG_ARCHIVE_DEST with LOG_ARCHIVE_DEST_n or DB_RECOVERY_FILE_DEST
  7.   
  8.   
  9. SQL> alter system set db_recovery_file_dest='' scope=both;
  10.   
  11. System altered.
  12.   
  13. SQL> alter system set log_archive_dest='/home/oracle/archivelog' scope=both;
  14.   
  15. System altered.

可以看到,当db_recovery_file_dest 或者 log_archive_dest_n 有值的时候,是不能设置 log_archive_dest,所以需现将db_recovery_file_dest 和 log_archive_dest_n中的非空值设置为空。

再来切换归档日志,看看日志的相关信息

  1. SQL> alter system switch logfile;
  2.   
  3. System altered.
  4.   
  5. SQL> SELECT RECID,STAMP,NAME,SEQUENCE#,ARCHIVED,DELETED,STATUS FROM V$ARCHIVED_LOG;
  6.   
  7.      RECID STAMP      NAME                                                                                        SEQUENCE#  ARC DEL S
  8. ---------- ---------- ------------------------------------------------------------------------------------------- ---------- --- --- -
  9.      1     871828407  /u01/app/fast_recovery_area/ORCL/archivelog/2015_02_16/o1_mf_1_98_bg33sqkz_.arc             98         YES NO  A
  10.      2     871828746  /u01/app/fast_recovery_area/ORCL/archivelog/2015_02_16/o1_mf_1_99_bg344b4q_.arc             99         YES NO  A
  11.      3     871831654  /home/oracle/archivelog/1_100_870599824.dbf                                                 100        YES NO  A

可以看出,新的归档日志已经在log_archive_dest 设置的目录中了。

使用了log_archive_dest 这个参数,还有一个配套使用的参数 

log_archive_duplex_dest :该初始化参数用于指定归档日志所在的第二个目录,它与参数LOG_ARCHIVE_DEST同时使用,但不能与LOG_ARCHIVE_DEST_n同时使用。该初始化参数是动态参数,可以使用ALTER  SYSTEM命令进行修改

  1. SQL> alter system set log_archive_duplex_dest='/home/oracle/archivelog_duplex' scope=both;
  2.   
  3. System altered.
  4.   
  5. SQL> alter system switch logfile;
  6.   
  7. System altered.
  8.   
  9. SQL> SELECT RECID,STAMP,NAME,SEQUENCE#,ARCHIVED,DELETED,STATUS FROM V$ARCHIVED_LOG;
  10.   
  11.      RECID STAMP      NAME                                                                                      SEQUENCE#  ARC DEL S
  12. ---------- ---------- ----------------------------------------------------------------------------------------- ---------- --- --- -
  13.      1     871828407  /u01/app/fast_recovery_area/ORCL/archivelog/2015_02_16/o1_mf_1_98_bg33sqkz_.arc           98         YES NO  A
  14.      2     871828746  /u01/app/fast_recovery_area/ORCL/archivelog/2015_02_16/o1_mf_1_99_bg344b4q_.arc           99         YES NO  A
  15.      3     871831654  /home/oracle/archivelog/1_100_870599824.dbf                                               100        YES NO  A
  16.      4     871832397  /home/oracle/archivelog/1_101_870599824.dbf                                               101        YES NO  A
  17.      5     871832397  /home/oracle/archivelog_duplex/1_101_870599824.dbf                                        101        YES NO  A

可以看到新切换的归档日志已经 1_101_870599824.dbf 在目录 /home/oracle/archivelog 和 /home/oracle/archivelog_duplex 同时存在


log_archive_dest_n

先来更改这个参数

  1. SQL> alter system set log_archive_dest_1='location=/home/oracle/archivelog/log_archive_dest_1' scope=both;
  2. alter system set log_archive_dest_1='location=/home/oracle/archivelog/log_archive_dest_1' scope=both
  3. *
  4. ERROR at line 1:
  5. ORA-02097: parameter cannot be modified because specified value is invalid
  6. ORA-16019: cannot use LOG_ARCHIVE_DEST_1 with LOG_ARCHIVE_DEST or LOG_ARCHIVE_DUPLEX_DEST

也报错了,在LOG_ARCHIVE_DEST 或 LOG_ARCHIVE_DUPLEX_DEST 不为空时,是不能设置这个值,因为上面的实验我将这两个个值已经设置了。

还有一点要注意,由于log_archive_dest_n 可以备份到远程机器上,所以在路径的地方加了 location关键字,通过设置关键词location或service,该参数指向的路径可以是本地或远程的。

将参数 LOG_ARCHIVE_DEST 和 LOG_ARCHIVE_DUPLEX_DEST 设置为空

  1. SQL> alter system set log_archive_dest='' scope=both;
  2. alter system set log_archive_dest='' scope=both
  3. *
  4. ERROR at line 1:
  5. ORA-02097: parameter cannot be modified because specified value is invalid
  6. ORA-16022: LOG_ARCHIVE_DEST cannot be NULL because LOG_ARCHIVE_DUPLEX_DEST is non-NULL
  7.   
  8.   
  9. SQL> alter system set LOG_ARCHIVE_DUPLEX_DEST='' scope=both;
  10.   
  11. System altered.
  12.   
  13. SQL> alter system set LOG_ARCHIVE_DEST='' scope=both;
  14.   
  15. System altered.

再次验证了,LOG_ARCHIVE_DUPLEX_DEST 是依赖与LOG_ARCHIVE_DEST的,在 LOG_ARCHIVE_DUPLEX_DEST不为空的情况下,是不能单独设置LOG_ARCHIVE_DEST为空的。

设置 log_archive_dest_1 和 log_archive_dest_2 两个参数

  1. SQL> alter system set log_archive_dest_1='location=/home/oracle/archivelog_dest_1' scope=both;
  2.   
  3. System altered.
  4.   
  5. SQL> alter system set log_archive_dest_2='location=/home/oracle/archivelog_dest_2' scope=both;
  6.   
  7. System altered.
  8.   
  9. SQL> alter system switch logfile;
  10.   
  11. System altered.
  12.   
  13. SQL> SELECT RECID,STAMP,NAME,SEQUENCE#,ARCHIVED,DELETED,STATUS FROM V$ARCHIVED_LOG;
  14.   
  15.      RECID STAMP      NAME                                                                                     SEQUENCE#  ARC DEL S
  16. ---------- ---------- ---------------------------------------------------------------------------------------- ---------- --- --- -
  17.      1     871828407  /u01/app/fast_recovery_area/ORCL/archivelog/2015_02_16/o1_mf_1_98_bg33sqkz_.arc          98         YES NO A
  18.      2     871828746  /u01/app/fast_recovery_area/ORCL/archivelog/2015_02_16/o1_mf_1_99_bg344b4q_.arc          99         YES NO A
  19.      3     871831654  /home/oracle/archivelog/1_100_870599824.dbf                                              100        YES NO A
  20.      4     871832397  /home/oracle/archivelog/1_101_870599824.dbf                                              101        YES NO A
  21.      5     871832397  /home/oracle/archivelog_duplex/1_101_870599824.dbf                                       101        YES NO A
  22.      6     871834042  /home/oracle/archivelog_dest_1/1_102_870599824.dbf                                       102        YES NO A
  23.      7     871834042  /home/oracle/archivelog_dest_2/1_102_870599824.dbf                                       102        YES NO A
  24.   
  25. 7 rows selected.

现在新的归档日志 1_102_870599824.dbf 已经分别存在于 /home/oracle/archivelog_dest_1 和 /home/oracle/archivelog_dest_2 中


总结:


1、 如果设置了DB_RECOVERY_FILE_DEST,就不能设置LOG_ARCHIVE_DEST,默认的归档日志存放于DB_RECOVERY_FILE_DEST指定的闪回恢复区中。可以设置LOG_ARCHIVE_DEST_n,如果这样,那么归档日志不再存放于DB_RECOVERY_FILE_DEST中,而是存放于LOG_ARCHIVE_DEST_n设置的目录中。如果想要归档日志继续存放在DB_RECOVERY_FILE_DEST中,可以通过如下命令:alter system set log_archive_dest_1=’location=USE_DB_RECOVERY_FILE_DEST’;
2、 如果设置了LOG_ARCHIVE_DEST,就不能设置LOG_ARCHIVE_DEST_n和DB_RECOVERY_FILE_DEST。如果设置了LOG_ARCHIVE_DEST_n,就不能设置LOG_ARCHIVE_DEST。也就是说,LOG_ARCHIVE_DEST参数和DB_RECOVERY_FILE_DEST、LOG_ARCHIVE_DEST_n都不共存。而DB_RECOVERY_FILE_DEST和LOG_ARCHIVE_DEST_n可以共存。
3、 LOG_ARCHIVE_DEST只能与LOG_ARCHIVE_DUPLEX_DEST共存。这样可以设置两个归档路径。LOG_ARCHIVE_DEST设置一个主归档路径,LOG_ARCHIVE_DUPLEX_DEST设置一个从归档路径。所有归档路径必须是本地的。
4、 如果LOG_ARCHIVE_DEST_n设置的路径不正确,那么Oracle会在设置的上一级目录归档。


其他的相关参数说明

LOG_ARCHIVE_DEST_STATE_N
该初始化参数用于指定归档目录的可用状态,默认值为ENABLE。当设置该参数为ENABLE时,会激活相应的归档位置;当设置该参数为DEFER时,会禁用相应的归档位置;当设置该参数为ALTERNATE时,如果归档到其他位置失败,则会使用该归档位置。该初始化参数是动态参数,可以使用ALTER  SESSION或ALTER  SYSTEM命令进行修改。


LOG_ARCHIVE_FORMAT
该初始化参数用于指定归档日志文件名称的格式。当指定归档日志的名称格式时,可以使用多种格式符,其中%S和%S(用0填充)用于标记日志序列号,%T和%T(用0填充)用于标记线程号,%D用于标记数据库ID号,%R用于标记数据库副本的ID号。因为该初始化参数是静态参数,所以修改后必须重新启动例程。


LOG_ARCHIVE_MAX_PROCESSES
该初始化参数用于指定要启动的归档进程个数,其数值范围为1~10,默认值为2。该初始化参数是动态参数,可以使用ALTER  SYSTEM命令进行修改。一般情况下不建议修改该值。


LOG_ARCHIVE_MIN_SUCCEED_DEST
该初始化参数用于指定归档到本地位置的最小成功次数,默认值为1.注意,当设置了该参数之后,只有归档到本地位置个数达到该参数值时,重做日志才能被覆盖。该初始化参数是动态参数,可以使用ALTER  SESSION或ALTER  SYSTEM命令进行修改。


LOG_ARCHIVE_TRACE
该初始化参数用于控制归档日志的跟踪级别,其数值范围为0、1、2、4、8、16、32、64、128,默认值为0。当设置该参数为0时,会禁止跟踪归档日志;当设置该参数为1时,会激活跟踪归档日志文件;当设置该参数为2时,会跟踪每个归档位置的状态;当设置该参数为4时,会跟踪归档操作步骤;当设置该参数为8时,会跟踪归档位置活动;当设置该参数为16时,会跟踪详细的归档位置活动;当设置该参数为32时,会跟踪归档位置参数的修改;当设置该参数为64时,会跟踪ARCn进程活动;当设置该参数为128时,会跟踪FAL进程的相关活动。该初始化参数是动态参数,可以使用ALTER  SYSTEM命令进行修改。



参考文档:

http://blog.itpub.net/25744374/viewspace-732083

http://blog.csdn.net/tanguooo19866/article/details/8508953

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30150152/viewspace-1486935/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30150152/viewspace-1486935/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值