筆者在使用Oracle8.0數據庫系統時發現了一個比較有趣的問題,我在安裝好了ORACLE8.0后,啟動它的組件ORACLE NET 8 EASY CONFIG配置了一個新的服務器名稱SERVICE8.然后我就信心十足地打開SQL*PLUS組件,按照它的提示依次輸入默認的用戶名稱sys、密碼change_on_install、服務器名稱SERVICE8,敲回車,畫面顯示連接ORACLE8成功,一切OK。這時,我就可以調用SQL語句大軍來沖擊數據庫城池了。可是好景不長,當我退出SQL*PLUS后,我在NT下面配置了網絡。等我下一次再啟動SQL*PLUS時,跟上一次樣,按照它的提示依次輸入默認的用戶名稱sys、密碼change_on_install、服務器名稱SERVICE8,但是這次畫面提示為(錯誤478,TNS:監聽器不存在),我考慮了一下,我根本就沒動有關ORACLE8的文件,在第一次與第二次啟動SQL*PLUS之間,我無非就配置了NT網絡,難道ORACLE8的監聽器與我的NT網絡有關系?但很快我就否定了這種想法,因為ORACLE8是一個獨立的數據庫系統,怎么會與NT網絡配置有關呢?因此,我又跑到NT的控制面板中的服務下面去看了看,唉!該死,原來ORACLETNSLISENER80(它是ORACLE8的監聽器)根本就沒啟動,我啟動完ORACLETNSLISENER80,心想這下應該沒問題了,因此,我滿懷希望又再一次啟動SQL*PLUS,結果令人大失所望,錯誤依舊.當我打開控制面板一看,監聽器服務又自動停止了,反反復復試了好幾次,監聽器服務就是啟動不起來,這回,我認定是ORACLE8系統壞了,沒辦法,我只好又在NT上重新安裝ORALCE8,但錯誤還是一樣,這可是給我當頭一棒.重新安裝都不行,那指定不是ORACLE8本身的問題了.
過了一天,我靈機一動,既然ORACLE是非常優秀的數據庫操作系統,那么,它一定會自動記錄操作過程中的錯誤,監聽器翻譯成英語是listener.在平時學習ORACLE8的過程中,得知以ora為擴展名的文件是很重要的,一般在這種文件里都記錄了數據庫操作過程中的具體情況,就憑這一點,我想監聽器錯誤一定是記錄在list*.ora文件里,我用NT的查找功能,果然找出了listenora8.ora文件,(因為我建的數據庫名叫ora8,所以它的文件名稱也就成了listen ora8.ora了)用記事本打開一看,里邊的內容全是有關的登錄數據庫方面的,最近兩次不成功的登錄也全部記錄在案,上面的提示是,由于ipx協議不存在,oraclelistener80無法啟動,監聽失敗.原來如此,我在配置NT網絡時,我只配置了Tcp/ip協議,我在NT的網上鄰居的協議選項添加ipx協議以后,重新進入SQL*PLUS,錯誤不復存在,一切OK.
作者:潘赳奔