RMAN备份FORMAT格式中%a的含义


Oracle文档对%a的描述是:

%a   Specifies the activation ID of the database.  

rman备份并保存,查询%a

RMAN> backup tablespace users format '/home/oracle/think_%a';  

由此,可知%a为:790774120

查询x$kccdi

  1. sys@ORCL> SELECT didbn,dirlc,dirlc_i FROM x$kccdi;  
  2.   
  3. DIDBN     DIRLC                   DIRLC_I  
  4. --------- -------------------- ----------   
  5. ORCL      08/08/2012 11:28:40   790774120  

由此,可知%a便是DIRLC_I

查询v$database_incarnation

  1. sys@ORCL> select INCARNATION#,RESETLOGS_TIME,RESETLOGS_ID from v$database_incarnation;  
  2.   
  3. INCARNATION# RESETLOGS_TIME      RESETLOGS_ID  
  4. ------------ ------------------- ------------   
  5.            1 2005/06/30 19:09:40    562360180  
  6.            2 2012/07/15 16:40:15    788719215  
  7.            3 2012/08/08 10:35:10    790770910  
  8.            4 2012/08/08 11:28:40    790774120  

由此,可知%a、resetlogs_id和dirlc_i,此三者相同。RESETLOGS_ID显然是由RESETLOGS_TIME决定的。故此三者“同气连技”。

其实这个RESETLOGS_ID的值在V$ARCHIVED_LOG视图中也可以找到。而且这个值对应的就是归档日志格式中的%r。

%r官方文档解释:

  1. resetlogs ID that ensures unique names are constructed for the archived log files across multiple incarnations of the database  

如果进行了不完全恢复,这个变量就十分重要。

查询v$archived_log

  1. sys@ORCL> select first_time,name from v$archived_log where first_time='2012/08/08 11:28:40';  
  2.   
  3. FIRST_TIME          NAME  
  4. ------------------- ------------------------------------------------------------------------   
  5. 2012/08/08 11:28:40 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2012_08_08/o1_mf_1_1  
  6.                     _824467pw_.arc  

可知,%r为824467pw

至此,小结:%a、resetlogs_id、dirlc_i和%r,都是oracle database的"生日".

相关内容