快到中午时,收到同事的信息,一个项目的数据库服务器空间快满了,我立即打开crt连上去察看。
[root@wmsdb ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 99G 41G 53G 44% /
tmpfs 16G 740K 16G 1% /dev/shm
/dev/mapper/VolGroup01-LogVol00
1008G 939G 19G 99% /mydata
[root@wmsdb ~]# su - oracle
[oracle@wmsdb ~]$ ps -ef|grep smon
oracle 3125 1 0 Jan21 ? 00:16:48 ora_smon_SSDRP
oracle 4522 4498 0 11:14 pts/1 00:00:00 grep smon
数据库使用的目录空间已使用99%了,可用空间19G,还好没到100%。
这个服务器是去年安装的,已配置了rman备份脚本。这种情况先想到了是不是归档日志占用了空间。
[oracle@wmsdb arch]$ ls -l |wc -l
1184
果然归档日志文件都没有删除。看了一下最近的备份集是4月28日的,定时任务是每天凌晨2点执行备份,也就是说4月29日就没有备份了,
其它的不用看了,直接看定时任务的日志/var/log/cron
Apr 28 02:00:01 wmsdb CROND[24513]: (oracle) CMD (/mydata/backup/scripts/rman.sh >>/mydata/backup/scripts/rmanlog.log)
Apr 28 02:00:01 wmsdb CROND[24514]: (root) CMD (/usr/lib64/sa/sa1 1 1)
此处省略。。。。。。
Apr 28 12:01:01 wmsdb run-parts(/etc/cron.hourly)[5559]: starting 0anacron
Apr 28 12:01:01 wmsdb run-parts(/etc/cron.hourly)[5568]: finished 0anacron
Apr 28 12:10:01 wmsdb CROND[5619]: (root) CMD (/usr/lib64/sa/sa1 1 1)
May 21 11:16:09 wmsdb crontab[4553]: (root) LIST (root)
May 21 11:28:25 wmsdb crontab[4681]: (root) LIST (root)
May 21 11:28:30 wmsdb crontab[4706]: (oracle) LIST (oracle)
May 21 11:30:44 wmsdb crontab[4733]: (oracle) LIST (oracle)
可以看到日志从28日12点直接跳到21日的11点,中间这段时间什么都没有。
[root@wmsdb ~]# service crond status
crond dead but pid file exists
[root@wmsdb ~]# service crond restart
Starting crond: [ OK ]
[root@wmsdb ~]# service crond status
crond (pid 4927) is running...
看到crondtab服务的状态,果然是死了,重启一下。
删除归档日志,释放空间
rman target /
delete archivelog all completed before 'sysdate-2';
完成后做了一个全备。