1. 情況:Oracle安裝後使用的好好的,放假關機後重新開機居然發現不能正常連線,客戶報錯:TNS-12541: TNS: 無監聽程式 2. 檢查: 1. 伺服器上Oracle啟動正常 2. 使用tnsping檢查,發現伺服器上使用 【tnsping 配置名稱】返回正常,而使用【tnsping I ...
1. 情況:Oracle安裝後使用的好好的,放假關機後重新開機居然發現不能正常連線,客戶報錯:TNS-12541: TNS: 無監聽程式
2. 檢查:
1. 伺服器上Oracle啟動正常
2. 使用tnsping檢查,發現伺服器上使用 【tnsping 配置名稱】返回正常,而使用【tnsping IP】則返回失敗,
懷疑:1521未開啟? 使用:netstat -a -n | grep 1521 發現埠正常開啟
3. 解決:百度搜索各種情況後,最後發現是:listener.ora 中的host必須是電腦名稱,原配置文件中為:localhost,修改後重啟監聽就可以了
以下紅色文字為修改的地方。
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = MyComputerName)(PORT = 1521))
)
)
-------------------
Linux操作還是不太熟,以上看上去簡單,在Linux里操作各種命令,都得到處百度...
記錄下備查:
取得電腦名稱:hostname
檢查埠是否開放:
1. telnet ip port
2. netstat -a -n | grep 1521
root登錄後su oracle不能使用sqlplus等Oracle工具,因其不能獲得oracle的環境變數($ORACLE_HOME等),
處理一:
su oracle 後 cd ~
more .profile 查看oracle的環境變數,
回到root下將oracle的 .profile中的Oracle配置加入到/etc/profile里,然後:source /etc/profile
再次 su oracle後可以使用oracle工具了
處理二:建議直接使用Oracle連線linux,簡單直接