Oracle Windows/Linux定期清理归档日志DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';//删除七天前的归档日志
* 注意修改文件路径
下图是根据上面教程创建的两个文件
(1)、先查看归档日志路径,确认归档日志文件信息情况 。
更改过归档日志路径的情况查看,执行 archive log list;
输入内容,注意修改 /data/oracle/del_archivelog/ 路径
注意赋予文件的可执行权限,执行 chmod 777 del_archivelog.sh
写入内容 , 每天凌晨4点执行脚本 del_archivelog.sh ,并将执行结果输出到 task.log
查看crontab所有定时任务,执行 crontab -l
到此整个Linux下的配置已结束,注意定期观察任务的运行情况 。
如何正确删除ORACLE归档日志文件一、首先删除归档日志物理文件,归档日志一般都是位于archive目录下 , AIX系统下文件格式为“1_17884_667758186.dbf” , 建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复 。
二、把归档日志的物理文件删除后,我们就可以正常登入ORACLE了 , 但是还没完全把归档日志删除干净,ORACLE的controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后 , 这些记录并没有被我们从controlfile中清除掉 , 接下去我们要做的就是这个工作 。
我们利用RMAN进行删除操作,操作步骤如下:(window客户端系统为例)
1.指定数据库实例
C:/Documents and Settings/AdministratorSET ORACLE_SID =orcl
2.连接数据库
C:/Documents and Settings/AdministratorRMAN TARGET SYS/sysadmin@orcl
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 -mtime7 -name "*.dbf" -exec rm -f {} ;
这样做仍然会在RMAN里留下未管理的归档文件
仍需要在RMAN里执行下面2条命令
crosscheck archivelog all;
delete expired archivelog all;
所以还不如上面的方法好用,不过用FIND的好处就是 , 可以在条件上,和EXEC子项上做很多操作,实现更复杂的功能
5.退出rman
RMAN exit
ORACLE如何删除归档日志文件?可以尝试这种方法:
1. 进入rman
2. connect target /
3. crosscheck archivelog all;
4. delete expired archivelog all;
这时候我们再去OEM中看就一定看不到 , 如果你的从来没有做过这个动作的话,我们可以比较从这个动作前的controlfile后动作后的controlfile的大小!
ORACLE正确删除归档并回收空间的方法
ORACLE正确删除归档并回收空间的方法
一个ORACLE归档日志经常满,表现为/oraarchive 这个文件空间占用100%大家一定抱怨ORACLE为何没有归档维护工具,很多人直接删除了事,错了,ORACLE有,而且很智能,可以正确的删除归档和FLASHBACK , 不过切记,ORACLE归档日志对于ORACLE的数据恢复和备份非常重要,不到万不得已不要删除归档日志 。
删除归档日志的过程
以ORACLE用户身份登录到数据库服务器主机或通过网络连接
进入ORACLE数据备份工具
rman target/
或rman target/@orcl
在命令窗口里面执行
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
如何正确删除Oracle归档日志文件建议是使用rman先备份归档日志文件,然后让再自动删除备份后的归档文件 。
如果使用手动删除 , 在删除完归档后,再在rman下使用以下两个语句oracle怎么清理归档:
crosscheck archivelog all;
delete expired archivelog all;
第一条语句的做用就是检查控制文件和实际物理文件的差别;
第二条语句的做用就是同步控制文件的信息和实际物理文件的信息 。在controlfile中记录着每一个archivelog的相关信息,当oracle怎么清理归档我们在OS下把这些物理文件delete掉或异常变动后,在controlfile中仍然记录着这些archivelog的信息,所以当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,需要使用这条语句来更新controlfile 。
【oracle怎么清理归档 oracle清除归档】关于oracle怎么清理归档和oracle清除归档的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 家里路由器mac怎么修改,路由器修改mac有什么用
- HTML5搭建图片自动轮播代码,自动轮播图片的网页代码
- 微信小游戏黑洞大冒险下载,黑洞大冒险赚钱版
- 场面宏大的单机游戏,有什么好玩的大场面的单机游戏
- c语言函数的调用如何调试 c语言函数调用
- 公众号健康藁城怎么填写,健康聊城微信公众号自己的个人信息填错了怎么改?
- 战争游戏汉化棋牌,战争游戏汉化棋牌怎么玩
- 游戏手机休闲益智玩法,手机休闲益智游戏排行前十
- python迭代函数系统 python迭代运算