今天查看周末跑的WPST结果,发现一堆ERROR,查看JBOSS的log,发现是db连接异常。登到DB节点一看,果然ORACLE挂了。
su - oracle
> cd $ORACLE_BASE/dialog/asm/
> vi **_log.xml
看了下log内容,发现是磁盘空间不够。
df -h 一下
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 20G 0 100% /
udev 32G 320K 32G 1% /dev
tmpfs 32G 0 32G 0% /dev/shm
/dev/sda1 1012M 52M 909M 6% /boot
/dev/mapper/bmsc_vg-home_lv 20G 173M 19G 1% /home
/dev/mapper/bmsc_vg-opt_lv 50G 5.7G 42G 13% /opt
/dev/mapper/bmsc_vg-var_lv 20G 234M 19G 2% /var
/dev/mapper/bmsc_vg-varlog_lv 124G 208M 117G 1% /var/log
/dev/mapper/bmsc_vg-vartmp_lv 19G 173M 18G 1% /var/tmp
/dev/mapper/bmsc_vg-tmp_lv 20G 175M 19G 1% /tmp
tmpfs 4.0K 0 4.0K 0% /dev/vx
再看下根目录具体东西:
$du -sh *
看到/dev/sda2使用率100%……这里发现两个问题:
1. 根目录满了!
2. 原来/bmsccontents/目录挂在根目录下,而根目录直接就是/dev/sda2,与OS共用一个分区……擦……
清楚bmsccontents/content/内的文件后,回到了72%,可以启动oracle了。但是oracle alert trace肯定爆大……
用如下方法删除其他(只保留近24小时的):
$su - oracle
$adrci
adrci>show home
ADR Homes:
diag/tnslsnr/mdf-db1/listener
diag/rdbms/bmsc/bmsc
adrci>set homepath diag/rdbms/bmsc/bmsc
adrci>PURGE -age 1440 -type ALERT
查看$ORACLE_BASE/diag/rdbms/bmsc/bmsc/trace下,其他的trace被删了,但是alert_bmsc.log依然爆大无比。好吧,我不是DBA,而且这只是测试,删吧:
$cat /dev/null > alert_bmsc.log
顺带贴一个查看大文件的语句:
find . -type f -size +1000000k
最后,既然根目录磁盘空间不够大,干脆直接在/var/log下建立/bmsccontents/目录,然后软连接到/bmsccontents/去
$cp -r /bmsccontents /var/log/
$rm -r /bmsccontents/
$chmod -R ....
$chown -R ...
$ln -s /var/log/bmsccontents/ /bmsccontents/
这里省略了更改拷过去的文件权限和所有者