Oracle連接不上的問題分析及解決過程
1、一切的前提
服務(wù)里的Oracle的監(jiān)聽和service必須要起來并設(shè)為自動。

如果這里沒有監(jiān)聽,需要手動配一下,方式如下
配置Oracle監(jiān)聽
Windows搜索里搜Oracle Net Confi就能把它搜出來,全部默認(rèn)下一步,直到完成

然后檢查這個里面是否有了監(jiān)聽程序。

這樣就代表可以了。

2、ORA-12514 TNS 監(jiān)聽程序當(dāng)前無法識別連接描述符中請求服務(wù)
listener.ora里面配置的HOTS名稱不對
F:\app\xxx\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
改完之后重啟數(shù)據(jù)庫即可。

3、ORA-12154: TNS: 無法解析指定的連接標(biāo)識符
如果是遠(yuǎn)程連接,比如別人連我本地連不上,需要配置相關(guān)Oracle客戶端的Net Configuration Assistant
注意是客戶端,是需要單獨(dú)安裝的。







4、用sqlplus可以連上,但是Navicat、DBeaver連不上
更新:
背景:正常運(yùn)行了很長一段時間了,有一天突然出現(xiàn)連不上的問題。
原因分析:監(jiān)聽的日志文件listener.log過大,導(dǎo)致oracle像是假死了。listener.org路徑:$ORACLE_HOME\diag\tnslsnr\機(jī)器名\listener\trace
解決辦法:將監(jiān)聽停止掉,重命名日志文件,重啟監(jiān)聽服務(wù),發(fā)現(xiàn)新建了日志,連接測試,OK。但是這不一定是全部的原因哈。也有可能是Navicat安裝的時候裝的32位的,但是oci.dll文件用的64位的,去官網(wǎng)下載一個32位的,版本對應(yīng)的,base開頭的,重新從Navicat里引用一下這個dll文件就可以了。
5、用Navicat能連上本地庫,連服務(wù)器或者別人的庫報:ORA-28040:沒有匹配的驗證協(xié)議
Navicat的oci環(huán)境不對,或者版本過低
Navicat頂部:工具->選項->環(huán)境->OCI環(huán)境
看看是否指向了你本地安裝的Oracle路徑,如果是,更改為Navicat安裝路徑中的文件:

如果本來就是指向這個路徑,則說明oci環(huán)境版本過低,從這里下載更新版本
https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html
下載并解壓,將解壓后的目錄放在Navicat安裝目錄根目錄下,并重新將oci環(huán)境指向新版的oci.dll即可
至于要下什么版本的oci,需要根據(jù)你要連什么版本的Oracle數(shù)據(jù)庫決定,例如要連11G版本,則下載instantclient_11_2即可
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Oracle?11g+windows?環(huán)境下Ecology7系統(tǒng)安裝過程
這篇文章主要介紹了Oracle?11g+windows?環(huán)境下Ecology7系統(tǒng)安裝,安裝步驟是以管理員模式運(yùn)行Oracle setup.exe文件,根據(jù)提示安裝Oracle,創(chuàng)建數(shù)據(jù)庫,注意修改連接數(shù),本文給大家詳細(xì)講解,需要的朋友可以參考下2022-10-10
Oracle?listagg去重distinct的三種方式總結(jié)
這篇文章主要介紹了Oracle?listagg去重distinct的三種方式總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11
[Oracle] 如何使用觸發(fā)器實現(xiàn)IP限制用戶登錄
在Oracle里,不像MySQL那樣方便,可以直接在用戶上進(jìn)行IP限制,Oracle要實現(xiàn)用戶級別的IP限制,可以使用觸發(fā)器來迂回實現(xiàn),以下就是示例,需要的朋友可以參考下2013-07-07

