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';