Oracle中怎么删除归档日志文件

本篇文章给大家分享的是有关Oracle中怎么删除归档日志文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

创新互联建站是一家集网站建设,城关企业网站建设,城关品牌网站建设,网站定制,城关网站建设报价,网络营销,网络优化,城关网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

一、首先删除归档日志物理文件,归档日志一般都是位于archive目录下,在Oracle 10g中AIX系统下文件格式为“1_17884_XXX.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复。

二、把归档日志的物理文件删除后,我们就可以正常登入ORACLE了,但是还没完全把归档日志删除干净,ORACLE的controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,接下去我们要做的就是这个工作。

1.指定数据库实例

登录数据库

2.连接数据库

>RMAN TARGET / --由于没有使用catalog 只能nocatalog方式登录

3.查看归档日志的状态

RMAN> list archivelog all;--显示全部的归档日志信息

4.手工删除归档日志文件

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

说明:
SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。
同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚,做完这个删除,最好马上进行全备份数据库
DELETE ARCHIVELOG from TIME 'SYSDATE-7'; 删除从7天前到现在的全部日志,慎用
UNIX/LINUX下也可以通过FIND找到7天前的归档数据,使用EXEC子操作删除
find /oraarchive -xdev -mtime +7 -name "*.dbf" -exec rm -f {} ;
这样做仍然会在RMAN里留下未管理的归档文件
仍需要在RMAN里执行下面2条命令
crosscheck archivelog all;
delete expired archivelog all;
5、再次进行手工全库备份

backup database

同时备份控制文件、参数文件、归档日志

6、在使用report obsolete命令报告过期备份

7、再使用delete obsolete命令删除过期备份,若不能删除,可以再加一个参数 force强制删除

以上就是Oracle中怎么删除归档日志文件,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


网页名称:Oracle中怎么删除归档日志文件
本文地址:http://scyanting.com/article/jpdisp.html