oracle資料庫的監聽起不來報錯,很快解決了。在這裡記錄一下遇到的問題,方便備查。在資料庫listener.ora檔案裡面host後面到底應該輸入ip位址還是主機名?很多人可能有不同的做法。我的經驗是最好使用主機名。比如說,乙個機器繫結的不只乙個ip位址,你在host後面寫的是ip位址,那麼oracle的listener只會監聽指定ip位址的訪問請求,本機其它ip位址的連線都會拒絕的。而且建立監聽的時候,listener.ora檔案預設建立的就是主機名。在listener.ora檔案裡host後面如果是主機名,那麼就會與/etc/hosts這個檔案扯上關係了。
這次出現的問題,就是因為研發人員不小心修改了主機名,而在/etc/hosts檔案裡又沒有修改主機名和ip的對應造成的。
我們看報錯截圖:
當你查詢1521埠時發現pmon(預設情況下,pmon 向tcp/ip 的預設本地位址- 埠1521- 處的本地監聽程式註冊服務資訊)
# netstat -antp | grep 1521
tcp 0 1 192.168.1.252:36842 202.106.0.20:1521 syn_sent 28794/ora_pmon_orcl
檢查202.106.0.20這個ip到底哪來的?
在 /etc/hosts 裡居然多了這條記錄
202.106.0.20 wxtest
不知道是誰加上的,從來沒有這個部署需求。先不管了,直接把這條語句注釋掉
重新啟動資料庫,重新啟動監聽,一切正常了!
附圖:
補充:/etc/hosts檔案相關的幾個錯誤。
1、/etc/hosts檔案oracle沒有許可權訪問
這時候oracle使用者去啟動監聽會報如下錯誤
tns-12545: connect failed because target host or object does not exist
tns-12560: tns:protocol adapter error
tns-00515: connect failed because target host or object does not exist
linux error: 13: permission denied
2、/etc/hosts檔案裡面的主機名對應的ip位址沒有正確在本機繫結
這時候oracle使用者去啟動監聽會報如下錯誤
tns-12535: tns:operation timed out
tns-12560: tns:protocol adapter error
tns-00505: operation timed out
linux error: 110: connection timed out
oracle監聽錯誤與hosts檔案配置
oracle資料庫的監聽起不來報錯,很快解決了。在這裡記錄一下遇到的問題,方便備查。在資料庫listener.ora檔案裡面host後面到底應該輸入 位址還是主機名?很多人可能有不同的做法。我的經驗是最好使用主機名。比如說,乙個機器繫結的不只乙個 位址,你在host後面寫的是 位址,那麼oracle...
ORA 12541 無監聽錯誤解決辦法
1 從開始選單中開啟 oracle net configuration assistance 選擇 監聽程式配置 如下圖所示,點選下一步。2選擇 重新配置 如下圖所示,點選下一步。3選擇監聽程式,如下圖所示,選擇協議,一般預設就好,點選下一步。4選擇埠號,如下圖所示,點選下一步。5選擇 否 如下圖所...
oracle監聽1067錯誤的處理
一,oracle監聽1067錯誤的處理 修改oracle安裝目錄d database oracle product 10.1.0 db 1 network admin 下的 listener.ora和tnsnames.ora裡的host值為localhost或者計算機名即可。f oracle pro...