=====================================
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
===========================================================