今天客户电话报: 数据库宕掉,oracle启不起来!
配置
os: linux 5U2 64位
数据库:oracle 11g 64位 单实例 无归档 无备份
接到事故电话后:
1: 登上系统查看,ps -ef | grep ora_发现有若干oracle进程
2: sqlplus /nolog
conn / as sysdba
等一会报错,说是无法 在/oracle/ora11g/....下创建xxx.aud文件和系统只读
3: 磁盘检查:
cd /oracle
touch xx.txt报系统只读,没法写文件
现在初步判断,确实是/oracle目录挂载的/dev/sdb1分区确实是坏掉了。
故障处理:
怎么办呢,无法用conn / as sysdba登陆数据库,进而也无法去执行shutdown immediate和startup命令了,实在没办法就在操作系统上做了如下操作:
1: kill -9 xxx进程(通常情况下不建议这样做,此操作时有风险的)
2: mkdir /oracle1
3: cp -R /oracle /oracle1
4: mount /dev/sdb2 /oracle1
5: vi /etc/rc.local
mount /dev/sdb2 /oracle1
#mount /dev/sdb1 /oracle
挂载新的路径,屏蔽之前oracle mount信息
6: mv /oracle /oracle2
mv /oracle1 /oracle
7: 登陆: sqlplus /nolog
conn / as sysdba
成功登陆系统
8: startup;
至此,数据库成功启动
由于当时的处理结果没保存下来,所以上面的操作结果无法看到。
总结: 此案例就是在深刻理解oralce启动过程和原理之后,一步步分析和判断原因, 最终解决问题,看来操作很重要,但是原理和运行机制更重要!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16400082/viewspace-761998/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16400082/viewspace-761998/