阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何正确删除Oracle 归档日志文件

203次阅读
没有评论

共计 1150 个字符,预计需要花费 3 分钟才能阅读完成。

当 Oracle 中的归档日志空间满时,则需要把它清空,否则将会影响数据库正常运行,将无法正常登入 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://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-10/147420.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1150字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中