ITPub博客

首页 > 数据库 > Oracle > 19c gateway for informix & msql

19c gateway for informix & msql

原创 Oracle 作者:zjwmv 时间:2026-06-23 09:42:46 0 删除 编辑

以前有同事咨询过gateway相关的内容, 当时未深入研究,近期就19c gateway


安装前准备:

1.获取版本

https://edelivery.oracle.com/osdc/faces/SoftwareDelivery 

搜索 Oracle gateway

这里用的V982066-01.zip (Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO)


2. ORACLE数据库具备

安装好数据库(略)


Gateway安装: ( gw for informix )

1.新建gateway目录

mkdir -p /data/gateway_soft

mkdir -p /data/gateway

chown -R oracle.dba /data/gateway_soft/

chown -R oracle.dba /data/gateway/


2.配置ORACLE环境变量 

2.1 添加OGG环境变量 涉及OGG_HOME、PATH、LD_LIBARARY_PATH

####GATEWAY begin

export GATEWAY_HOME=/data/gateway

export PATH=$ORACLE_HOME/bin:$PATH:$ORACLE_HOME/OPatch:$GATEWAY_HOME

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$GATEWAY_HOME:$LD_LIBRARY_PATH

####GATEWAY END


unzip V982066-01.zip  -d /data/gateway_soft


2.2 安装

图形化 

cd /data/gateway_soft/gateways

export DISPLAY=192.168.11.1:0.0

./runInstaller



3、进入gateways主目录查验initdg4ifmx.ora文件:

本次试验目录:/u01/app/oracle/product/19.3.0/db/dg4ifmx/admin

initdg4ifmx.ora


4、复制gateways主目录listener.ora.sample文件内容到oracle的listener.ora文件中:


##最终listener.ora文件如下

cat listener.ora

# listener.ora Network Configuration File: /u01/app/oracle/product/19.3.0/db/network/admin/listener.ora

# Generated by Oracle configuration tools.


LISTENER =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.188)(PORT = 1521))

  )


SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /u01/app/oracle/product/19.3.0/db)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (GLOBAL_DBNAME = orcl19c)

      (ORACLE_HOME = /u01/app/oracle/product/19.3.0/db)

      (SID_NAME = orcl19c)

    )

    (SID_DESC =

      (SID_NAME = dg4ifmx)

      (ORACLE_HOME = /u01/app/oracle/product/19.3.0/db)

      (PROGRAM = dg4ifmx)

    )

  )


5、重启监听,使监听生效:

--重启LISTENER

lsnrctl status

lsnrctl stop

lsnrctl start

lsnrctl status

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 22-JAN-2026 10:55:19

................

Listener Parameter File   /u01/app/oracle/product/19.3.0/db/network/admin/listener.ora

Listener Log File         /u01/app/oracle/diag/tnslsnr/edc-pdf-dmdb01/listener/alert/log.xml

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.11.188)(PORT=1521)))

Services Summary...

Service "dg4ifmx" has 1 instance(s).

  Instance "dg4ifmx", status UNKNOWN, has 1 handler(s) for this service...

Service "orcl19c" has 1 instance(s).

  Instance "orcl19c", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully


6、配置oracle的tnsname.ora文件

##增加informix 的 tns

dg4ifmx =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.188)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = dg4ifmx)

    )

    (HS=OK)

  )


7、Oracle创建dblink:

SQL> create public database link gw_informix connect to "informix" identified by "informix" using 'dg4ifmx';

Database link created.

--删除连接使用下述drop

--drop public database link gw_informix;




8、查询测试:

select * from "aa"@gw_informix;

select * from "informix"."aa"@gw_informix; --注意DB间差异 名称大小写差异问题

tips:

informix间的跨库跨实例有点麻烦 : @符号 暂无法处理 后续研究 ;
可能需要改变思路,原先Informix之间跨库跨实例连接,转变成通过oracle中转


Gateway安装: ( gw for msql )

1. 略

2.配置ORACLE环境变量 

2.1 添加OGG环境变量 涉及OGG_HOME、PATH、LD_LIBARARY_PATH (略)

2.2 安装 for sqlserver

图形化 

cd /data/gateway_soft/gateways

export DISPLAY=192.168.11.1:0.0

./runInstaller


3、进入gateways主目录查验initdg4msql.ora文件:

本次试验目录:/u01/app/oracle/product/19.3.0/db/dg4msql/admin

initdg4msql.ora


多个实例,就直接拷贝:initdg4msql.ora 为 initdg4msql1.ora, initdg4msql2.ora,…, initdg4msqln.ora

里面主要是[IP]:1433//数据库名 有差异


4、复制gateways主目录listener.ora.sample文件内容到oracle的listener.ora文件中:


##最终listener.ora文件如下

cat listener.ora

# listener.ora Network Configuration File: /u01/app/oracle/product/19.3.0/db/network/admin/listener.ora

# Generated by Oracle configuration tools.


LISTENER =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.188)(PORT = 1521))

  )


SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /u01/app/oracle/product/19.3.0/db)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (GLOBAL_DBNAME = orcl19c)

      (ORACLE_HOME = /u01/app/oracle/product/19.3.0/db)

      (SID_NAME = orcl19c)

    )

    (SID_DESC =

      (SID_NAME = dg4ifmx)

      (ORACLE_HOME = /u01/app/oracle/product/19.3.0/db)

      (PROGRAM = dg4ifmx)

    )

    (SID_DESC =

      (SID_NAME = dg4msql)

      (ORACLE_HOME = /u01/app/oracle/product/19.3.0/db)

      (PROGRAM = dg4msql)

    )

  )


5、重启监听,使监听生效:

--重启LISTENER

lsnrctl status

lsnrctl stop

lsnrctl start

lsnrctl status


6、配置oracle的tnsname.ora文件

##增加informix 的 tns

dg4msql =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.188)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = dg4msql)

    )

    (HS=OK)

  )


7、Oracle创建dblink:

SQL> create public database link gw_msql connect to "sa" identified by "xxxxxx" using 'dg4msql';


Database link created.


drop public database link gw_msql;




8、查询测试:

select  * from "dbo"."cdsgus1"@gw_msql;  --注意DB间的差异 名称大小写的问题 跨库跨实例有点麻烦 两个点号不认,目前是配多个监听 tns,dblink来做

select  * from "dbo"."cdsgus"@gw_msql where "id" between 1000 and 1100 ; 


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

请登录后发表评论 登录
全部评论

注册时间:2015-03-05

  • 博文量
    36
  • 访问量
    26764