Oracle監(jiān)聽啟動時由“監(jiān)聽程序不支持服務(wù)”遇到的一系列問題
Oracle監(jiān)聽啟動時由“監(jiān)聽程序不支持服務(wù)”
昨晚突然斷電導(dǎo)致局域網(wǎng)內(nèi)數(shù)據(jù)庫服務(wù)器非正常停機,今天用數(shù)據(jù)庫時按往常操作啟動數(shù)據(jù)庫就出問題了,使用xshell遠程連接的服務(wù)器,首先啟動監(jiān)聽lsnrctl start啟動日志總感覺和以前的不一樣:
當時也沒特別在意,就直接登陸空閑例程裝載數(shù)據(jù)庫了:
看似也是很正常的,也沒報ORA的異常。啟動完成之后在本地用PL/SQL連接就出問題了,一直提示我“無監(jiān)聽程序”,這就詭異了哈。
一切正常怎么會沒有監(jiān)聽程序呢,監(jiān)聽都啟動了的,在服務(wù)器上用sqlplus直接登錄木有任何問題,但是遠程連接就是不行。
這樣問題就有思路了,應(yīng)該就是遠程連接的問題,之前都解決過遠程連接的問題,就是在listerner.ora文件中配置的,把HOST地址改成IP就可以了,但是從監(jiān)聽啟動日志里看到是IP沒錯,難道是服務(wù)器重啟時IP被分配成其他的了?檢查一遍并沒有,問題越發(fā)詭異了。
剛才啟動的時候就感覺不太正常,說明感覺是對的啟動的時候就是有問題的,然后就看到了“監(jiān)聽程序不支持服務(wù)”這行字,隱約記得以前啟動監(jiān)聽后應(yīng)該是有一堆信息的,現(xiàn)在就剩一句話代替了,問題應(yīng)該就出現(xiàn)在這兒。
先找找alert日志
嘿還真是有一個WARNING:
現(xiàn)在倒好,看這個錯看得一臉懵逼,去網(wǎng)上扒扒全是什么修改host、pfile什么的,根據(jù)以前的經(jīng)驗根本不信這一套,還是按照自己思路來吧,問題應(yīng)該就出現(xiàn)在listerner.ora中,打開listerner.ora看看確實少了些什么,不經(jīng)意間看到listerner.ora的修改記錄,MD被誰修改過,我也是醉了也不知道哪個有毛病的去修改這個文件。
要知道數(shù)據(jù)庫的配置文件修改之后不重啟是不生效的,不知道哪個小白修改了就不管了,偶然間的重啟搞這么多問題。
應(yīng)該是少了一段參數(shù)
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (ORACLE_HOME =/opt/oracle/product/11.2.0) (SID_NAME = orcl) ) )
簡單寫上能用就行ORACLE_HOME就不說了,在listerner.ora文件目錄下pwd一下截出來就是了,下邊SID_NAME就是數(shù)據(jù)庫的實例名,如果存在多個系統(tǒng)的話可能會有多個實例名,加多個就可以了看到上邊的SID_LIST了嗎?
就是為多個實例準備的 復(fù)制
(SID_DESC = (ORACLE_HOME =/opt/oracle/product/11.2.0) (SID_NAME = orcl) )
這一段修改SID_NAME 就可以了。
不過需要注意一點:實例名區(qū)分大小寫!區(qū)分大小寫!區(qū)分大小寫!
我寫成了ORCL之后雖然啟動正常了,但是用PL/SQL連的時候又給我報了個錯**
ERROR: ORA-01034:ORACLE not available ORA-27101:shared memory realm does not exit
** 無語啊,這個錯不明顯又跟SGA扯上關(guān)系了又讓我找了好一會差點把數(shù)據(jù)庫的內(nèi)存管理模式給改了,僅僅就是個大小寫的問題而已。
修改完成后重啟監(jiān)聽這次日志就正常了:
我只配了一個orcl實例所以就啟動一個實例打了一條日志,配多個就會啟動多個了
再啟動數(shù)據(jù)庫
一切就都正常了,PL/SQL也可以正常連接了。
總結(jié)
步步都是坑啊,說多了都是淚(´Д`)y-~
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Oracle單行函數(shù)(字符,數(shù)值,日期,轉(zhuǎn)換)
這篇文章主要介紹了Oracle單行函數(shù)(字符,數(shù)值,日期,轉(zhuǎn)換),本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07Oracle 閃回 找回數(shù)據(jù)的實現(xiàn)方法
閃回技術(shù)是Oracle強大數(shù)據(jù)庫備份恢復(fù)機制的一部分,在數(shù)據(jù)庫發(fā)生邏輯錯誤的時候,閃回技術(shù)能提供快速且最小損失的恢復(fù)。這篇文章主要介紹了Oracle 閃回 找回數(shù)據(jù)的實現(xiàn)方法,需要的朋友可以參考下2018-09-09ORACLE出現(xiàn)錯誤1033和錯誤ORA-00600的解決方法
這篇文章主要介紹了ORACLE出現(xiàn)錯誤1033和錯誤ORA-00600的解決方法,需要的朋友可以參考下2014-07-07Oracle查看表結(jié)構(gòu)的幾種方法示例代碼
本文通過示例代碼給大家介紹了oracle查看表結(jié)構(gòu)的幾種方式,感興趣的朋友參考下吧2017-07-07