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

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      ------------&gt 现在设置为正确设置,归档能成功进行。

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 ;  -----&gt 修改此参数,不会进行合法性的检查。
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 ;                -----------&gt 切换日志,以备归档
System altered.
SQL> alter system archive log all ;              ------------&gt 手动归档 。(归档失败)

---------------------------------
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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25380220/viewspace-704122/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值