Oracle报错ORA-01034、ORA-27101、ORA-00119、ORA-00132解决

时间:2024-04-07 16:48:04

这里记录我解决ORA-01034:ORACLE not availableORA-27101:shared memory realm does not exist这两个问题的过程以及在该过程中我碰到的新问题,服务已经打开的。

Oracle版本是11g。

问题描述:InstantClient安装好以后能够访问远程数据库,这里我只配置了tnsnames.ora文件,然后在本机安装好Oracle后连接报错,报错信息如下:

Oracle报错ORA-01034、ORA-27101、ORA-00119、ORA-00132解决

大致意思就是Oracle不可用,共享内存不存在。 个人理解就是Oracle实例没启动起来。

百度解决方案是先登陆sqlplus /nolog,再conn /as sysdba连接到Oracle实例,接着执行startup命令启动Oracle实例,如下。

Oracle报错ORA-01034、ORA-27101、ORA-00119、ORA-00132解决

当我执行完conn /as sysdba后,显示以连接到空闲例程,一般执行该命令之后应显示的是“已连接”。百度该问题依旧是实例没启动的原因,解决方案依旧是执行startup命令或指定pfile启动,执行之后又有新问题了,如下。

Oracle报错ORA-01034、ORA-27101、ORA-00119、ORA-00132解决

报错内容:

ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENER_ORCL'

报错内容提示:系统参数LOCAL_LISTENER无效,语法错误或未解析的网络名称LISTENER_ORCL

这里的错误网上依旧能百度到解决方案,当然我试了,是可行的。

一种是修改%ORACLEL_HOME%\admin\orcl\pfile目录下的init.ora.1232019205721文件,将其中local_listener的值由原来的LISTENER_ORCL替换成tnsnames.ora中的ADDRESS_LIST

Oracle报错ORA-01034、ORA-27101、ORA-00119、ORA-00132解决

local_listener原始值:

Oracle报错ORA-01034、ORA-27101、ORA-00119、ORA-00132解决

替换后:

Oracle报错ORA-01034、ORA-27101、ORA-00119、ORA-00132解决

替换后在cmd中重新执行刚刚的startup命令,可以看到ORACLE实例已启动,在使用plsql连接也能连接上。

Oracle报错ORA-01034、ORA-27101、ORA-00119、ORA-00132解决

当然这种方式有个缺点,就是每次重新开机都需要执行一遍,麻烦。当然还有其他解决方案,不一一说了,反正相对于都是比较麻烦的。我这里记录另一种方法,简单方便,至少我在百度该问题解决方案时还没看到过我记录的这种方法,也是偶然看我在公司配置的tnsnames.ora文件发现的。

这里注意了,圈起来要考的。

=============================华丽的分割线============================

我把刚刚的改动还原,然后重新开机,用plsql重新连接ORACLE,肯定又是报错。

Oracle报错ORA-01034、ORA-27101、ORA-00119、ORA-00132解决

上面讲了执行startup的时候报错:系统参数LOCAL_LISTENER无效,语法错误或未解析的网络名称LISTENER_ORCL

也就是这里配置的LISTENER_ORCL出了问题,或者说是少了这个配置。那这个配置在哪呢,我看了一眼我在公司的配置,是在tnsnames.ora文件里。

Oracle报错ORA-01034、ORA-27101、ORA-00119、ORA-00132解决

那在tnsnames.ora中来把这个配置加上,如下。

Oracle报错ORA-01034、ORA-27101、ORA-00119、ORA-00132解决

%ORACLEL_HOME%\admin\orcl\pfile目录下的init.ora.1232019205721文件中的修改记得还原。

然后再按上面的流程来一遍,可以看到,没有报错,很顺利的成功了,也不用指定pfile启动,重新开机也不用再执行一遍。

Oracle报错ORA-01034、ORA-27101、ORA-00119、ORA-00132解决

为了把下面引出来,上面说的有点多了感觉,哈哈哈。

不过问题是顺利解决了。

最近工作比较忙,所以SpringBoot的更新停下来了...忙完这阵子会继续更新的

传送门:SpringBoot从入门到放弃