1.查看归档日志路径

归档日志路径不一定相同,如果不清楚归档日志在哪,可以通过命令find / -name *.dbf查找

2.删除归档日志物理文件

如果之前手动删除过物理文件,可以查看这个方法,将控制文件中归档日志记录删除。

1) 删除物理文件

删除物理文件:1_4_900206934.dbf

$ rm -f 1_4_900206934.dbf

2 查看控制文件

通过如下命令查看Oracle控制文件记录归档日志信息,发现"1_4_900206934.dbf"还存在

rman target /

rman登录命令

list archivelog all;

查看所有的归档日志

RMAN> list archivelog all;

using target database control file instead of recovery catalog

List of Archived Log Copies for database with db_unique_name HELOWIN

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

Key     Thrd Seq     S Low Time

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

3       1    4       A 07-DEC-22

Name: /home/oracle/app/oracle/oradata/archlogs/1_4_900206934.dbf

3.对比检查归档日志物理文件和控制文件一致性

如果你之前已经删除过物理文件,并没有删除控制文件中的信息,请看如下操作:

crosscheck archivelog all;

优先使用这个命令,核验比对物理文件和归档日志记录信息一致性

list expired archivelog all;

crosscheck后,可以使用这个命令,查看有哪些过期的日志文件

RMAN> crosscheck archivelog all;

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=772 device type=DISK

validation failed for archived log

archived log file name=/home/oracle/app/oracle/oradata/archlogs/1_4_900206934.dbf RECID=3 STAMP=1122847256

validation succeeded for archived log

archived log file name=/home/oracle/app/oracle/oradata/archlogs/1_5_900206934.dbf RECID=4 STAMP=1122894018

validation succeeded for archived log

列出过期日志

RMAN> list expired archivelog all;

4.删除过期日志文件

RMAN>delete expired archivelog all;


方法二:rman删除归档日志

这种方法,可以将控制文件中记录信息和物理文件同步删除,更为方便。

登录rman

rman target /

查看所有归档日志信息

list archivelog all;

删除指定日期前日志

delete archivelog all completed before 'SYSDATE - 3';

删除3天前的归档日志,在删除控制文件记录的同时,也会将物理文件删除。

RMAN> delete archivelog all completed before 'SYSDATE - 3';