ora-00119和ora-00132 问题解决

服务正常情况下的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))”字段,具体就不上图示了,注意需要双引号。

注:以上方法有可能电脑重启后还是有问题,还可尝试登陆sqlplus后,执行以下命令:
create spfile from pfile = ‘E:\app\XXX\admin\orcl\pfile\init.ora.1072015144527’;
将我们刚刚更改的初始化文件映射到spfile文件中。

PS:这里可以看到之前startup报错提示找不到的LISTENER_ORCL是在这里设置的,只要保持与tnsname.ora中用户数据库实例描述名称和init.ora里的local_listener配置的值保持一致即可,(当然PLSQL和客户端中的tnsname.ora可以随便设置服务描述名,只要service_name和服务端的保持一致就行)。
PS2:后来我在测试过程中发现如果我把tnsname.ora中用户数据库实例描述名称和init.ora里的local_listener配置的值都设置成LISTENER_ORCL后,虽然两者的值一致了,但是死活还是报找不到LISTENER_ORCL的错误,难道这个名称不能用?求大牛网友解惑。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值