前些日子,LM群一网友求助说,他重起系统后发现井工区掉了,问如何解决。(用命令 uname -a 查看,他的Landmark2003的运行平台是Solaris SPARC。) 我第一时间想到的可能是装有工区数据库的盘没挂上(以前单位的一台Sun工作站重起系统后常出现掉盘现象),让他用df -k 和space命令,经查盘都挂上了。 (如果盘没挂上,在重起系统时一般会显示有问题盘的信息,这时可记下是哪个盘,然后进单用户(如果已进LM用户,可切换到超级用户,用命令shutdown -y -g0 -is,进入单用户),然后用fsck -y /dev/rdsk/cxtxdxsx,修复文件系统(为保险起见,先df -k,umount要修复的盘)。通常,一般的掉盘现象通过fsck都可解决问题。) 有时即使盘没掉,用fsck也能修复一些文件系统错误。经如上操作后,他的井列表仍未出来。于是用命令热起动oracle: su - oracle
dbstart 点开OpenWorks的logo,发现原来的几个红色勾选变绿了,只剩下oracle是红的。接着: lsnrctl start 提示:无法写log文件,设备空间不足。 因当时用的是QQ临时会话,没有找回当时的报错截图。当井工区表空间不足时也会报错,但通常是无法往数据库中写入文件。如以前遇到的无法往数据库写合成记录文件等。所以当打开自动扩展表空间功能,重起系统后仍然无效。 于是赶紧让他查看var分区,果然,空间已满。这时,他从/var目录里移出一个文件,重起系统,井工区列表出来了,问题解决了。(如果事先留心一下各盘空间使用情况,会很快发现问题所在,而少走弯路。) 注:
安装系统时,如果把var单独分区的话,建议保证有足够的空间(至于如何扩展空间,可到网上查找相关方法)。百度了一下,得知var下的这些内容可以删除: 1、/var下mail目录内容
2、/var下crash目录内容
3、/var下adm 目录中的messages
4、/var/log内容
5、/var/adm/wtmpx,如果没有审计的需求,此类文件也可清空。 通常用以下方法删除(而不是直接用rm删): # cat /dev/null > logfile (经典)
# echo "" > logfile (常用)
# cat /dev/null >; /var/adm/wtmpx #ksh
#>;wtempx 使用 du -sk * 命令查看那些目录比较大。 总之,当出现问题时,能快速判断问题原因是最重要的。出问题不要怕,解决之,总结经验就是了。 [ 此帖被山定子在2010-09-15 08:13重新编辑 ]