前提配置:本机是ORACLE服务端 用PLSQL连接远程的服务端
大致有以下解决方案:
第一个方案:
按照配置流程:
第一:保证数据库安装没有出问题,本页有数据库安装的具体介绍。
第二:找到C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN下面的listener.ora 其中的HOST为本机的ip也可以填写计算机名称;此处为计算机名称。
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = samfoo)(PORT = 1521))
)
)
第三:找到C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN下面的tnsnames.ora
ORCL =(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = samfoo)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
HOST为本机的ip也可以填写计算机名称;此处为计算机名称。还有一点就是计算机名称有时候最好不要改,很容易出问题。
autotestingv2_129 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.6.50.129)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
连接远程的服务器IP为10.6.50.129的数据库服务器。 注意 autotestingv2_129前面不要有空格。
第二种方案:
PLSQL登陆时报异常:ORA-12170: TNS: 连接超时
下面是调试测试的各个步骤:
- 在CMD窗口可以正常连接数据库
- CMD输入:lsnrctl status 结果:命令执行成功
- CMD输入:tnsping ora11g 结果:TNS-12535: TNS: 操作超时
- CMD输入:ping Michael-PC 结果:发现IP是当前网络的地址并不是127.0.0.1或者localhost
其中Michael-PC 为计算机名称。
基于上面的调试分析如下:连网的情况下系统未能把Michael-PC解析为localhost
解决方法如下:
C:\Windows\System32\drivers\etc 找到系统的hosts文件,修改如下:
localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
::1 localhost
添加一条记录
localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
::1 localhost
127.0.0.1 Michael-PC
这样可以在连网的情况下也能正常连接数据库了。
第三种方案:
注意问题:
1 、安装的时候注意先不要装超级兔子,很容易跟ORACLE起冲突。
2、计算机名称最好不要改。
3.、如果是ORACLE重装的话 一定要把以前的删除干净,ORACLE删除本页有详细说明。
http://www.blogjava.net/freeman1984/archive/2011/04/15/348350.html
</div>
</div>