首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

ORA-00130 無效監聽地址錯誤排查實錄:hostname 未在 /etc/hosts 定義導致

     編輯:Oracle 教學

ORA-00130 無效監聽地址錯誤排查實錄:hostname 未在 /etc/hosts 定義導致

一、現象重現

SQL> STARTUP
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=dcsopen2Node)(PORT=1521))'

資料庫無法啟動,錯誤指向 LOCAL_LISTENER 參數解析的主機名 dcsopen2Node 無效。

二、環境檢查

  1. listener.ora 設定正常:HOST = localhost
  2. 作業系統 hostname:hostname → dcsopen2Node
  3. /etc/hosts 缺少對應:
    127.0.0.1 localhost localhost.localdomain ...
    ::1 localhost localhost.localdomain ...
    # 缺少 dcsopen2Node 條目

三、根因分析

Oracle 啟動時會嘗試向監聽器註冊實例,預設使用 LOCAL_LISTENER 參數。若該參數未顯式設定,Oracle 會自動構建一個包含目前 hostname 的監聽地址。由於 /etc/hosts 未定義 dcsopen2Node 的 IP 映射,網路層無法解析該主機名,導致 ORA-00130。

四、解決方案

  1. 編輯 /etc/hosts,新增對應:
172.27.19.57 dcsopen2Node
  1. 重新啟動資料庫:
SQL> STARTUP
ORACLE instance started.
Database mounted.
Database opened.

五、最佳實踐建議

  • 安裝 Oracle 前務必確認 /etc/hosts 包含 hostname 的完整映射(IPv4/IPv6)。
  • 生產環境建議在 listener.ora 與 tnsnames.ora 明確使用 IP 位址或完整網域名(FQDN),避免依賴短主機名解析。
  • 定期檢查 LOCAL_LISTENER、REMOTE_LISTENER 參數與網路配置一致性。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved