問題描述
oracle服務設置為手動啟動。但是開機后手動啟動監聽服務后彈出框,提示“本地計算機上的OracleOraDb11g_home1TNSListener服務啟動后停止。某些服務在未由其他服務或程序使用時將自動停止。”。如下圖:

產生原因
本地計算機配置遠程訪問數據庫后, 本機ip發生了變化(本機ip變化后與監聽器配置中的ip不一致)
本地數據庫設置了遠程訪問, 即給本機設置了ip, 並在oracle監聽配置中設置了該ip, 但計算機重啟后ip發生了變化, 故監聽器監聽不到配置中的ip地址才會報如上錯誤. (我這里通過WiFi共享大師(軟件)開啟WiFi分享給同事,同事連接該WiFi來訪問我的數據庫。但是WiFi是需要手動開啟的,由於Oracle數據庫中配置了監聽,在未開啟該WiFi的情況下,監聽器找不到監聽地址,所以才報出上圖出現的錯誤,監聽無法啟動。)設置遠程訪問數據庫,可參考:關於遠程訪問Oracle數據庫的設置(共享數據庫)
解決辦法
保證本機ip與配置遠程訪問設置的ip一致即可啟動監聽(修改本機ip或修改遠程訪問ip)
1.查看本機ip(命令行窗口或者網絡配置都可以, 更簡單的方式是登錄飛秋直接可以看到本機ip)
2.查看oracle監聽器配置的監聽地址(ip)。方法如下:
1):打開Oracle的NetManager:

2):通過查看監聽器配置,我這有兩個,一個是localhost即127.0.0.1, 另一個是配置遠程訪問設置的ip 192.168.155.1:

下面這個是遠程訪問設置的ip(曾設置過的wifi共享的IP地址):

3):修改本機ip或修改遠程訪問ip使二者保持一致, 重啟監聽服務
另: 不采用圖形界面的話也可以通過修改oracle的監聽配置文件. 文件名稱為:tnsnames.ora, 關於這個配置文件不再贅述了, 可以移步:Oracle 11g的三個配置文件
不同的環境問題的原因也不盡相同, 但都離不開這個配置文件, 切忌只做伸手黨. 此為筆記.
有疑問歡迎溝通~歡迎推薦優質博客和網站~
