当前位置:Gxlcms > mysql > Oracle正确删除归档并回收空间的方法

Oracle正确删除归档并回收空间的方法

时间:2021-07-01 10:21:17 帮助过:41人阅读

一个Oracle归档日志经常满,表现为/oraarchive 这个文件空间占用100%大家一定抱怨Oracle为何没有归档维护工具,很多人直接删除了

一个Oracle归档日志经常满,表现为/oraarchive 这个文件空间占用100%大家一定抱怨Oracle为何没有归档维护工具,很多人直接删除了事,错了,Oracle有,而且很智能,可以正确的删除归档和 FLASHBACK,不过切记,Oracle归档日志对于Oracle的数据恢复和备份非常重要,不到万不得已不要删除归档日志。

删除归档日志的过程

以Oracle用户身份登录到数据库服务器主机或通过网络连接

进入Oracle数据备份工具
rman target/
或rman target/@orcl
在命令窗口里面执行
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
说明
SYSDATA-7,,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。
同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚,做完这个删除,最好马上进行全备份数据库
DELETE ARCHIVELOG FROM TIME 'SYSDATE-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;
所以还不如上面的方法好用,不过用FIND的好处就是,可以在条件上,和EXEC子项上做很多操作,实现更复杂的功能

linux

人气教程排行