100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > oracle ---sqlplus连接数据库时候 总是提示监听查找不到对应的服务名

oracle ---sqlplus连接数据库时候 总是提示监听查找不到对应的服务名

时间:2021-11-05 20:28:55

相关推荐

oracle ---sqlplus连接数据库时候 总是提示监听查找不到对应的服务名

之前用cyberark 连接到数据库时候,总是提示监听查找不到对应的服务名。

进入服务器:

lsnrctl status 查看到的确没有对应的服务名,于是按照监听状态给出的监听文件目录,

进入监听文件目录

cd $ORACLE_HOME/network/admin

编辑监听文件:

vi listener.ora

sid_ list_orcl=

(sid_list =

(sid_des=

(global_dbname=orcl)

(sid_name=orcl)

(sid_des=

(global_dbname=test)

(sid_name=test)

)

===如果要监听多个实例,就在下面添加一个 sid_list 即可。

此时完成vi,:wq退出监听文件的编辑保存后,发现连接仍然提示监听搜索不到服务名。

于是怀疑监听是不是要重启,这个时候有两个选择:

1、lsnrctl stop—start(不会影响现有连接,但是新的连接会连不上)

2、lsnrctl reload(不影响任何连接,无论新老)

尝试这个办法后,发现还是连不上,网上搜索后发现监听采用的是动态监听。

service “cpom01” has 2 instances.

instance “cwip01”,status unknown,has 1 handlers for this server.

instance “cwipi01”,status ready, has 1 handers for this server.

监听文件中一旦一个服务对应两个实例的都是说明采用了动态监听,一个动态,一个静态,合并了。

那么对于动态监听,重启监听的方式就不是 lsnrctl reload了。

而是需要进入数据库:

alter system registor.

当然不运行上面这行命令也是可以的,只是要等一分钟,让PMON进程将数据库信息注册到监听。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。