oracle11g透明网关配置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
透明网关11g+sqlserver配置
1 环境描述
1.1 Oracle gateway11
IP地址:192.168.1.8
电脑名称:Oracle_Gateway
gateway11主目录:C:\product\11.2.0\tg_1\
1.2 Sql server
SQL server1:版本SQL server 2000
IP地址:192.168.1.9
实例名:MSQL1如果版本SQL server 2005以后的需要有实例名称
数据库名:HR2
用户名:XX
密码:******
SQL server2:版本SQL server 2000
IP地址:192.168.1.7
实例名:MSQL2如果版本SQL server 2005以后的需要有实例名称
数据库名:HR1
用户名:XX
密码:******
2 修改文件
配置透明网关主要涉及两个部分的文件:
启动文件:用于配置SQL SERVER服务器的连接信息,每台SQL SERVER对应一个启动文件
监听文件:一个文件,把每个启动文件对应的SID配置进去
2.1 启动文件
位置:C:\product\11.2.0\tg_1\dg4msql\admin\
这个文件是配置连接sql server用的,文件名组成结构是init+SID.ora
此例中需要配置两台SQL SERVER服务器,因此在启动文件目录下新建两个文件,文件内
2.2 监听文件
位置:C:\product\11.2.0\tg_1\NETWORK\ADMIN\listener.ora
文件内容如下:
修改oracle数据库监听文件
1.用oracle身份登录oracle服务器
2.进入/u2/oracle/11g/network/admin主目录
3.修改listener.ora文件
SID_LIST_LISTENER =
(SID_LIST =
##第一个服务SID
(SID_DESC =
(SID_NAME = HR1)
(ORACLE_HOME = /u2/oracle/11g)
(PROGRAM = dg4odbc)
)
##第二个服务SID
(SID_DESC =
(SID_NAME = HR2)
(ORACLE_HOME = /u2/oracle/11g)
(PROGRAM = dg4odbc)
)
)
LISTENER2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle_Gateway)(PORT = 1523))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1523))
)
)
4.修改tnsnames.ora文件
HR1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle_Gateway)(PORT = 1523)) )
(CONNECT_DATA =
(SERVICE_NAME = HR1)
)
(HS = OK)
)
HR2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle_Gateway)(PORT = 1523)) ) --HOST透明网关主机IP
--PORT透明网关监听端口
(CONNECT_DATA =
(SERVICE_NAME = HR2) ##--透明网关监听SID名,需与前述监听文件对应)
(HS = OK) ##表示异构数据库,非常关键
)
5.重新启动oracle 监听运行lsnrctl start(start启动、stop停止、status查看状态等
6.同时
7.如果主机名解析不到,可在/etc/hosts里面增加一条192.168.1.8 ORACLE_GATEW AY
8.
3 启动监听
运行lsnrctl start(start启动、stop停止、status查看状态等,其他命令可自行查看)。
******************************************************************************* 至此,透明网关已经可以使用,在所使用的ORACLE主数据库配置DBLINK后即可使用。
Pl/sql访问:
SELECT "EmpNo","EmpName","Business","ListName"
from Rs_BasicInfo@HR2 a
LEFT OUTER JOIN Rs_CorSub@HR2 b
ON a."Business"=b."ListId"
WHERE a."YNStop"='0'AND a."EmpNo"='02912';
select * FROM pch@HR1;