WINDOWS环境下,
查看Oracle的各项服务都正常,
但是SQL窗口启动ORACLE报错ora-00119和ora-00132,如何解决:
一、问题描述
1、ORACLE服务全部打开,没有报错;
2、plsql登陆报ora-12505错;
3、监听lsnrctl status异常;
二、分析过程
1、根据之前lsnrctl status异常情况,了解到未监听到用户数据库服务实例;
2、尝试sqlplus / as sysdba登陆,可正常登陆;
3、尝试登陆状态startup,报如下错误:
4、发现在tnsname.ora里竟然存在语法错误,找不到关于LISTENER_ORCL的定义。
三、解决问题
1、找到数据库安装目录下的tnsname.ora文件,找到里面的用户数据库实例配置,发现这里我自定义的数据库描述名称为"ORCL",与刚刚错误反馈中提示的“LISTENER_ORCL”不一致。
2、打开修改Oracle安装目录下的 D:\app\XXX\admin\orcl\pfile 下的 init.ora.10142019123123 文件,找到local_listener的配置项果然是LISTENER_ORCL,这样的话系统在加载init.ora文件后根据配置项是找不到local_listener的address_list值的。
这里将LISTENER_ORCL修改成刚刚在tnsname.ora中查到的数据库描述名称ORCL。
3、修改完后,不需要重启数据库服务,直接在cmd里通过sqlplus / as sysdba登陆,
输入startup pfile=‘E:\app\XXX\admin\orcl\pfile\init.ora.1072015144527’,回车,搞定。(文件路径要是自己的路径)
4、或者网友们还有另外一种更稳定的方法,防止后续手贱又改错了报错。即修改Oracle安装目录下的 D:\app\XXX\admin\orcl\pfile 下的 init.ora.10142019123123 文件,找到 如下部分:将“LISTENER_ORCL”替换为listener.ora中监听器配置里的“(ADDRESS = (PROTOCOL = TCP)(HOST = YQ-PC)(PORT = 1521))”字段,具体就不上图示了,注意需要双引号。