欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

透明网关配置总结

程序员文章站 2024-02-15 17:28:29
...

透明 网关 配置 总结 最近因为工作中用到 透明 网关,在网上查到了一堆相关 配置 的文档,但是跟我的实际情况都有些差异, 总结 如下: 一.参数 oracle server : 138.20.1.1 (oracle9i AIX) tansparent gateway: 138.20.1.2(windows 2003) sqlserver:138.20.

透明网关配置总结

最近因为工作中用到透明网关,在网上查到了一堆相关配置的文档,但是跟我的实际情况都有些差异,总结如下:


一.参数
oracle server : 138.20.1.1 (oracle9i AIX)
tansparent gateway: 138.20.1.2(windows 2003)
sqlserver:138.20.1.4
sqlserver db name: ufdata_260_2009(sqlserver2k)

二.tansparent gateway机器配置
1.安装transparent gateway for sqlserver,只有windows版本
2.在$ORACLE_HOME/tg4msql/admin/下增加透明网关指向文件
inittg4msql260.ora,内容如下:
#
# HS init parameters
#
HS_FDS_CONNECT_INFO="SERVER=138.20.1.4;DATABASE=UFDATA_260_2009"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER

注意inittg4msql260.ora命名规则,init+侦听名
本例侦听是tg4mssql260,必须与后面的侦听文件配置的一致。

3.在$ORACLE_HOME/network/admin/下修改侦听:
listener.ora,内容如下:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\ora92)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = tg4msql260 )
(ORACLE_HOME = e:\oracle\ora92)
(PROGRAM = tg4msql )
)
)
4.重新启动透明网关所在机器的侦听
lsnrctl stop
lsnrctl start

三、oracle server配置
1.修改$ORACLE_HOME/network/admin/tnsnames.ora文件;
指向的透明网关所在机器
内容如下:
INFODB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 138.20.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = infodb)
)
)

sqlserver260 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 138.20.1.2)(PORT = 1521))
)
(CONNECT_DATA =
(SID = tg4msql260 )
)
(HS = ok )
)
2.建立链接数据库
drop database link mssql260;
create database link mssql260 connect to oracle identified by lion1 using 'sqlserver260';
3.测试
select * from dbo.table@mssql260;

四、sqlserver 配置
新增recover用户,建立recover相关表
具体见脚本create_user_sqlserver.sql
sp_addlogin 'RECOVER','RECOVER','master'
go
use master
go
exec sp_grantdbaccess N'RECOVER', N'RECOVER'
go
exec sp_addrolemember N'db_owner', N'RECOVER'
go
use ufdata_260_2009
go
exec sp_grantdbaccess N'RECOVER', N'RECOVER'
go
exec sp_addrolemember N'db_owner', N'RECOVER'
go
use ufdata_260_2009
go
DROP TABLE HS_TRANSACTION_LOG
go

CREATE TABLE HS_TRANSACTION_LOG(
GLOBAL_TRAN_ID char (64) NOT NULL,
TRAN_COMMENT char (255) NULL
)
go

五、总结

1.透明网关目前只有Windows版本,所以本案例特意增加了一台Windows机器,运行透明网关服务,这个机器上必须保证侦听开启;

2.sqlserver里建立recover用户及相关表,主要是为了解决sqlserver锁表的问题;实际应用时,我查了主要跟2阶段提交有关;

=============end===============