ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist的解决办法

我的电脑上安装的是oracle 12C的版本。

出问题的原因:电脑搬回宿舍以后连过校园网,再搬回实验室上课连上实验室的网络就提示我连接不上了。

首先在sql developer中连接时提示我监听服务有问题。重建,修改监听服务及监听文件以后(注意,到这里为止监听服务那边的问题处理完毕),就开始报错:

ORA-01034: ORACLE not available

ORA-27101: shared memory realm does not exist

这里我搜了很多解决办法,大多数都是说,在sqlplus下使用conn /as sysdba连接之后再启动数据库就好了。但是!我的就是连不上!一度十分绝望!

搜索词换了大概百十来遍,终于找到下面这篇,但里面写的其实没有完全解决我的问题,不过也是从这里受到了启发(感谢大佬!):

https://blog.csdn.net/zhangzl1012/article/details/50823034

首先我当初建库的时候使用的是DBCA建库,自动生成的pfile文件,它的文件名很奇怪,是init.ora.(后面一大串数字)。受上面的博客启发,我把文件后缀那一长串数字去掉把spfile移走到桌面

然后再尝试连接conn /as sysdba,提示成功连接到空闲历程。接下来我使用

startup pfile="D:\app\ABC\product\12.1.0\dbhome_1\database\init.ora"

命令打开数据库时仍然报错,提示说找不到监听服务“LINTENER_FORUM0”,虽然我的数据库实例名的确是forum0,但是我的监听服务名并不是这个名字,然后我在老师(自己的任课老师)的提示下查看了init.ora,发现里面有指定了监听服务名的语句,于是直接删掉,再保存。重新使用pfile文件打开数据库,成功了!

这里我没有从pfile重新生成spfile文件,因此每次启动数据库时,都需要通过sqlplus来启动。

问题到此为止完美解决,激动的我没有开始写实验,而是写了篇博客!我觉得需要分享出来!

也不想写总结了,只想感谢上面那篇博文的大佬,以及我的老师!非常感谢!

你可能感兴趣的:(oracle)