安装64位11gR2 Gateway访问32位MS SQL-Server遇到的问题

      前几天接到一个任务,要求给我们负责的数据库上配置一个透明网关,因为以前配置过10g的,大概看了几眼11g的官方文档,估计应该跟10g的配置一样,感觉应该 什么难度,正好自己本机上就有一个 p13390677_112040_Linux-x86-64_5of7 的安装包,然后直接 sftp上传,解压,然后打开xstart准备开始安装。
       很快安装结束并执行root.sh  以上不在复述, 然后在配置监听的地方遇到点问题,因为是在已经有数据库的机器上的安装,所以listener port不能是原有数据库listener 1521 ,要换成其他的端口,这里给换成了1522,监听名称为LISTENER_B 结果启动的时候就报错,然后查看listener.ora如下:
LISTENER_B =
 (ADDRESS_LIST=
   (ADDRESS=(PROTOCOL=tcp)(HOST= 192.168.1.112 )(PORT=1522))
 )

SID_LIST_LISTENER_1W=
  (SID_LIST=(
     SID_DESC=(SID_NAME=dg4msql) 
    (ORACLE_HOME=/app/gateway/product/11.2)
(PROGRAM=dg4msql))
  )
官方文档中说,如果已经存在监听的需要 在listener.ora配置文件当中也要如下的修改:
LISTENER_B  =
  (DESCRIPTION_LIST =
    (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.112)(PORT = 1522))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
    )
  )

SID_LIST_ LISTENER_B  =
 (SID_LIST =
   (SID_DESC =(SID_NAME = PLSExtProc)
   (ORACLE_HOME = /app/gateway/gw_2/product/11.2)
   (PROGRAM = extproc)
   )
   (SID_DESC =(SID_NAME = msdb10k)
   (ORACLE_HOME = /app/gateway/gw_2/product/11.2)
   (PROGRAM=dg4msql)
   )
 )
因为在$ GATEWAY_HOME /dg4msql/admin目录下的initdg4msql.ora文件我给改成了initmsdb10k.ora,这里 我设置的SID就是msdb10k(因为10G就是这么设置的,SID是自己起的名字

设置之后监听就起来了,但是创建的dblink就一直 ORA-28500的错误 但是最后就是访问不了,排查了用户密码大小写的问题,用双引号小写来创建dblink还是不行, 一直报错,询问之后才知道MS SQL-Server是32位的。 估计可能 32位和64位 版本的问题, 我装的gateway是x64的,最后只得 删除之后重新安装32位的gateway。装好,建好 监听,发现 用dblink还是不行,最后排查到原来11g需要使用MS SQL-Server的 真实 的数据库名称,然后把 在$ GATEWAY_HOME /dg4msql/admin目录下的initdg4msql.ora改成实际的initccdb.ora
listeners.ora也进行修改:
LISTENER_B =
  (DESCRIPTION_LIST =
    (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.112)(PORT = 1522))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
    )
  )

SID_LIST_LISTENER_B =
 (SID_LIST =
   (SID_DESC =(SID_NAME = PLSExtProc)
   (ORACLE_HOME = /app/gateway/gw_2/product/11.2)
   (PROGRAM = extproc)
   )
   (SID_DESC =(SID_NAME = ccdb)
   (ORACLE_HOME = /app/gateway/gw_2/product/11.2)
   (PROGRAM=dg4msql)
   )
 )
最后用
CCDB=
   (DESCRIPTION =
    (ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.112)(PORT = 1522))
    )
    (CONNECT_DATA =(SID = ccdb)
    )
    (HS=OK)
)
来创建dblink,成功。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12216142/viewspace-1124540/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12216142/viewspace-1124540/

你可能感兴趣的:(安装64位11gR2 Gateway访问32位MS SQL-Server遇到的问题)