使用RMAN方式定期清理oracle日志
来源:互联网 发布:手机扫描编辑软件 编辑:程序博客网 时间:2024/05/18 03:58
本文转载自:http://blog.csdn.net/leshami/article/details/9308287
在开发环境及UAT环境经常碰到需要清除归档日志的情形,对于这个问题方法有很多。可以直接使用rm方式清除归档日志,也可以使用find命令来查找符合条件的记录来清除归档日志,或者直接写个shell脚本来搞定。这样在DEV或者UAT还可以,但是在Prod环境还是建议使用RMAN提供的命令来搞定比较妥当。因为rm,find方式删除了实际的归档日志也释放了空间,但对应的存储在控制文件中的归档信息并没有彻底清除。依旧占用着一些空间未能及时清除而需要控制文件通过age out方式来释放空间。本文描述了使用RMAN方式来清除归档日志,同时也可以将其部署到shell脚本中使用。
1、清除归档日志的方式
a、手动删除
使用rm 或者find方式来删除,通过该方式删除之后,在RMAN下可以通过 crosscheck archivelog all 校验归档是否失效,如下面的操作:
rm -rf arch_816906485_1_10.arc
find /u02/database/GOBO1/archive/ -ctime +0 -delete
RMAN> crosscheck archivelog all
b、使用RMAN方式清除
RMAN清除方式会自动清除磁盘上的归档日志文件,同时会释放控制文件中对应的归档日志的归档信息。
可以基于不同的条件来清除归档日志,如基于SCN,基于SEQUENCE,基于TIME等方式。
对于上述的三种方式又可以配合from, until, between .. and .. 等等子句来限定范围,方式灵活多变。
下面的命令用于校验归档日志的有效性,列出无效的归档日志,以及以何种方式清除归档日志,列出几种常用的:
首先:
su - oracle
rman
RMAN>connect tartget sys/root
RMAN> crosscheck archivelog all; --->校验日志的可用性
RMAN> list expired archivelog all; --->列出所有失效的归档日志
RMAN> delete archivelog until sequence 16; --->删除log sequence为16及16之前的所有归档日志
RMAN> delete archivelog all completed before 'sysdate-7'; --->删除系统时间7天以前的归档日志,不会删除闪回区有效的归档日志
RMAN>delete archivelog all completed before 'sysdate - 1'; --->同上,1天以前的
RMAN>delete archivelog from time 'sysdate-1'; --->注意这个命令,删除系统时间1天以内到现在的归档日志
RMAN>delete noprompt archivelog all completed before 'sysdate'; --->该命令清除所有的归档日志
RMAN>delete noprompt archivelog all; --->同上一命令
RMAN>host; --退出RMAN;
退出rman命令后,使用df -lh命令查看日志空间已经增大了:
[oracle@hensheng trace]$ df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_hengshegn-rootlv
15G 13G 1.1G 93% /
tmpfs 1.9G 521M 1.4G 28% /dev/shm
/dev/sda1 194M 27M 158M 15% /boot
/dev/mapper/vg_hengshegn-LogVol01
4.9G 138M 4.5G 3% /tmp
/dev/mapper/vg_hengshegn-mqmlv
5.0G 1.2G 3.6G 25% /var/mqm
/dev/mapper/vg_hengshegn-oraclelv
20G 17G 2.6G 87% /oracle
/dev/mapper/vg_hengshegn-oradatalv
20G 11G 7.8G 59% /oradata
2、演练使用RMAN清除归档日志
3、清除归档日志简单的shell脚本
4、小结
a、归档日志清除的方法最好是在RMAN方式下完成,这样子是最彻底的清除方式
b、对于生产环境应考虑在RMAN备份的时候清除归档日志,如backup archivelog all时使用delete input与delete all input清除归档日志
c、如果备份期间不清除归档日志则arch会很大,造成归档磁盘满而导致归档失败。建议还是删除或考虑存放到闪回区
d、如果清除大部分又想保留最近的,则使用delete noprompt archivelog all completed before 'sysdate - n'方式
e、详细的清除归档日志语法: http://docs.oracle.com/cd/B19306_01/backup.102/b14194/rcmsynta008.htm#RCMRF106
- 使用RMAN方式定期清理oracle日志
- 定期清理oracle审计日志
- Oracle监听日志定期清理
- oracle日志定期清理存储过程
- Oracle rman 自动清理归档日志
- logrotate定期清理日志
- 定期日志清理脚本
- 定期清理服务器日志
- crontab+rman定期删除Oracle测试库的归档日志
- Linux服务器运维:使用Crontab定期清理tomcat日志
- rman清理归档日志
- rman清理归档日志
- 定期清理sql2005事务日志
- Linux 定期清理日志脚本
- SQL Server2008定期清理日志
- 服务器定期清理日志文件
- ORACLE定期清理INACTIVE会话
- ORACLE 定期清理INACTIVE会话
- java synchronized详解
- leetcode 225. Implement Stack using Queues 双队列实现栈
- 数组、链表、堆栈和队列学习
- jQuery 显示隐藏
- pytorch实践中module 'torch' has no attribute 'form_numpy'问题的解决
- 使用RMAN方式定期清理oracle日志
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 L. The Heaviest Non-decreasing Subsequence Problem(最长非减子序列+思路)
- c#对时间的处理(待添加)
- eclise 部署web工程报 There are no resources that can be added or removed from the server. 解决办法
- 存储管理方法详解
- 【数据库设计】概念设计-数据库ER图基础概念
- RxJava+RxAndroid+OKHTTP实现get post 以及下载图片功能
- Frequent Subsets Problem 进制运算 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛
- 暗通道去雾算法 python实现