ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 透明网关 oracle 10g for sqlserver 和sybase的配置

透明网关 oracle 10g for sqlserver 和sybase的配置

原创 Linux操作系统 作者:paulyibinyi 时间:2011-06-16 17:11:05 0 删除 编辑

1.  安装透明网关oracle 10g for windows版本

  安装介质10201_gateways_win32.zip

oracle11g开始,才开始提供透明网关for unix版本的下载。

在装的过程中选择for sqlserverfor sybase,并且输入sqlserver所在数据库的ip地址和数据库名和sysbase所在数据库的ip地址和数据库名。

2.  透明网关所在服务器listener.ora配置

      LISTENER =

       (ADDRESS_LIST=

          (ADDRESS=(PROTOCOL=tcp)(HOST=86.28.23.44)(PORT=1521))

          (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))

 

     SID_LIST_LISTENER=

       (SID_LIST=

       (SID_DESC=

          (SID_NAME=tg4msql)   --for sqlserver网关

          (ORACLE_HOME=/oracle/app/oracle/product/10.2)

          (PROGRAM=tg4msql)

        )

       (SID_DESC=

          (SID_NAME=tg4sybs)   --for sysbase网关

          (ORACLE_HOME=/oracle/app/oracle/product/10.2)

          (PROGRAM=tg4sybs)

        )

       )

 

 注意实例名为什么是tg4msql主要是看$ORACLE_HOME/tg4msql/admin/

   inittg4msql,init后面一串tg4msql就是sid_name

 sysbase也是一样

$ORACLE_HOME/tg4sybs/admin/inittg4sybs

重启监听,查看lsnrctl status,监听到tg4msqltb4sybs的服务。
    

3.  透明网关所在服务器配置tnsnames.ora文件

 

tg4msql =   --for sqlserver

      (DESCRIPTION=

       (ADDRESS=(PROTOCOL=tcp)(HOST=86.28.23.44)(PORT=1521))

        (CONNECT_DATA=(SID=tg4msql))

       (HS=ok)

      )

 

 

tg4sybs =   --for sybase

      (DESCRIPTION=

       (ADDRESS=(PROTOCOL=tcp)(HOST=86.28.23.44)(PORT=1521))

        (CONNECT_DATA=(SID=tg4sybs))

       (HS=ok)

      )

 

4.  配置 inittg4msqlinitg4sybs文件

文件存放路径$ORACLE_HOME/tg4msqltg4sybs/admin下的inittg4msqlinittg4sybs文件

 

inittg4msql配置如下:

HS_FDS_CONNECT_INFO="SERVER=86.28.16.5;DATABASE=CKTS_ZH"   --10g连接sqlserver写法

#HS_FDS_CONNECT_INFO=[86.28.16.5]//CKTS_ZH    --11g连接sqlserver写法

HS_LANGUAGE=AMERICAN_AMERICA.US7ASCII   --字符集设置

HS_TRANSACTION_MODEL=READ_ONLY_AUTOCOMMIT  --事物处理 sqlserver

HS_FDS_TRANSACTION_MODEL= READ_ONLY_AUTOCOMMIT   --事物处理sybase

HS_FDS_TRACE_LEVEL=OFF

HS_FDS_RECOVERY_ACCOUNT=RECOVER

HS_FDS_RECOVERY_PWD=RECOVER

 

Inittg4sybs配置如下:

 

HS_FDS_CONNECT_INFO=dec_cits.zjcits
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
HS_FDS_TRANSACTION_MODEL=
READ_ONLY_AUTOCOMMIT
#
# Environment variables required for Sybase
#
set SYBASE=d:\sybaseserver

 

5.  测试连通性

 

创建dblink访问sqlserver数据库,

 

创建一个用户paul/paul

Connect paul/paul

SQL> create database link dblink_cms connect to "root" identified by "rootcms" using 'tg4msql';

Database link created.

注意,要用双引号将root, rootcms引起来。

SQL> select count(*)  from cpcode@dblink_cms;

     在客户那遇到问题是,一直hang在那,没有结果集出来,也没有反应,如果按ctrl+c则报下面错误,在metalink没查到相关案例,最后是通过重启oracle 10g数据库和重启透明网关所在的服务器解决,重启后,能正常查询。

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

请登录后发表评论 登录
全部评论
学习数据库

注册时间:2007-12-11

  • 博文量
    903
  • 访问量
    6607012