时间:2021-07-01 10:21:17 帮助过:104人阅读
透明 网关 配置 总结 最近因为工作中用到 透明 网关,在网上查到了一堆相关 配置 的文档,但是跟我的实际情况都有些差异, 总结 如下: 一.参数 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===============