从错误的信息上看,是肯定是本地的客户端和服务器没有连接好,两个机器的Oracle直接不能通信。
这个问题是最基本的,这是连接的基础。这个我建议直接从服务器上拷贝,就不会出错了。我见过的就是因为服务器名后有空格,导致了服务器无法解析。注意,把tnsnames.ora修改以后,它读到的依然是原来的文件,要重启服务才能让你的设置生效。
Oracle中TNS的完整定义:transparence Network Substrate透明网络底层,监听服务是它重要的一部分,不是全部,不要把TNS当作只是监听器
ORACLE当中,如果想访问某个服务器,必须要设置TNS,它不像SQL SERVER那样在客户端自动列举出在局域网内所有的在线服务器,只需在客户端选择需要的服务器,然后使用帐号与密码登录即可。而ORCAL不能自动列举出网内的服务器,需要通过读取TNS配置文件才能列出经过配置的服务器名。配置文件名一般为:tnsnames.ora
5:路由的配置问题
用无线连接外网做上网用,用有线连接内网做连接数据库用。正常情况下,是不能同时实现外网和内网的同时访问的,必须先把路由表的信息设置下,使外网和内网的网关不在同一个子网掩码上。可以在控制台下用 route print 查看本地的路由信息。
1:数据库是否启动,监听器是否启动。
2. ping 服务器IP,看是否能通
3:检查TNS配置(tnsnames.ora)包括IP、端口这个问题是最基本的,这是连接的基础。这个我建议直接从服务器上拷贝,就不会出错了。我见过的就是因为服务器名后有空格,导致了服务器无法解析。注意,把tnsnames.ora修改以后,它读到的依然是原来的文件,要重启服务才能让你的设置生效。
Oracle中TNS的完整定义:transparence Network Substrate透明网络底层,监听服务是它重要的一部分,不是全部,不要把TNS当作只是监听器
ORACLE当中,如果想访问某个服务器,必须要设置TNS,它不像SQL SERVER那样在客户端自动列举出在局域网内所有的在线服务器,只需在客户端选择需要的服务器,然后使用帐号与密码登录即可。而ORCAL不能自动列举出网内的服务器,需要通过读取TNS配置文件才能列出经过配置的服务器名。配置文件名一般为:tnsnames.ora
4:telnet <目标IP> <目标端口>看能否打开连接,若打不开很可能是服务器的防火墙不允许端口1521上的连接?
或者tnsping ip地址(或者是服务器的实例名SID)如果报“TNS-12535:操作超时”,同上。使用netstat -na 看看1521端口是否已经打开。
关闭防火墙或者配置防火墙允许1521端口被连接5:路由的配置问题
用无线连接外网做上网用,用有线连接内网做连接数据库用。正常情况下,是不能同时实现外网和内网的同时访问的,必须先把路由表的信息设置下,使外网和内网的网关不在同一个子网掩码上。可以在控制台下用 route print 查看本地的路由信息。