zoukankan      html  css  js  c++  java
  • 【Oracle】 11g透明网关连接Sqlserver

    1、扯扯前奏

      记的2017年的五一假期,在享受假期的同时突发奇想,Oracle中怎么能查到SQL Server的数据,当时也百度了好多,搞了应该也有一天的时间吧,安装了Oracle透明网关以后却没能连上SQL Server,后来也就搁浅了,现在是2018年12月4日,在这个项目了支援了快两个月了,感觉可能会用到这块,今天就凑时间了测试了下;不得不说今天的运气还是挺好的。 

    2、不得不说的来龙去脉

      oracle 透明网关是oracle连接异构数据库提供的一种技术。通过Gateways,可以在Oracle里透明的访问其他不同的数据库,如SQL Server, DB2, Sybase等等,就像远程Oracle数据库一样。

    3、按图就办

      备注:当时安装时没有截图,图片是在网上找的,不过内容是对的。

     3.1 解压透明网关的压缩包,点击setup.exe安装

       

     3.2 安装目录选择和ORACLE一致

      

     3.3 选择组件,因为要链接到SQL SERVER

      

     3.4 填写SQL SERVER的主机名和数据库名称

      

     3.5 开始安装

      

     3.6 安装完成后就退出了,因为监听要手动配置。

    4、配置透明网关

      4.1 在D:appproduct11.2.0 g_2dg4msqladmin目录下,个人安装的路径,因人而异。这个目录下可以看到以下initdg4msql.ora文件,上面在安装透明网关时有配置链接SQL SERVER数据的地址和数据库名称,在这里都可以体现。

    HS_FDS_CONNECT_INFO=127.0.0.1:1433//Test
    HS_FDS_TRACE_LEVEL=OFF
    HS_FDS_RECOVERY_ACCOUNT=RECOVER
    HS_FDS_RECOVERY_PWD=RECOVER

      检查一下HS_FDS_CONNECT_INFO是否是我们想要链接的地址,格式为:目标数据库的IP地址:端口//数据库名。SQL SERVER的默认端口是1433。这个文件名也比较有讲究。格式为initSID.ora。现在这个文件名是initdg4msql.ora。

     4.2 配置透明网关的监听,D:appproduct11.2.0 g_2NETWORKADMINlistener.ora

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
        )
      )
      
    SID_LIST_LISTENER=
      (SID_LIST=
          (SID_DESC=
             (SID_NAME=dg4msql)
             (ORACLE_HOME=D:appproduct11.2.0	g_2)
             (PROGRAM=dg4msql)
          )
      ) 
    
    ADR_BASE_LISTENER = D:appproduct11.2.0	g_2

     这里需要注意的主要是一下几点:

        PROGRAMdg4msql:因为实例的配置文件在dg4msql目录下,就是上面的initdg4msql.ora文件所在的目录

        SID_NAMEdg4msql:这个sid就是上面的文件名中的sidinitdg4msql.orasiddg4msql

        ORACLE_HOME就是我们透明网关的安装目录

        ORACLE的监听端口是1522,我的oracle和透明网关是安装在自己的电脑上,所以透明网关的监听端口设置为1522

        一个initSID.ora文件就对应一个SID_DESC,可以根据想要链接的数据库来配置。

     4.3 启动透明网关的监听

      在命令行执行lsnrctl start,或者直接去服务那启动监听OracleOraGtw11g_home1TNSListener,这个服务名根据具体而定,每人可能不太一样。服务启动好了就OK。

     4.4 配置tns信息,来到D:appAdministratorHomeproduct11.2.0dbhome_1NETWORKADMIN 

    #透明网关 
    dg4msql =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
        )
        (CONNECT_DATA =
          (sid = dg4msql)
        )
        (HS = OK)
      )

     4.5 测试tns

      重启oracle监听服务和透明网关服务后在命令行输入:tnsping dg4msql。

     4.6 建立DBLINK

    create database link LOCALSQL          
               connect to "sa" identified by "qweasd"
               using '( DESCRIPTION =
                    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1433))   
                    (CONNECT_DATA = (
                    SID = Test ) )   
                    (HS=OK ))';

     4.7 查询实例

      

       

      

  • 相关阅读:
    ubuntu video and audio
    js type
    jumpserver 堡垒机环境搭建
    ubuntu dnsmasq
    bind--dns-docker---[nslookup/dig]
    java maven scope compile,provide,system,test,runtime
    docker install and minikube install
    nginx break-circus orange api-gateway
    一个IP能建立的最大连接数是多少?
    Docker 在6.4上安装
  • 原文地址:https://www.cnblogs.com/Zeros/p/10067552.html
Copyright © 2011-2022 走看看