您好,登錄后才能下訂單哦!
這篇文章主要講解了“由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的,覺得有些詭異,于是決定研究一下。
解決過程
首先我確定了數(shù)據(jù)庫正常啟動(dòng)的,接下來查看監(jiān)聽狀態(tài):
可以看到監(jiān)聽也是正常的,但是看到“kfhzbdc.yfybfwq”這個(gè)時(shí),我突然認(rèn)識(shí)到可能是數(shù)據(jù)庫設(shè)置了db_domain,導(dǎo)致直接通過db_name無法訪問數(shù)據(jù)庫,于是查看參數(shù):
果然發(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í)。
直到看到了楊廷琨老師的博客,我才直到這個(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)注!
免責(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)容。