关于用其他32位客户端 连接64位oracle 的lisner的配置方案

网上差了很多资料 都很片面 没有实用价值 只好自己写一份留着以后省的忘了


首先按照前面的方法安装配置好64位oracle 并且本机情况下直接可以用32位client 连接进入oracle  才涉及以下问题:

本文要解决的主要问题:其他用户使用他们自己的电脑连接你服务器上的64位oracle  经常提示监听错误


简单说明下原理  以下都说的是服务器端 不是个人电脑 !!!

oracle安装目录下一般都会有几个文件   比如我的目录下D:\app\Louis_chen\product\11.2.0\dbhome_1\NETWORK\ADMIN

有三个文件listener.ora;sqlnet.ora;tnsnames.ora 这些文件就是配置连接数据库的大家都知道,但是具体怎么用可能就不是很清楚了


listener.ora 用来监听别人电脑登录你的oracle 如果自己登录就不用配置了(但是如果你用plsql/developer登录的话就算是用别人的电脑来登陆  这是后你必须配置这个文件)

tnsnames.ora用来配置你要登录的oracle  ip 端口 和Instance 这个比较简单就不说了


重点

说下我的环境我在本机的network\admin下面没有那三个ora文件,为什么呢?因为我不需要!我在本机上有oracle server也有client,由于oracle64位的不支持plsql/developer所以解决的办法就是下一个32位的oracle client 然后解压到D:\app\Louis_chen\product下,全路径就是D:\app\Louis_chen\product\instantclient_11_2,这时候再用oracle原来有的那三个ora文件复制到里面 就可以用developer登录64位oracle了,所以我用不上在sever那个network\admin下面配置那三个文件。


这时候如果别人想要用他们本地的developer登录你的64位oracle又出现问题了 还是上不去自己上的去为啥?

第一你的服务器要开启监听,然后配置下监听文件,就在刚才的product\insatantclient_11_2下面  全文如下,红字表示要改的!

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\app\Louis_chen\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Louis_chen\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )


ADR_BASE_LISTENER = D:\app\Louis_chen


这时候这个lisentner的意思就是只监听自己,所以谁都登陆不上去,包括自己电脑用developer也登陆不上去 会提示监听没有打开!

你要把这个localhost改成你64位oracle那个服务器的ip地址,这样就表示他监听的是连接他这个ip的所有session!



第二就是你要配置你自己本地电脑(本地电脑连接服务器)的tnsname.ora 全文如下 红字表示要改的!

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 172.28.105.149)(PORT = 1521))




ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )


ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.28.105.149)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )



hzj =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.28.105.149)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )


hzj表示连接名字 就是一个标识没别的意思  你用developer登陆的时候会选择数据库下拉菜单就是那个! 这个的意思不是Instance!!!!2
172.28.105.149表示你要连接的服务器ip地址
orcl表示连接的Instance


最后再强调一点  改完ora配置文件,要重启各种服务才能生效!!!!别说我改完咋还没用啊?那你就2了


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值