准备给客户做一个数据库升级,aix5L平台上的9201升级到9206,这种事情做得也多了,本来没觉得会遇到什么问题,结果还是遇到了,幸好,问题不大。
客户的数据库不大,不过比较特别的是,这一台主机上运行着多个数据库,所以升级之前需要先关闭所有的数据库。于是以正常的方式shutdown了所有的数据库,然后准备好升级的文件包并且准备好所有的目录。
根据建议,打算重起一下主机,以确保彻底释放资源占用。按照我平时的习惯,直接reboot主机。
等了一会,估摸着主机起来了,连接上去,果然已经成功启动,这就打算动手升级数据库了,就在这时,su - Oracle 报错了,说找不到oracle用户的主目录。奇怪啊,怎么会找不到呢,察看了一下,果然没看到那个目录,使用df -k根本没看到放那个目录的盘区,怎么回事?
想了一下,会不会是没有mount这个盘,用mount命令看了一下,果然没有mount上,难道是必须手动mount吗?问客户,客户说应该是可以自动mount的,看来还是有问题,不管怎样,先手动mount吧,结果在挂载存储的时候报错了,说该存储的superblock出现异常,需要修复。
还好问题不严重,用fsck对坏块进行校验修复,问题解决,存储可以mount上了。
以前习惯性的用reboot重起,是因为过去处理过大量saloris和linux系统的数据库,这种os上是可以直接reboot的,但是在aix上,reboot的执行方式不太一样,在aix系统中reboot并不等于shutdown+startup,而是等于shutdown abort+startup,也就是说,reboot这种方式在关闭主机的时候,并没有完整的将缓存中的数据写入磁盘,因此在启动主机后,有些存储上会出现逻辑块故障或者不完整的os块,如果出现故障的块是superblock,还可能造成无法挂载存储的情况。
正确重起主机的方法应该是shutdown -Fr,其他的相关命令如下:
# shutdown -m +5 系统五分钟后关闭至单一使用者模式
# shutdown -r 关机后重新开机
# shutdown now 立即关机
# shutdown -k 放弃关机
如果os上没有重要数据,而需要快速重起,那么是可以选择reboot的。