天天看点

【Oracle】 rman 删除归档日志的命令

   因为数据仓库上asm的磁盘空间不足,需要删除早期的归档日志,查看资料有以下两种方式:

<b>delete archivelog until time 'sysdate-n';</b>

<b>delete archivelog all completed before 'sysdate-n';</b>

这两个命令的差别在哪里呢?

使用list 命令来查看一下究竟...

rman&gt; <b> list archivelog until time 'sysdate-1';</b>

using target database control file instead of recovery catalog

list of archived log copies for database with db_unique_name yangdb

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

key     thrd seq     s low time 

------- ---- ------- - ---------

459     1    463     a 08-jan-12 name: /opt/oracle/yangdb_arch/yangdb_1_463_762800109.log

460     1    464     a 08-jan-12 name: /opt/oracle/yangdb_arch/yangdb_1_464_762800109.log

461     1    465     a 08-jan-12 name: /opt/oracle/yangdb_arch/yangdb_1_465_762800109.log

462     1    466     a 08-jan-12 name: /opt/oracle/yangdb_arch/yangdb_1_466_762800109.log

463     1    467     a 09-jan-12 name: /opt/oracle/yangdb_arch/yangdb_1_467_762800109.log

464     1    468     a 09-jan-12 name: /opt/oracle/yangdb_arch/yangdb_1_468_762800109.log

465     1    469     a 10-jan-12 name: /opt/oracle/yangdb_arch/yangdb_1_469_762800109.log

466     1    470     a 11-jan-12 name: /opt/oracle/yangdb_arch/yangdb_1_470_762800109.log

467     1    471     a 11-jan-12 name: /opt/oracle/yangdb_arch/yangdb_1_471_762800109.log

468     1    472     a 12-jan-12 name: /opt/oracle/yangdb_arch/yangdb_1_472_762800109.log

469     1    473     a 13-jan-12 name: /opt/oracle/yangdb_arch/yangdb_1_473_762800109.log

470     1    474     a 13-jan-12 name: /opt/oracle/yangdb_arch/yangdb_1_474_762800109.log

471     1    475     a 14-jan-12 name: /opt/oracle/yangdb_arch/yangdb_1_475_762800109.log

472     1   <b> 476 </b>    a 15-jan-12 name: /opt/oracle/yangdb_arch/yangdb_1_476_762800109.log

<b>归档日志的序列号码到476</b>

rman&gt; list archivelog all completed before 'sysdate-1';

471     1   <b> 475 </b>    a 14-jan-12 name: /opt/oracle/yangdb_arch/yangdb_1_475_762800109.log

<b>归档日志的序列号码到475 </b>

<b>查看v$archived_log 视图从中获取 时间和序列号信息!</b>

sys@yangdb&gt; select thread#,sequence#,first_time,completion_time  

2   from v$archived_log order by thread#,sequence#;

thread# sequence# first_time      completion_time

------- ---------- -------------- -------------------

1        470  2012-01-11 11:00:10  2012-01-11 22:08:23

1        471  2012-01-11 22:08:20  2012-01-12 17:00:10

1        472  2012-01-12 17:00:10  2012-01-13 02:00:28

1        473  2012-01-13 02:00:28  2012-01-13 22:09:56

1        474  2012-01-13 22:09:55  2012-01-14 22:01:02

<b>1        475  2012-01-14 22:01:02  2012-01-15 06:46:14 ==list archivelog all completed 以completion_time为基准   </b>

<b>1        476  2012-01-15 06:46:14  2012-01-30 14:10:18 ==list archivelog until 以first_time 为基准 编号476的日志横跨15号和30号两天,以first_time的值来截取!</b>

1        477  2012-01-30 14:10:15  2012-01-30 14:10:23

1        478  2012-01-30 14:10:22  2012-01-30 14:10:29

1        479  2012-01-30 14:10:28  2012-01-30 14:10:33

1        480  2012-01-30 14:10:32  2012-01-30 14:10:40  

总结:

<b>该命令删除日志时的时间基准是first_name</b>

<b>该命令删除日志时的时间基准是completion_time   </b>