由于Linux磁盘爆满,虽然Oracle的监听与服务可以正常启动,但是项目却无法正常访问,所以需要清理Linux磁盘中的大文件,一般都是清理日志文件。
1、查看磁盘占用率:df -hl
Linux在每个分区中会为root用户保留一部份空间,这是专门留给root用户及其所属组使用,别的用户是无法使用的,一般默认为总数据块的5%。
2、查看大文件
find / -xdev -size +100M -exec ls -l {} \
find . -type f -size +800M
find . -type f -size +800M -print0 | xargs -0 ls -l(详细信息)
find . -type f -size +800M -print0 | xargs -0 du -h(具体大小)
find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr(大小排序)
du -sh *
du -h --max-depth=1 快速定位大文件
查看过后,想知道查出的文件目录下有哪些大文件,可以将max-depth=2;
du -h --max-depth=2 | sort -n
3、删除大文件
4、清空回收站
回收站目录:./local/share/Trash
5、清空大文件(不删除)
> test.txt
如果发现日志比较大,可以选择关闭Oracle的监听日志。
1、查看当前监听的日志路径:lsnrctl status
2、到listener里面,查看对应的log_file和log_status
lsnrctl
show log_file
show log_status
可以看到log_status状态为OFF,OFF即是关闭监听日志;
3、关闭监听日志:set log_status off
4、启动监听日志:set log_status on
5、保存配置:save_config
关闭之后,可以清除一下之前的日志:
排查该分区中的大文件/目录,发现/home/database/oracle/diag/tnslsnr目录占用空间较大。该目录下存放了监听器alert日志和trace日志。