广告位联系
返回顶部
分享到

使用Oracle通过gateway连接MSSQL的流程

oracle 来源:互联网 作者:佚名 发布时间:2024-12-06 21:51:30 人浏览
摘要

环境概述 某医院的his系统Oracle数据库要和体检系统进行数据通讯,需要从Oracle能查到sqlserver的数据。本次通过Oracle gateway来解决此问题。 HIS服务器:windows server 2016+数据库oracle11.2.0.4,假设IP是

环境概述

某医院的his系统Oracle数据库要和体检系统进行数据通讯,需要从Oracle能查到sqlserver的数据。本次通过Oracle gateway来解决此问题。

HIS服务器:windows server 2016+数据库oracle11.2.0.4,假设IP是192.168.100.9

体检服务器:windows server 2016+数据库MSSQL2016,假设IP是192.168.100.10

大体流程就是4步:安装gateway软件、配置gateway的监听服务、修改Oracle端tnsnames.ora添加服务、创建DBLINK

部署gateway软件

该软件可以选择部署在如下位置:

1、和Oracle在同一台主机

2、和MSSQL在同一台主机

3、单独的物理服务器

该软件就是11g 安装包里的第5个包,P13390677_112040_MSWIN-X86-64_5OF7.ZIP

安装方法十分的简单,几乎就是下一步下一步。注意windows运行setup.exe时尽量右键“以管理员身份运行”避免出现权限问题。

我这里选择安装在MSSQL服务器192.168.100.10上。

默认会安装在 <系统盘符>:\product\11.2.0\tg_1目录下,这里我只贴比较重要的地方,就是这里要选上sqlserver对应的地方。

image.png

这里填写MSSQL的连接信息:

数据库服务器主机名:就是MSSQL服务器的IP地址

实例名:如果是默认的MSSSQL这里可以不填写

数据库名:写上要连的数据库名

然后继续安装即可

image.png

最后一步会让你配置监听服务,这里默认勾选执行典型配置即可,回头再修改监听配置。

注意,我下面的示例没有使用默认的典型配置,而是修改了监听名称为GW_LISTENER,端口使用了1522

image.png

MSSQL服务器网关目录下设置

1、比如我这个配置案例,安装完后默认会在如下目录:D:\product\11.2.0\tg_1\dg4msql\admin下生成配置文件initdg4msql.ora,其中dg4msql为网关使用的服务名(实例名),文件内容如下(就是图形那步的数据库配置信息),我这里选择不修改。

1

2

3

4

HS_FDS_CONNECT_INFO=[192.168.100.10]//OLD

HS_FDS_TRACE_LEVEL=OFF

HS_FDS_RECOVERY_ACCOUNT=RECOVER

HS_FDS_RECOVERY_PWD=RECOVER

2、创建GATEWAY监听服务,如果与Oracle装同一台主机用1522,要去D:\product\11.2.0\tg_1\bin下执行netca.bat创建服务GW_LISTENER(起这个名是为了可识别),这里注意改的静态监听SID_LIST_GW_LISTENER要和GW_LISTENER对应

D:\product\11.2.0\tg_1\NETWORK\ADMIN\listener.ora

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

# listener.ora Network Configuration File: D:\product\11.2.0\tg_1\network\admin\listener.ora

# Generated by Oracle configuration tools.

GW_LISTENER =

(DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.10)(PORT = 1522))

    )

  )

SID_LIST_GW_LISTENER=

 (SID_LIST=

      (SID_DESC=

        (GLOBAL_DBNAME = dg4msql)

         (SID_NAME=dg4msql)

         (ORACLE_HOME=D:\product\11.2.0\tg_1)

         (PROGRAM=dg4msql)

      )

  )

  

ADR_BASE_GW_LISTENER = D:\product\11.2.0\tg_1

此监听配置成功后,可看到服务在监听dg4msql。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

d:\product\11.2.0\tg_1\BIN>LSNRCTL.EXE status GW_LISTENER

  

LSNRCTL for 64-bit Windows: Version 11.2.0.4 - Production on 28-11月-2024 14:20:05

  

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

  

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.100.10)(PORT=1522)))

LISTENER 的 STATUS

------------------------

别名                      GW_LISTENER

版本                      TNSLSNR for 32-bit Windows: Version 11.2.0.1.4 - Production

启动日期                  28-11月-2024 14:19:08

正常运行时间              0 天 0 小时 0 分 56 秒

跟踪级别                  off

安全性                    ON: Local OS Authentication

SNMP                      OFF

监听程序参数文件          D:\product\11.2.0\tg_1\network\admin\listener.ora

监听程序日志文件          d:\product\11.2.0\tg_1\diag\tnslsnr\ORASERVER\gw_listener\alert\log.xml

监听端点概要...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.10)(PORT=1522)))

服务摘要..

服务 "dg4msql" 包含 1 个实例。

  实例 "dg4msql", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

命令执行成功

Oracle侧配置添加tns

在Oracle服务器上,修改tnsnames.ora,进入到$ORACLE_HOME/network/admin目录下编辑tnsnames.ora,增加配置如下:

1

2

3

4

5

6

dg4msql =

  (DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.10)(PORT = 1522))

   (CONNECT_DATA =  (SID = dg4msql))

   (HS = OK )

  )

验证链接

在Oracle数据库创建DBLINLK

1

CREATE DATABASE LINK toMSSQL CONNECT TO "sa" IDENTIFIED BY "XXXXXX" USING 'dg4msql';

查询即可

1

SELECT * FROM 表名@toMSSQL;


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 使用Oracle通过gateway连接MSSQL的流程

    使用Oracle通过gateway连接MSSQL的流程
    环境概述 某医院的his系统Oracle数据库要和体检系统进行数据通讯,需要从Oracle能查到sqlserver的数据。本次通过Oracle gateway来解决此问题。
  • oracle数据库被锁定的解除方案介绍

    oracle数据库被锁定的解除方案介绍
    oracle数据库被锁定如何解除 使用以下SQL语句查询Oracle被锁定的表 1 2 SELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects b, v$ses
  • Oracle锁表处理方式介绍
    Oracle锁表处理 1.查看被锁的表 1 2 3 select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id 2.查看锁表
  • oracle临时表WITH AS用法介绍
    临时表分类 oracle临时表分为会话级临时表和事务级临时表; 会话级的临时表只与当前会话相关,只要当前会话还存在,临时表中的数据就还
  • oracle的sqlnet.ora文件配置传输加密算法介绍
    oracle的sqlnet.ora文件配置传输加密算法 sqlnet.ora文件位于ORACLE_HOME/network/admin目录中。 sqlnet.ora文件中增加如下: 1 2 3 4 SQLNET.ENCRYPTION_SERVER = R
  • Linux服务器下oracle实现rman自动备份的方式
    为确保oracle数据库数据的安全和一致性,一般我们都需要利用备份手段进行数据库的备份。在oracle数据库中,rman因其强大的功能和完善的手
  • Oracle数据库中表压缩的实现方式和特点
    Oracle数据库中表压缩的实现方式和特点 1 基本表压缩(Basic Table Compression) 基本表压缩主要用于较少更新的表,如数据仓库。它通过压缩由
  • Oracle表空间时间点恢复的方法介绍

    Oracle表空间时间点恢复的方法介绍
    已有一个数据库全备,在PDB中恢复被drop掉的表空间 1.新建表空间 1 create tablespace PITR_TBS datafile /u01/app/oracle/oradata/PRODCDB/PDBPROD2/PITR_TBS01.dbf s
  • Oracle Instant Client环境配置全过程

    Oracle Instant Client环境配置全过程
    本地没有安装oracle 1.配置Oracle Instant Client环境 到Oracle官网下载Oracle Instant Client,注意选择x86平台,Toad只认32位的Oracle Instant Client。 至于版本
  • Oracle使用RMAN进行数据库恢复的实现
    1. 准备工作 在开始恢复之前,需要确保以下几点: 已安装并配置 Oracle 数据库。 有适当的备份文件可供恢复。 拥有适当的数据库管理员权
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计