最近自己学oracle发现了这个异常去google搜索了一下,这个问题一大堆啊,可是解决的方法寥寥无几(也许本人搜索水平太差)。这问题整整困惑我3个小时啦。刚刚解决,在这里把自已解决问题的方法帖出来,帮助那些碰见相同问题的初学者。不废话了直入主题。
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