使用navicat连接oracle数据库遇到问题及解决方法

在服务器上安装好oracle之后,在公司要求研究数据迁移,一直看命令行不太舒服,就想着用自己电脑上的navicat连接上服务器上的Oracle,结果遇到了一些问题,现在记录下来,方便查阅,也供大家参考。

1.ORA-12541:TNS :no listener

解决方法:​开启监听 :​lsnrctl start​ (stop/status) --​开启,关闭,查看状态

(​温馨提示:使用sqlplus / as sysdba 进入oracle数据库时,会提示你输入用户名和密码,可能是因为你没有切换到oracle用户​)

使用navicat连接oracle数据库遇到问题及解决方法_oracle

2.ORA-12514:TNS:listener does not currently know of service requested in connect descriptor

1.查看你的tnsnames.ora文件(放在你的oracle安装目录里,比如我的是 ​/ora/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora​,如果实在不想打的话,使用​find / -name tnsnames.ora​也可以找到)以及服务名是否能对应上

使用navicat连接oracle数据库遇到问题及解决方法_oracle_02

使用navicat连接oracle数据库遇到问题及解决方法_服务器_03

2.检查确认数据库实例是否启动 ​select status from v$instance

我这里是报错了

使用navicat连接oracle数据库遇到问题及解决方法_解决方法_04

如果成功,会显示​success

使用navicat连接oracle数据库遇到问题及解决方法_oracle_05

上图报​ORA-01034​错误,显示oracle不可用,就是没有开启实例

,可通过以下几步开启。

(1)sqlplus /nolog

(2)conn / as sysdba

(3) startup

使用navicat连接oracle数据库遇到问题及解决方法_解决方法_06

开启后重新测试测试一下,​select status from v$instance​,显示打开,navicat再测试连接一下,成功就可以了

3.ORA-03135: connection lost contact

按照经验,由于我是远程连接oracle,需要服务器上的防火墙开放端口1521,我觉得可能是防火墙端口没开,查看一下防火墙开放的端口(​iptables -L -n​)

使用navicat连接oracle数据库遇到问题及解决方法_oracle_07

我执行了以下几步开启了端口

(1)编辑iptables文件:​vim /etc/sysconfig/iptables

(2)添加开放端口配置

使用navicat连接oracle数据库遇到问题及解决方法_解决方法_08

(3)重启一下防火墙:​systemctl restart iptables

(4)重新查看一下端口开放情况

使用navicat连接oracle数据库遇到问题及解决方法_解决方法_09


(两个选择一个开放,我就是两个都写了结果冲突还是什么原因)

4.ORA-28547:connection to server failed, probable Oracle Net admin error

使用navicat连接oracle数据库遇到问题及解决方法_oracle_10

或者你打开navicat时连接oracle,显示​“oracle library is not loaded”​,可通过以下方法解决:

(1)​​https://www.oracle.com/database/technologies/instant-client/downloads.html​

(2)下载跟你oracle版本对应的,像我是64bit的就下载x64的 

使用navicat连接oracle数据库遇到问题及解决方法_oracle_11

(3)进去之后可能有很多版本,我下载的是18.5.0.0.0的,这个关系不大,要求登录就注册个账号就好了

使用navicat连接oracle数据库遇到问题及解决方法_oracle_12使用navicat连接oracle数据库遇到问题及解决方法_解决方法_13

(4)下载好之后解压

使用navicat连接oracle数据库遇到问题及解决方法_oracle_14

使用navicat连接oracle数据库遇到问题及解决方法_服务器_15

(5)按照图片更改oci的路径即可 

使用navicat连接oracle数据库遇到问题及解决方法_解决方法_16

(6)成功连接

使用navicat连接oracle数据库遇到问题及解决方法_服务器_17



更多内容详见微信公众号:Python研究所

使用navicat连接oracle数据库遇到问题及解决方法_解决方法_18