ORA-01034:Oracle not available
问题描述:ora-01034常与ora-27101同时出现,都是在登录数据库的时候报该错误
错误原因:出现ORA-01034和ORA-27101的原因是多方面的:主要是oracle当前的服务不可用,shared memory realm does not exist,是因为Oracle没有启动或者没有正常启动,共享内存并没有分配给当前实例。所以,通过设置实例名,再用操作系统身份验证的方式,启动数据库。这样数据库就正常启动了。还有就是可能登录数据库后,不正常的退出,比如直接关掉窗口,而这时数据库里有未完成的动作,再次登录时就会提示“insufficient privilege”的报错,SQL>shutdown immediate; SQL>startup;就恢复正常了。最后如果是虚拟机环境,看下数据库的配置文件是否对应了512M内存,还是你设置大了但本身给的不足。
解决方法:
1:先看Oracle的监听和Oracle的服务是否都启动了。启动Oracle监听:cmd命令行窗口下,输入lsnrctl start,回车即启动监听。
2:查看Oracle的sid叫什么,比如创建数据库的时候,实例名叫“orcl”,那么先手工设置一下Oracle的sid,cmd命令窗口中,set ORACLE_SID=orcl
3:再输入sqlplus /nolog;回车
再输入conn/ as sysdba;回车
4:再输入startup,回车。这步是启动Oracle服务。如果startup启动被告知已经启动了,可以先输入shutdown immediate;等shutdown结束之后,再输入startup。
5:过几秒钟等命令运行完成,就能连接了。这个时候,可以输入“select * from user_tables;”测试一下,看是否有查询结果。