解决方法:
1、oracle>cd $ORACLE_HOME/dbs
看sgadef<sid>.dbf 这个文件是否存在 如果存在则删除掉
oracle>rm sgadef<sid>.dbf
2、把oracle的instance shutdown 下来,看oracle的后台进程是否在了,如果在,kill掉,如下:
oracle>ps -ef|grep ora_
oracle>kill -9 process_id
3、看一下共享内存中的orale的内存段及信号段是否存在,如果存在则清除掉
oracle>ipcs -m
如果有oracle的内存段,则清除掉 oracle>ipcrm -m <Shared_Memory_ID_Number>
同时清除信号段
oracle>ipcs -s
oracle>ipcrm -s <Semaphore_ID_Number>
4、如果你这台机器中有多个oracle的database,你需要把所有这些databaes都down下来
并确认$ORACLE_HOME/dbs下没有lk<sid>这个文件.
5、启动实例应该就可以了。
1、oracle>cd $ORACLE_HOME/dbs
看sgadef<sid>.dbf 这个文件是否存在 如果存在则删除掉
oracle>rm sgadef<sid>.dbf
2、把oracle的instance shutdown 下来,看oracle的后台进程是否在了,如果在,kill掉,如下:
oracle>ps -ef|grep ora_
oracle>kill -9 process_id
3、看一下共享内存中的orale的内存段及信号段是否存在,如果存在则清除掉
oracle>ipcs -m
如果有oracle的内存段,则清除掉 oracle>ipcrm -m <Shared_Memory_ID_Number>
同时清除信号段
oracle>ipcs -s
oracle>ipcrm -s <Semaphore_ID_Number>
4、如果你这台机器中有多个oracle的database,你需要把所有这些databaes都down下来
并确认$ORACLE_HOME/dbs下没有lk<sid>这个文件.
5、启动实例应该就可以了。
但如果每次SHUTDOWN后都要这样设置,很烦啊,有没有更好的方法?