oracle无法连接端口,Oracle 开放端口(经过端口映射无法连接)

当前位置:我的异常网» 数据库 » Oracle 开放端口(经过端口映射无法连接)

Oracle 开放端口(经过端口映射无法连接)

www.myexceptions.net  网友分享于:2015-08-26  浏览:51次

Oracle 开放端口(通过端口映射无法连接)

转自:http://hi.baidu.com/suofang/item/cbcc40f5e038d1df6325d211

Oracle 9I 安装在Win2003上,WIN2003只开放端口1521端口,则远程telnet 1521端口能通,但是数据库连接不上。原因如下:

Oracle客户端连接服务器,首先去找1521监听端口,服务器的1521监听端口再向server process进程发出请求,并返回一个随机端口,返回给客户端,客户端再来连接这个端口。

Matalink上提供了三种解决办法,实际上USE_SHARED_SOCKET 是最有效最方便的。

方法一:

在windows2003的注册表中,hkey_local_machine\software\oracle\home0\下加入字符串值:

USE_SHARED_SOCKET=TRUE,在服务器上开启TCP“1521”端口,重启ORCALE服务器即可!

方法二:

1、首先将数据库实例改为SHARED SERVER模式

2、以SYSDBA登录SQLPLUS,通过SQLPLUS生成系统当前的参数设置文件pfile:create pfile='d:\init.ora' from spfile;

3、修改d:\init.ora文件,在其中增加(用editplus编辑):*.service_names='your service name'和*.dispatchers='(address=(protocol=tcp)(host=localhost)(port=1521)(dispatchers=1)'

4、生成新的SPFILE:create spfile from pfile='d:\init.ora';

5、重启动数据库。

6、在防火墙中开放1521端口。

方法三:

在数据库端(也可以是另外的机器,但是cman的机器必须和数据库都在防火墙的后面)安装了cman的前提下,启动cman,然后开放防火墙端的1630端口(看cman开的是什么端口啦),最后在客户端的tnsnames.ora文件中添加:

cmantest = (description = (address_list = (address =

另:

安装完Windows版的Oracle 10G 后,开启了windows 2003自带的防火墙,发现在本机可以访问oracle数据库,但在远程不能连接,一直都在报连接超时。关闭防火墙后,可以用远程连接Oracle 10G 数据库。但开启防火墙后,又不能连接,说明问题出在防火墙上,防火墙开启TCP 1521端口,仍然不能连接数据库。解决问题的办法如下:

1.如果是Oracle 8i ,修改注册表HKLM\Software\Oracle,增加一个字符串值USE_SHARED_SOCKET = TRUE。

2.如果是非Oracle 9i,打开%Oracle_Home%\bin\oracle.key文件,按里面的路径HKLM增加一个字符串值USE_SHARED_SOCKET = TRUE。

3.增加以后重启机子让注册表生效。

如果是Linux下的Oracle,只要在防火墙中打开TCP 1521端口就可以连接了。

文章评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值