1. 问题的产生
这个问题无比奇怪,因为半个月前安装oracle的时候,当场就能使用navicate连接远程的数据库。但是昨天晚上突然就连不上了。一直提示说没有监听,但是我在Centos上可以启动监听,并且连接sqlpus,查看用户修改密码都没有问题。
2. 问题的思考
我在虚拟机本机tcping 127.0.0.1 1521
,端口是open的。但是,从本地主机tcping 192.168.111.133 1521
,端口是关闭的。192.168.111.133
为虚拟机ip.
所以我感觉还是centos上的监听出了问题。
2.1 关于oci.dll文件的问题
当问题解决之后
,我尝试更换navicate指向的oci.dll文件,由于oci.dll均为相对高级的版本,所以本次错误不是由oci.dll文件引起的。
2.2 关于HOST值的问题
因为navicate启动起来了,HOST的值我就没有修改回原来的hostname,复查原因…
3. 问题的解决
今天早上接着百度方法,主要在监听文件
和启动监听程序
两个方面进行修正。然后navicate恢复正常。
3.1 监听文件的修改
将两个文件HOST的值由localhost
更改为本机ip192.168.111.133
listener.ora
# listener.ora Network Configuration File: /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.111.133)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
tnsnames.ora
# tnsnames.ora Network Configuration File: /opt/oracle/product/19c/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCLCDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.133)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLCDB)
)
)
LISTENER_ORCLCDB =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.133)(PORT = 1521))
3.2 启动监听程序 – 严格按照流程
3.2.1 linux关机注销重启重开,再按照后面的流程启动监听
3.2.2 先启动监听程序 在启动实例
# 切换用户
su - oracle
# oracle 用户下
lsnrctl status
# 查看oracle监听状态
lsnrctl start
# 启动监听服务
sqlplus /nolog
# 启动sql窗口
conn / as sysdba
# 以SYS用户登录
startup
# 启动数据库实例
exit
# 退出数据库sql窗口
3.3 navicate连接
文章来源:https://www.toymoban.com/news/detail-768083.html
4. tcping 1521端口 - 成功
文章来源地址https://www.toymoban.com/news/detail-768083.html
到了这里,关于Navicate远程连接Centos-Oracle19c:ORA-12541: TNS: no listener 无监听错误 - tcping 1521端口关闭的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!