今天在连接数据库的时候 出现这条错误“ORA-01090: shutdown in progress - connection is not permitted” ,提示数据库已经关闭了,然后我用STARTUP启动,报了以下错误“ORA-01081: cannot start already-running ORACLE - shut it down first ”,弄的我好晕,我试着用shutdown immediate 命令停止数据库但没有成功还是报“ORA-01090: shutdown in progress - connection is not permitted ”后来我查了查资料 这种现象是因为你在CMD下shutdown时没有关闭数据库完成时就把cmd窗口关掉了,造成数据库没有完全停掉,解决办法:
如果在 RAC环境下
oracle1> ps -ef |grep oracle9 |grep _rac1 |grep -v grep |awk '{print "kill -9 "$2}' >mykill
oracle1>. ./mykill
oracle1> ipcs -m
Shared Memory:
T ID KEY MODE OWNER GROUP
m 128 0 --rw-r----- oracle8 dba
m 129 0 --rw-r----- oracle8 dba
m 130 0xe9d0aaa8 --rw-r----- oracle8 dba
m 1027 0 --rw-r----- oracle9 dba
m 1028 0xe0bb589c --rw-r----- oracle9 dba
oracle1> ipcrm -m 1027
oracle1> ipcrm -m 1028
oracle1>. ./mykill
oracle1> ipcs -m
Shared Memory:
T ID KEY MODE OWNER GROUP
m 128 0 --rw-r----- oracle8 dba
m 129 0 --rw-r----- oracle8 dba
m 130 0xe9d0aaa8 --rw-r----- oracle8 dba
m 1027 0 --rw-r----- oracle9 dba
m 1028 0xe0bb589c --rw-r----- oracle9 dba
oracle1> ipcrm -m 1027
oracle1> ipcrm -m 1028
就能解决,但我的系统没有做RAC
所以我用了shutdown abort+startup 或者startup force,就搞定了