oracle archive目录,Oracle如何正确删除archivelog文件?

我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog文件的相关信息,在Oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了,这时候我们应该怎么做才能正确删除呢?

Oracle数据库可以启用归档模式和非归档模式。而Oracle在开启了归档模式后,会在指定的archive目录下产生很多的archivelog文件,而且默认是不会定期清除的,时间长久了,该文件夹会占用很大的空间。为了节省空间,我们需要定期删除archivelog文件,下面小编给大家讲解正确方法~~

一、思路

删除数据库的归档日志文件只能通过“RMAN”命令方式,不能直接删除,因为Oracle数据库把归档日志文件的路径记录在控制文件中,单单只删除系统层面的文件,系统的容量会减少,但是Oracle数据库层面不会减少,这样还会沾满闪回恢复区(归档日志默认放在闪回恢复区,闪回恢复区的大小是指定的,我的系统20G)。所以要在数据库层面进行Archivelog的删除。

二、正确方法:

1.用RMAN连接目标DB:在命令行界面输入以下命令

c39f846ded0ece25d194b08415b25d7d.png

2.在RMAN命令窗口中,输入如下命令:

38b6374654fc5a9c749e405c140c9456.png

或者删除指定时间之前的archivelog:

d6d73970d63aa0cf8cced19783e19f72.png

3.其它相关命令:查看归档日志列表:

09e5a6cdb396e7b6be986c6416cdca08.png

查看失效的归档日志列表:

d0a74956181b77c81895d9367d356c78.png

4.定期清除archivelog:可以将如下代码写成.bat文件,在控制面版的任务计划下添加新的定时任务:

738a602fb698de358f0811c7d4f0ca47.png

小编结语:

更多内容尽在课课家教育!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值