标题很唬人,最后很崩溃。。
下午在服务器(win2003 64bit)上建好oracle实例,在客户端本地配置好tnsname.ora里的服务名。
testxgd =
(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.132)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = testxgd) ) )结果plsql连不上。
开启服务器上的监听程序:
开启远程监听服务:
lsnrctl start关闭远程监听服务:lsnrctl stop查看监听状态:lsnrctl status服务器本地可以测试:
c:>tnsping testxgd
如果客户端本地装了oracle客户端,可执行远程测试:
c:>tnsping 192.168.1.132:1521/testxgd结果因为服务器本地测试一直失败,然后苦苦研究D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN目录下的三个ora配置文件,各种改。
还是不行。最后把三个文件还改成原来的配置,如下:
tnsname.ora:
testxgd =
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = svctag-8d8bk2x)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = testxgd) ) )listener.ora:
LISTENER =
(DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = svctag-8d8bk2x)(PORT = 1521)) ) )sqlnet.ora:
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
特此记录下来,以防以后忘了乱改。。
突然想起了防火墙。。于是跑到组里其他oracle服务器上一看,防火墙果然都关了,虽然这不太安全,但是。。顾不了那么多了。。
于是把132的防火墙狠狠的关了,也不选择过滤规则了。。结果一连,松松的就成功了!
虽然此时本地tnsping testxgd还是报无效的TNS 03505 :无法解析名称的错误。补充一下,后来我把实例删除,重新建了一下,就完美了。
好伤。。
结论:不要轻易把问题想得很复杂,先从常识入手。防火墙。。。