ITPub博客

首页 > Linux操作系统 > Linux操作系统 > log_archive_format 的错误设置导致无法归档

log_archive_format 的错误设置导致无法归档

原创 Linux操作系统 作者:JumFlow 时间:2011-08-04 16:52:44 0 删除 编辑

log_archive_format 的错误设置导致无法归档

=====================================
log_archive_format 其作用是用于控制归档文件的命名规则。
基于此,oracle 提供变量来灵活命名的使用。 同时随着oracle
的版本的变化,变量也有相应的变化。

------
NOTE:如果对这变量使用不正确,将导致数据库无法归档。
-------

例如在oracle 9i 中没有 %r 这个变量,是在 10g 中新增的。
如果你在 9i 中 log_archive_format 中设置了这个参数的
话,数据库在归档的时候将不能识别这个参数,从而导致归档
失败。

(在数据库启动时,没有对这个参数的合法性进行检查,只有
当进行归档是进行检查,所用设置这个参数时,一定要参考
相应oracle的版本指导手册设置)

=====================================


对此我做如下的测试:

测试环境:
OS -> windows
DB --- > oracle 9.2.0.1

--------------------------------------------------------
归档信息
SQL> archive log list ;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            D:\oracle\archive\2
Oldest online log sequence     27
Next log sequence to archive   30
Current log sequence           31


归档相关参数设置
NAME                           VALUE
------------------------------ -----------------------------
log_archive_start              TRUE
log_archive_dest_1             location=D:\oracle\archive\1
log_archive_dest_2             location=D:\oracle\archive\2
log_archive_format             archive_%t_%s.arc      ------------> 现在设置为正确设置,归档能成功进行。

SQL> archive log list ;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            D:\oracle\archive\2
Oldest online log sequence     29
Next log sequence to archive   33
Current log sequence           33
SQL>
SQL> alter system switch logfile ;                          -------------> 切换日志,归档。归档成功。
System altered.
SQL> archive log list ;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            D:\oracle\archive\2
Oldest online log sequence     30
Next log sequence to archive   34
Current log sequence           34
SQL>

改变参数 log_archive_format

SQL> alter system set log_archive_format='archive_%t_%s_%r.arc' scope=spfile ;  -----> 修改此参数,不会进行合法性的检查。
System altered.
SQL> shutdown immediate ;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup                                                  ----------->启动时也不对其进行合法性的检查。
ORACLE instance started.
Total System Global Area  160504432 bytes
Fixed Size                   453232 bytes
Variable Size             109051904 bytes
Database Buffers           50331648 bytes
Redo Buffers                 667648 bytes
Database mounted.
Database opened.
SQL>
SQL> alter system switch logfile ;                -----------> 切换日志,以备归档
System altered.
SQL> alter system archive log all ;              ------------> 手动归档 。(归档失败)

---------------------------------
alter.log 中的错误信息如下:
--------------------------------
Thu Aug 04 16:22:34 2011
Errors in file d:\oracle\admin\orcl_nt\bdump\orclnt_arc2_3132.trc
ORA-00294: invalid archivelog format specifier 'r'
Thu Aug 04 16:22:44 2011
ARCH: Evaluating archive   log 3 thread 1 sequence 34
ARCH: Unable to archive log 3 thread 1 sequence 34
      Log actively being archived by another process
Thu Aug 04 16:23:10 2011


===========================================================

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

上一篇: oracle 约束的状态
请登录后发表评论 登录
全部评论

注册时间:2011-03-03

  • 博文量
    72
  • 访问量
    185719