场景
Navicat连接远程oracle数据库,数据库搭建在Redhat 7.1服务器上,莫名出现这个问题。
解决办法
- 检查监听状态
- 无监听,则查看监听文件
查看监听状态lsnrctl status
如果有监听,则如下图,显示有服务orcl(服务名)监听。
如果没有监听,查看监听文件
cd /opt/oracle/product/oraHome/network/admin
tnsnames.ora:用于客户端,提示客户端从哪个监听实例连接。
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = node75)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
listener.ora:用于服务端,用于提示服务端监听哪些实例。
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST =node75)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /opt/oracle
其中HOST为当前主机名,之前将主机名更改,忘记(其实就是不知道)修改oracle监听的主机名。
开启oracle
配置完成,开启oracle
lsnrctl start #开启监听
dbstart # 启动用户实例