Navicat Premium连接oracle出现错误:ORA-12541: TNS:无监听程序错误

使用Navicat Premium连接安装在ubantu16.04上的oracle数据库时,出现如下错误:

                                                        Navicat Premium连接oracle出现错误:ORA-12541: TNS:无监听程序错误_第1张图片

之前使用Navicat Premium连接windows平台下的oracle数据库时,也出现过这个错误,网上查了下解决办法如下:

第一步:

1、在oracle安装目录下查找listener.ora和tnsnames.ora这两个文件,然后用记事本打开。

在我的电脑上,windows平台下这两个配置文件的路径如下:                              D:\ProfessionalSoftware\Oracle11g\product\11.2.0\dbhome_1\NETWORK\ADMIN

在ubantu中,这两个配置文件的路径如下:

/home/cjh/tools/oracle11g/product/11.2.0/dbhome_1/network/admin

2、将HOST改为机器名(即计算机名),127.0.0.1.都试一下,哪个能用用哪一个。

在ubantu下,主机名可以执行hostname命令得到:

然后更改两个配置文件:

Navicat Premium连接oracle出现错误:ORA-12541: TNS:无监听程序错误_第2张图片

Navicat Premium连接oracle出现错误:ORA-12541: TNS:无监听程序错误_第3张图片

在windows更改操作和ubantu差不多。

3、在当前文件夹下的命令窗口,执行命令:lsnrctl stop,再执行lsnrctl start。

这一步是重新启动监听服务,在windows下也可以在服务程序里面重启oracle的监听服务。

Navicat Premium连接oracle出现错误:ORA-12541: TNS:无监听程序错误_第4张图片

图中标绿的是监听服务。

看下能否解决,能的话就不用进行下一步了。

第二步:

可能是navicat自带的oci.dll库不行,选择工具中的选项,然后点击其他,修改oci library的地址,制定oci的地址为Oracle数据库中的oci.dll。

步骤如下:

Navicat Premium连接oracle出现错误:ORA-12541: TNS:无监听程序错误_第5张图片

Navicat Premium连接oracle出现错误:ORA-12541: TNS:无监听程序错误_第6张图片

我的电脑上oracle的oci.dll文件路径如下:D:\ProfessionalSoftware\Oracle11g\product\11.2.0\dbhome_1\BIN\oci.dll

(这里我是将Navicat Premium的oci.dll文件覆盖了)

上图中的SQL*Plus选择的是oracle下的sqlplus.exe,在使用命令行的时候会调用。在我的电脑上的路径为:D:\ProfessionalSoftware\Oracle11g\product\11.2.0\dbhome_1\BIN

 

最后,说一linux上的oracle命令用来查阅Oracle数据库系统上的用户和创建时间,方便我们在Navicat Premium上创建连接。
select username,created from dba_users;
select username, DEFAULT_TABLESPACE from dba_users;

Navicat Premium连接oracle出现错误:ORA-12541: TNS:无监听程序错误_第7张图片

Navicat Premium连接oracle出现错误:ORA-12541: TNS:无监听程序错误_第8张图片

你可能感兴趣的:(数据库)