下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Oracle如何正确删除archivelog文件?

作者:课课家教育     来源: http://www.kokojia.com点击数:2328发布时间: 2019-03-06 13:51:15

标签: 数据库Oraclearchivelog

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

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

  一、思路

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

  二、正确方法:

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

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

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

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

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

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

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

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

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

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

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

  小编结语:

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

赞(20)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程