啟動 Oracle 服務後仍報 ORA-12541: TNS:no listener,通常是監聽服務未啟動、tnsnames.ora 設定錯誤、或主機名/IP 解析問題。提供三級排查流程。
OracleService(資料庫實例)OracleOraDb11g_home1TNSListener(監聽器)OracleDBConsole(Enterprise Manager,可選)# tnsnames.ora 範例
ORCL =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)))
(CONNECT_DATA = (SERVICE_NAME = ORCL))
)
# 若 localhost 解析異常,改為實際主機名或固定 IP
# 例:HOST = mydbserver 或 HOST = 192.168.1.100
listener.ora 的 HOST 參數。lsnrctl stop && lsnrctl start。listener.ora、tnsnames.ora、sqlnet.ora。lsnrctl status # 應顯示 LISTENER 狀態 READY,服務 ORCL 狀態 READY tnsping ORCL # 應回傳 OK
HOST=0.0.0.0 或 HOST=127.0.0.1 導致遠程無法連線,需綁定實際 IP/主機名。listener.ora 需明確指定 HOST=特定IP,否則可能綁定錯誤介面。