1.確定oracle Listener 監聽服務已經啓動。
2.如果你的oracle數據庫不是安裝在本機那麼請把oracle所在主機防火牆給關掉(哪怕你的防火牆開放1521端口,因爲當有一個連接請求 1521端口時oracle會隨機分配另一個端口給它.這是個人見解!望高手指點)
3.確定你連接的IP地址正確。
如果以上問題你都覈實過那麼請繼續往下看。
開始我是用eclipse database development 配置時發現了此問題.
後來用 Oracle SQL Developer同樣也無法連接.後來試了試sqlplus卻可以連接.
於是我再sqlplus試了一下192.168.1.2這個地址(同樣是本機)卻給出了這樣的答案。
第一次無監聽程序,提示再輸入用戶名 卻又連接上了。(看來第二次是跟你輸入sqlplus一樣的)
這個答案很明確了當你直接輸入sqlplus可以登錄,但是你把本機的IP給加上卻不能登錄。
納悶了幾小時忽然想起以前在玩oracle的時候(沒學之前^_^)在哪看見可以配置監聽的,就是忘記哪在了。於是又花了半個小時終於找到了
原來是Net Manager,(看來沒事玩玩軟件比玩玩遊戲受益多啊)
啓動Net Manager 選擇LISTENER 現在可以看見監聽的地址1原來是localhost不是192.168.1.2(本機)奇怪嘍localhost不就是192.168.1.2(我的本機IP)嗎?
於是嘗試了一下192.168.1.2
用添加地址的按鈕增加了一個192.168.1.2
保存退出重啓oracle Listener 監聽服務稍等片刻。
哈哈居然連接上。看來localhost 不等於192.168.1.2 (localhost是沒有經過網卡的監聽,嘿嘿個人意見,我不懂網絡,純屬聯想。)
再試試 Oracle SQL Developer 同樣也OK。
無意間看着dos命令發現了這個
以上有3個監聽端點(這是增加了192.168.1.2IP)第一個是127.0.0.1第二是IPC協議xxxx(不懂)第三個就是增加的192.168.1.2。
以下圖片是增加192.168.1.2之前的
只有兩個監聽端點
提示:重啓服務可以用命令也可以用windows的服務管理。
命令如下
監聽啓動: lsnrctl start
監聽停止: lsnrctl stop
或者就輸入:lsnrctl 再輸入start 或者 stop
啓動Oracle: net start OracleServiceORACLE(ORACLE 我的SID)
停止Oracle: net stop OracleServiceORACLE
轉自:http://www.blogjava.net/xiangjava/archive/2010/06/16/323672.html