PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

透明网关配置总结

原创
2016-06-07 15:09:35 1672浏览

透明 网关 配置 总结 最近因为工作中用到 透明 网关,在网上查到了一堆相关 配置 的文档,但是跟我的实际情况都有些差异, 总结 如下: 一.参数 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===============

 
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。