因为数据仓库上asm的磁盘空间不足,需要删除早期的归档日志,查看资料有以下两种方式:
<b>delete archivelog until time 'sysdate-n';</b>
<b>delete archivelog all completed before 'sysdate-n';</b>
这两个命令的差别在哪里呢?
使用list 命令来查看一下究竟...
rman> <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> 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> 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>