欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

在Oracle 10g中如何删除归档日志

程序员文章站 2024-01-18 12:25:16
...

今天一个朋友问我在Oracle10g中如何删除归档日志,就这个问题作如下回答:Oracle中归档日志不能通过操作系统(OS)级命令直接删除

今天一个朋友问我在Oracle10g中如何删除归档日志,就这个问题作如下回答:

Oracle中归档日志不能通过操作系统(OS)级命令直接删除,因为归档日志的一些信息在控制文件中是有记录的,而且如果使用OS级命令直接删除以后,控制文件中的信息是不会改变的,还有,就是相关系统视图中的信息也不会发生改变。Oracle系统仍然会认为归档日志是存在的。

那怎么正确的删除归档日志呢?

可以使用下面的几种方法:

可以使用RMAN来删除archivelog,具体可以按以下步骤操作:

1、使用OS级命令物理删除archivelog

2、进入RMAN

3、crosscheck archivelog all;

4、delete expried archivelog all;

这样就在一些Oracle的记录中查不到相应的archivelog记录了。

二、直接使用RMAN删除archivelog

其实在RMAN中是可以使用命令直接将ARCHIVELOG删除的,命令如下:

RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

表示删除7天以前的所有archivelog,但是这个命令的缺点是无法对archivelog进行细致的划分。

三、使用RMAN备份aechivelog后删除

这是一种最为稳妥的方法了,,使用RMAN备份archivelog,备份后全部删除

backup format '/u01/arch_%T_%s_%U' archivelog all delete input;

或者

backup database plus archivelog;

在Oracle 10g中如何删除归档日志