10
回答
直接使用本机IP连接Oracle连不上
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
我在连接本机的Oracle数据库时,不指定ip时是可以连接上的,但是使用ipconfig命令查询到的ip地址(不是127.0.0.0.1),这样连接不上,请问这是什么原因?求指导!!
举报
reme
发帖于5年前 10回/6K+阅
共有10个答案 最后回答: 4年前

127.0.0.1是回送地址,不会经过网络传输。如果用网卡配置的IP无法访问,那就是网络层面的问题。但你提供的信息太少,不好判断到底是什么原因引起的,建议进行以下操作试试:

1、暂时关闭防火墙或是把Oracle客户端工具加入防火墙白名单;

2、如果是笔记本,请接上网线,因为有些笔记本在不插网线时会禁用本地连接;

3、打开IE的Internet选项,检查是否启用了代理设置,如果有使用,先暂时关闭;

不同的报错信息有不同的解决方法

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
解决方法:
1) 检查listener.ora,tnsnames.ora,把host相关配置修改成机器名或者127.0.0.1
2) 在listener.ora中的SID_LIST_LISTENER中添加

    (SID_DESC =
      (SID_NAME = ORCL)
      (ORACLE_HOME = D:\oracle\product\11.2.0\dbhome_1)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )

SID_NAME要与数据库实例名字相同,路径可以使用原先SID_LIST_LISTENER中中配置的

ora-28547:连接服务器失败,可能是 Oracle Net 管理失败
这个问题第一次碰到,检查了所有的配置文件,最后在spfile里面发现
*.local_listener=’LISTENER_ORCL’
检查了listener.ora,tnsnames.ora两个文件,发现listener.ora中LISTENER的名字不对,修改LISTENER的名字就可以了

3. plsql developer连接64位oracle的问题
这个不算listener的问题,不过还是记录一下吧。
网上搜了一下,总结一下,只需要以下几步就可以搞定
1) 下载oracle的instantclient,我下载的是instantclient-basic-nt-11.2.0.3.0.zip,解压出来。
2)在plsql developer的首选项中选择连接,把”Oracle 主目录名”设置为D:\oracle\instantclient_11_2,把”OCI 库”设置为D:\oracle\instantclient_11_2\oci.dll(路径按需修改)
3) 在plsqldev.exe同级目录中建立plsql.bat文件,输入一下内容

set nls_lang=SIMPLIFIED CHINESE_CHINA.AL32UTF8
start plsqldev.exe
exit

其中nls_lang根据数据库的编码设定。
启动plsql developer的时候双击plsql.bat。网上写的在我的电脑上直接修改环境变量的方法测试没有成功(其实这两种方法应该是一样的)。

在windows上安装oracle后,一般要查看listener.org,tnsnames.org 把里面的机器名改成真实IP地址,或者直接在host文件里把机器名映射到127.0.0.1或真实IP

引用来自“若海”的答案

127.0.0.1是回送地址,不会经过网络传输。如果用网卡配置的IP无法访问,那就是网络层面的问题。但你提供的信息太少,不好判断到底是什么原因引起的,建议进行以下操作试试:

1、暂时关闭防火墙或是把Oracle客户端工具加入防火墙白名单;

2、如果是笔记本,请接上网线,因为有些笔记本在不插网线时会禁用本地连接;

3、打开IE的Internet选项,检查是否启用了代理设置,如果有使用,先暂时关闭;

这个都没问题

引用来自“坏孩子”的答案

不同的报错信息有不同的解决方法

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
解决方法:
1) 检查listener.ora,tnsnames.ora,把host相关配置修改成机器名或者127.0.0.1
2) 在listener.ora中的SID_LIST_LISTENER中添加

    (SID_DESC =
      (SID_NAME = ORCL)
      (ORACLE_HOME = D:\oracle\product\11.2.0\dbhome_1)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )

SID_NAME要与数据库实例名字相同,路径可以使用原先SID_LIST_LISTENER中中配置的

是这个问题,我改成机器名,并且添加服务后可以连接上了。但是!!原来的连接方式却连接不上了,即不指定ip时连接不上了。能不能让两种方式都能连接上?

引用来自“坏孩子”的答案

不同的报错信息有不同的解决方法

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
解决方法:
1) 检查listener.ora,tnsnames.ora,把host相关配置修改成机器名或者127.0.0.1
2) 在listener.ora中的SID_LIST_LISTENER中添加

    (SID_DESC =
      (SID_NAME = ORCL)
      (ORACLE_HOME = D:\oracle\product\11.2.0\dbhome_1)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )

SID_NAME要与数据库实例名字相同,路径可以使用原先SID_LIST_LISTENER中中配置的

使用127.0.0.1的时候还是能连接上的,不使用ip就连接不上了

引用来自“天朝子民鸭梨大”的答案

请问楼主解决了没?我也遇到这个问题!
监听设置的问题,上面的回答可以解决

引用来自“reme”的答案

引用来自“天朝子民鸭梨大”的答案

请问楼主解决了没?我也遇到这个问题!
监听设置的问题,上面的回答可以解决
嗯 我已经解决了 谢谢
顶部