搜鞥都哦 发表于 2018-9-26 12:07:58

关于Oracle10g归档参数的研究

  本文讨论涉及的参数有:
  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>
  PL/SQL>  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
  ----------------------------------- ---------------------- ------------------------------
  spfilestring   /export/home/oracledb/oracle/p roduct/10.2.0/dbs/spfileorcl.ora
  使用的是spfile参数。

  SQL>>
  System>
  SQL>>
  System>
  SQL>>  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>>
  System>  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>>
  System>  可以顺利执行了
  另外一个参数,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]
查看完整版本: 关于Oracle10g归档参数的研究