【Oracle錯誤集錦】:ORA-00119 & ORA-00132,oracleora-00119
有時候老天就是愛和你開玩笑,昨天好不容易配置好Oracle,能夠用PL/SQL正常登入使用,今天突然就不行了。並且錯誤十分詭異,沒有提示什麼錯誤碼。輸入使用者名稱密碼,點擊登入後PL/SQL沒有反映,直接卡死。
我就鬱悶了,都不給提示怎麼解決問題呢。突然想到Oracle肯定會有記錄日誌的地方。去查看一下應該會有驚喜。
Oracle日誌位置:D:\app\NiuNiu\product\11.2.0\dbhome_1\database\oradim.log
果然發現了兩個錯誤:
Tue Jun 23 15:32:41 2015
D:\app\NiuNiu\product\11.2.0\dbhome_1\bin\oradim.exe -startup -sid drp -usrpwd * -log oradim.log -nocheck 0
Tue Jun 23 15:32:48 2015
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name ‘LISTENER_DRP’
如日誌顯示的這兩個錯誤:ORA-00119和ORA-00132,可能是因為這兩個錯誤才導致PL/SQL不能正常登入。找到錯誤根源就好說了,解決這兩個問題即可:
方案一:查看tnsname.ora檔案,是否有這段字串;沒有的話添加即按照實際情況即可。
LISTENER_DRP = (ADDRESS = (PROTOCOL = TCP)(HOST = Niu)(PORT = 1521))
其中DRP為你的資料庫sid,host為主機名稱。
方案二:tnsname.ora檔案沒有錯誤的情況下,也有可能出現這個問題,只能採取方案二了。
網上找了很多資料,主要意思是先用spfile產生pfile,再修改local_listener的參數,再重新產生spfile檔案,步驟如下:
1、通過spfile複製一份pfile參數檔案(注意:oracle中的pfile指的就是init.ora檔案,例如下面命令建立的pfile檔案就是“INITdrp.ORA”;spfile檔案就是SPFILEDRP.ORA)
SQL> create pfile from spfile='D:\app\NiuNiu\product\11.2.0\dbhome_1\database\SPFILEDRP.ORA';
2、修改pfile參數檔案(也即修改init.ora檔案,即本文的INITdrp.ORA檔案)
經過第一步以後,在$ORACLE_HOME/database目錄會組建檔案init.ora,由於我的oracle執行個體名為drp,所以我的pfile檔案為INITdrp.ORA。用記事本開啟該檔案,找到local_listener這一行,然後將其值修改為:
(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=your_hostname)(Port=1521)))
其中的your_hostname為你的主機名稱。
3、重新產生spfile檔案SPFILEDRP.ORA
SQL> create spfile from pfile='D:\app\NiuNiu\product\11.2.0\dbhome_1\database\INITdrp.ORA';
4、使用startup命令,重新啟動資料庫即可。
整個流程:
報錯時要學會查看Oracle錯誤記錄檔裡面的資訊,有時候報的錯誤並不是表面上的那樣,需要我們尋根問底才行。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。