暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle中大量无用小文件可能带来的问题及解决方法

原创 罗海雄 2019-05-22
1742

近期在升级迁移几个项目中碰到由于Oracle或者grid软件目录下存在大量小文件导致升级和迁移过程缓慢的情况。

为了避免这种情况,请大家在进行升级迁移前,先进行文件个数的检查:

ls -aR /u01 2>/dev/null | awk '/\:$/{if(fileCount>999){print fileCount,dirName};dirName=substr($0,1,length($0)-1);fileCount=-2}{fileCount++}'

1265 /u01/app/oracle/Middleware/rcuHome/rdbms/admin
2456 /u01/app/oracle/Middleware/user_projects/domains/base_domain/ucm/cs/data/contenttracker/data
1076 /u01/app/oracle/Middleware/user_projects/domains/base_domain/ucm/cs/search/bulkload/~vault
84402 /u01/app/oracle/admin/DG/adump
1499 /u01/app/oracle/admin/DODB/adump


以上命令可以帮你找出/u01目录下超过1000个文件的子目录。

其中 /u01/app/oracle/admin/BXDG/adump 下有84402个文件,显然多得有点离谱。

在确认目录底下的文件是无用文件后,可以根据一定规则进行删除

[root@docs ~]# cd /u01/app/oracle/admin/DG/adump
[root@docs adump]# ls | more
DG_ora_10000_20160711162034305012143795.aud
DG_ora_10000_20160721142137539646143795.aud
DG_ora_10000_20160723030212169610143795.aud
DG_ora_10001_20160714042348098941143795.aud
DG_ora_10001_20160721020640791406143795.aud
DG_ora_10002_20160709054844176924143795.aud
DG_ora_10002_20160714163931494740143795.aud
DG_ora_10002_20160718124212430078143795.aud
DG_ora_10002_20160724033007335028143795.aud
DG_ora_10003_20160720134948829463143795.aud
DG_ora_10003_20160722144920712432143795.aud
DG_ora_10004_20160718014337507568143795.aud


比如说,这个目录下面,都是 *.aud文件,是以sysdba登录后产生的文件,一定时间以前的,其实已经没有参考价值,因此,可以以时间及扩展名为条件进行删除:

find /u01/app/oracle/admin/DG/adump -name "*.aud" -mtime +30 -exec rm {} \;

以上命令可以删除/u01/app/oracle/admin/DG/adump目录下,修改时间(mtime)超过30天(+30), 名字为"*.aud"的文件。


运行完毕后,文件量会大幅下降。

由于删除的时候文件过多会耗很多时间,因此建议这个检查和数据删除在进行升级/迁移的准备过程中事先完成,而不是等待正式升级/迁移时才做。


其实,除了升级迁移前,对于维保人员,平时也可以进行定期的检查和清理(确认文件无用的情况下

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论