最近自己學(xué)oracle發(fā)現(xiàn)了這個(gè)異常去google搜索了一下,這個(gè)問(wèn)題一大堆啊,可是解決的方法寥寥無(wú)幾(也許本人搜索水平太差)。這問(wèn)題整整困惑我3個(gè)小時(shí)啦。剛剛解決,在這里把自已解決問(wèn)題的方法帖出來(lái),幫助那些碰見相同問(wèn)題的初學(xué)者。不廢話了直入主題。
1.確定oracle Listener 監(jiān)聽服務(wù)已經(jīng)啟動(dòng)。
2.如果你的oracle數(shù)據(jù)庫(kù)不是安裝在本機(jī)那么請(qǐng)把oracle所在主機(jī)防火墻給關(guān)掉(哪怕你的防火墻開放1521端口,因?yàn)楫?dāng)有一個(gè)連接請(qǐng)求 1521端口時(shí)oracle會(huì)隨機(jī)分配另一個(gè)端口給它.這是個(gè)人見解!望高手指點(diǎn))
3.確定你連接的IP地址正確。
如果以上問(wèn)題你都核實(shí)過(guò)那么請(qǐng)繼續(xù)往下看。
開始我是用eclipse database development 配置時(shí)發(fā)現(xiàn)了此問(wèn)題.

后來(lái)用 Oracle SQL Developer同樣也無(wú)法連接.后來(lái)試了試sqlplus卻可以連接.

于是我再sqlplus試了一下192.168.1.2這個(gè)地址(同樣是本機(jī))卻給出了這樣的答案。
第一次無(wú)監(jiān)聽程序,提示再輸入用戶名 卻又連接上了。(看來(lái)第二次是跟你輸入sqlplus一樣的)

這個(gè)答案很明確了當(dāng)你直接輸入sqlplus可以登錄,但是你把本機(jī)的IP給加上卻不能登錄。
納悶了幾小時(shí)忽然想起以前在玩oracle的時(shí)候(沒(méi)學(xué)之前^_^)在哪看見可以配置監(jiān)聽的,就是忘記哪在了。于是又花了半個(gè)小時(shí)終于找到了
原來(lái)是Net Manager,(看來(lái)沒(méi)事玩玩軟件比玩玩游戲受益多啊)

啟動(dòng)Net Manager 選擇LISTENER 現(xiàn)在可以看見監(jiān)聽的地址1原來(lái)是localhost不是192.168.1.2(本機(jī))奇怪嘍localhost不就是192.168.1.2(我的本機(jī)IP)嗎?

于是嘗試了一下192.168.1.2
用添加地址的按鈕增加了一個(gè)192.168.1.2
保存退出重啟oracle Listener 監(jiān)聽服務(wù)稍等片刻。


哈哈居然連接上。看來(lái)localhost 不等于192.168.1.2 (localhost是沒(méi)有經(jīng)過(guò)網(wǎng)卡的監(jiān)聽,嘿嘿個(gè)人意見,我不懂網(wǎng)絡(luò),純屬聯(lián)想。)
再試試 Oracle SQL Developer 同樣也OK。

無(wú)意間看著dos命令發(fā)現(xiàn)了這個(gè)

以上有3個(gè)監(jiān)聽端點(diǎn)(這是增加了192.168.1.2IP)第一個(gè)是127.0.0.1第二是IPC協(xié)議xxxx(不懂)第三個(gè)就是增加的192.168.1.2。
以下圖片是增加192.168.1.2之前的

只有兩個(gè)監(jiān)聽端點(diǎn)
提示:重啟服務(wù)可以用命令也可以用windows的服務(wù)管理。
命令如下
監(jiān)聽啟動(dòng): lsnrctl start
監(jiān)聽停止: lsnrctl stop
或者就輸入:lsnrctl 再輸入start 或者 stop
啟動(dòng)Oracle: net start OracleServiceORACLE(ORACLE 我的SID)
停止Oracle: net stop OracleServiceORACLE
1.確定oracle Listener 監(jiān)聽服務(wù)已經(jīng)啟動(dòng)。
2.如果你的oracle數(shù)據(jù)庫(kù)不是安裝在本機(jī)那么請(qǐng)把oracle所在主機(jī)防火墻給關(guān)掉(哪怕你的防火墻開放1521端口,因?yàn)楫?dāng)有一個(gè)連接請(qǐng)求 1521端口時(shí)oracle會(huì)隨機(jī)分配另一個(gè)端口給它.這是個(gè)人見解!望高手指點(diǎn))
3.確定你連接的IP地址正確。
如果以上問(wèn)題你都核實(shí)過(guò)那么請(qǐng)繼續(xù)往下看。
開始我是用eclipse database development 配置時(shí)發(fā)現(xiàn)了此問(wèn)題.

后來(lái)用 Oracle SQL Developer同樣也無(wú)法連接.后來(lái)試了試sqlplus卻可以連接.

于是我再sqlplus試了一下192.168.1.2這個(gè)地址(同樣是本機(jī))卻給出了這樣的答案。
第一次無(wú)監(jiān)聽程序,提示再輸入用戶名 卻又連接上了。(看來(lái)第二次是跟你輸入sqlplus一樣的)

這個(gè)答案很明確了當(dāng)你直接輸入sqlplus可以登錄,但是你把本機(jī)的IP給加上卻不能登錄。
納悶了幾小時(shí)忽然想起以前在玩oracle的時(shí)候(沒(méi)學(xué)之前^_^)在哪看見可以配置監(jiān)聽的,就是忘記哪在了。于是又花了半個(gè)小時(shí)終于找到了
原來(lái)是Net Manager,(看來(lái)沒(méi)事玩玩軟件比玩玩游戲受益多啊)

啟動(dòng)Net Manager 選擇LISTENER 現(xiàn)在可以看見監(jiān)聽的地址1原來(lái)是localhost不是192.168.1.2(本機(jī))奇怪嘍localhost不就是192.168.1.2(我的本機(jī)IP)嗎?

于是嘗試了一下192.168.1.2
用添加地址的按鈕增加了一個(gè)192.168.1.2
保存退出重啟oracle Listener 監(jiān)聽服務(wù)稍等片刻。


哈哈居然連接上。看來(lái)localhost 不等于192.168.1.2 (localhost是沒(méi)有經(jīng)過(guò)網(wǎng)卡的監(jiān)聽,嘿嘿個(gè)人意見,我不懂網(wǎng)絡(luò),純屬聯(lián)想。)
再試試 Oracle SQL Developer 同樣也OK。

無(wú)意間看著dos命令發(fā)現(xiàn)了這個(gè)

以上有3個(gè)監(jiān)聽端點(diǎn)(這是增加了192.168.1.2IP)第一個(gè)是127.0.0.1第二是IPC協(xié)議xxxx(不懂)第三個(gè)就是增加的192.168.1.2。
以下圖片是增加192.168.1.2之前的

只有兩個(gè)監(jiān)聽端點(diǎn)
提示:重啟服務(wù)可以用命令也可以用windows的服務(wù)管理。
命令如下
監(jiān)聽啟動(dòng): lsnrctl start
監(jiān)聽停止: lsnrctl stop
或者就輸入:lsnrctl 再輸入start 或者 stop
啟動(dòng)Oracle: net start OracleServiceORACLE(ORACLE 我的SID)
停止Oracle: net stop OracleServiceORACLE