Oracle连接不上解决办法合集

本文汇总了解决Oracle数据库连接问题的各种方法,包括监听程序配置错误、客户端配置问题、日志文件过大导致的问题及验证协议不匹配等。适用于解决常见的ORA-12514、ORA-12154、ORA-28040等错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、一切的前提

服务里的Oracle的监听和service必须要起来并设为自动。
在这里插入图片描述
如果这里没有监听,需要手动配一下,方式如下
配置Oracle监听
Windows搜索里搜Oracle Net Confi就能把它搜出来,全部默认下一步,直到完成
在这里插入图片描述
然后检查这个里面是否有了监听程序。
在这里插入图片描述
这样就代表可以了。
在这里插入图片描述

2、ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务

listener.ora里面配置的HOTS名称不对
F:\app\xxx\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
改完之后重启数据库即可。
在这里插入图片描述

3、ORA-12154: TNS: 无法解析指定的连接标识符

如果是远程连接,比如别人连我本地连不上,需要配置相关Oracle客户端的Net Configuration Assistant
注意是客户端,是需要单独安装的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、用sqlplus可以连上,但是Navicat、DBeaver连不上

2022.12.02更新

背景:正常运行了很长一段时间了,有一天突然出现连不上的问题。

原因分析:监听的日志文件listener.log过大,导致oracle像是假死了。listener.org路径:$ORACLE_HOME\diag\tnslsnr\机器名\listener\trace

解决办法:将监听停止掉,重命名日志文件,重启监听服务,发现新建了日志,连接测试,OK。但是这不一定是全部的原因哈。
也有可能是Navicat安装的时候装的32位的,但是oci.dll文件用的64位的,去官网下载一个32位的,版本对应的,base开头的,重新从Navicat里引用一下这个dll文件就可以了。

5、用Navicat能连上本地库,连服务器或者别人的库报:ORA-28040:没有匹配的验证协议

Navicat的oci环境不对,或者版本过低
Navicat顶部:工具->选项->环境->OCI环境
看看是否指向了你本地安装的Oracle路径,如果是,更改为Navicat安装路径中的文件:
在这里插入图片描述
如果本来就是指向这个路径,则说明oci环境版本过低,从这里下载更新版本
https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html
下载并解压,将解压后的目录放在Navicat安装目录根目录下,并重新将oci环境指向新版的oci.dll即可
至于要下什么版本的oci,需要根据你要连什么版本的Oracle数据库决定,例如要连11G版本,则下载instantclient_11_2即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值