溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

由db_domain引起的數(shù)據(jù)庫連接異常怎么解決

發(fā)布時(shí)間:2021-08-31 10:40:15 來源:億速云 閱讀:138 作者:chen 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章主要講解了“由db_domain引起的數(shù)據(jù)庫連接異常怎么解決”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“由db_domain引起的數(shù)據(jù)庫連接異常怎么解決”吧!

起因

      一個(gè)同事萬分著急地找到我,說數(shù)據(jù)庫突然登錄不上了,但是sqlplus能夠正常登錄的,報(bào)了以下的錯(cuò)誤,我一看截圖,這個(gè)錯(cuò)誤一般是數(shù)據(jù)庫未啟動(dòng)導(dǎo)致的,登錄服務(wù)器發(fā)現(xiàn)數(shù)據(jù)庫確實(shí)是open的,覺得有些詭異,于是決定研究一下。

由db_domain引起的數(shù)據(jù)庫連接異常怎么解決

解決過程

     首先我確定了數(shù)據(jù)庫正常啟動(dòng)的,接下來查看監(jiān)聽狀態(tài):

由db_domain引起的數(shù)據(jù)庫連接異常怎么解決

可以看到監(jiān)聽也是正常的,但是看到“kfhzbdc.yfybfwq”這個(gè)時(shí),我突然認(rèn)識(shí)到可能是數(shù)據(jù)庫設(shè)置了db_domain,導(dǎo)致直接通過db_name無法訪問數(shù)據(jù)庫,于是查看參數(shù):

由db_domain引起的數(shù)據(jù)庫連接異常怎么解決

果然發(fā)現(xiàn)數(shù)據(jù)庫設(shè)置了db_domain,于是我把db_domain置空后重啟數(shù)據(jù)庫,然后同事直接通過db_name能夠訪問數(shù)據(jù)庫了。

疑惑

    對(duì)于以上問題的原因及解決,有經(jīng)驗(yàn)的DBA應(yīng)該都能找到原因并最終解決,但是讓我疑惑的是,我明明把db_domain置為空了,并重啟了數(shù)據(jù)庫,理論上來說數(shù)據(jù)庫此時(shí)的global_name應(yīng)該變成了"KFHZBDC",而不是“KFHZBDC.YFYBFWQ”,但是當(dāng)我查詢時(shí)發(fā)現(xiàn)仍是“KFHZBDC.YFYBFWQ”,但是此時(shí)數(shù)據(jù)庫已經(jīng)可以直接通過db_name訪問了,這讓我很困惑,貌似這里違反了平日的理論常識(shí)。

由db_domain引起的數(shù)據(jù)庫連接異常怎么解決

       直到看到了楊廷琨老師的博客,我才直到這個(gè)是oracle一直未解決的問題,那就是db_domain一旦設(shè)置了之后,就無法去掉了,那么怎么去掉db_domain呢,那就是直接修改數(shù)據(jù)字典,但這是不被推薦的:

SQL> CONN / AS SYSDBA已連接。

SQL> UPDATE SYS.PROPS$ SET VALUE$ = 'KFHZBDC' WHERE NAME = 'GLOBAL_DB_NAME';

感謝各位的閱讀,以上就是“由db_domain引起的數(shù)據(jù)庫連接異常怎么解決”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)由db_domain引起的數(shù)據(jù)庫連接異常怎么解決這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI