zoukankan      html  css  js  c++  java
  • 在oracle配置mysql数据库的dblink

           本文介绍如何在oracle配置mysql数据库的dblink;虽然dblink使用很占资源;俗称“性能杀手”。但有些场景不得不使用它。例如公司使用数据库是oracle;可能其他部门或者CP合作公司使用的数据库是mysql。若需要数据对接。

    步骤

    1. 下载和安装 [ODBC Driver Manager]
    2. 下载和安装 [MySQL Connector/ODBC driver]
    3. 配置odbc.ini
    4. 配置环境变量
    5. 配置 tnsnames.ora
    6. 配置 listener.ora
    7. 配置监听的初始化文件
    8. 创建dblink

    1. 下载和安装 [ODBC Driver Manager]

    #创建一个目录用于放置驱动包环境

    [oracle@oracle169 ~]$ cd $ORACLE_BASE
    [oracle@oracle169 app]$ mkdir tools
    [oracle@oracle169 app]$ cd tools

    #下载和安装 unixODBC-2.2.14-linux-x86-64.tar.gz ;并上传到tools目录下。并解压
    #下载地址https://sourceforge.net/projects/unixodbc/files/?source=navbar

    [oracle@oracle169 tools]$ tar -zxvf unixODBC-2.2.14-linux-x86-64.tar.gz
    [oracle@oracle169 tools]$ mkdir unixodbc-2.2.14
    [oracle@oracle169 tools]$ mv usr/local/* unixodbc-2.2.14/
    [oracle@oracle169 tools]$ rm -rf usr/

    2. 下载和安装 [MySQL Connector/ODBC driver]

    #下载解压对应版本 mysql-connector-odbc-5.3.7-linux-el6-x86-64bit.tar.gz;本次linux环境是6.5
    下载地址 https://dev.mysql.com/downloads/connector/odbc/

    [oracle@oracle169 tools]$ tar -zxvf mysql-connector-odbc-5.3.7-linux-el6-x86-64bit.tar.gz
    [oracle@oracle169 tools]$ mv mysql-connector-odbc-5.3.7-linux-el6-x86-64bit my5

    3. 配置odbc.ini;

    [oracle@oracle169 tools]$ vim odbc.ini 
    [testdb]    
    Driver = /u01/app/tools/my5/lib/libmyodbc5a.so
    SERVER =      #mysql服务器ip
    PORT =        #mysql数据库端口
    USER =        #mysql数据库用户名
    PASSWORD =    #mysql数据库密码
    DATABASE =    #mysql数据库
    OPTION = 3
    SOCKET =

    4. 配置环境变量

    在.bash_profile 后面添加下面

    export PATH=/u01/app/tools/unixODBC-2.2.14/bin:$PATH
    export LD_LIBRARY_PATH=/u01/app/tools/unixODBC-2.2.14/lib:$LD_LIBRARY_PATH
    export ODBCINI=/u01/app/tools/odbc.ini

    source .bash_profile之后;这个时候可以测试上面配置是否正确
    执行 isql -v testdb
    若出现这个;表示上面配置是OK的。

    +---------------------------------------+
    | Connected! |
    | sql-statement |
    | help [tablename] |
    | quit |
    | |
    +---------------------------------------+

    5. 配置 tnsnames.ora

    在后面添加

    testdb =
     (DESCRIPTION =
       (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
       (CONNECT_DATA =
         (SID = testdb))
         (HS=OK)
        )
      )

    6. 配置 listener.ora

    #加入红色部分;并重启监听

    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC =
         (SID_NAME = testdb)
         (ORACLE_HOME =/u01/app/oracle)
         (PROGRAM = dg4odbc)
         (ENVS=LD_LIBRARY_PATH=/u01/app/tools/unixODBC-2.2.14/lib)
        )
      )    

    7. 配置监听的初始化文件

    [oracle@oracle169 tools]$ vim $ORACLE_HOME/hs/admin/inittestdb.ora
    # This is a sample agent init file that contains the HS parameters that are
    # needed for the Database Gateway for ODBC
    
    # HS init parameters
    
    HS_FDS_CONNECT_INFO = testdb
    HS_FDS_FETCH_ROWS=100
    HS_RPC_FETCH_SIZE=50000
    HS_FDS_TRACE_LEVEL = off
    HS_FDS_SHAREABLE_NAME = /u01/app/tools/unixODBC-2.2.14/lib/libodbc.so
    HS_LANGUAGE=american_america.we8iso8859p1
    HS_NLS_NCHAR=UCS2
    #
    # ODBC specific environment variables
    #
    set ODBCINI= /u01/app/tools/odbc.ini
    
    #
    # Environment variables required for the non-Oracle system
    #
    #set <envvar>=<value>

    8. 创建dblink

    create public database link db_testdb connect to "mysql_user" identified by "password" using 'testdb';
  • 相关阅读:
    CentOS7 1 安装 ansible
    CentOS7 prometheus +node_exporter+Grafana 配置篇(原创)
    CentOS7 prometheus +node_exporter+Grafana 安装篇
    Oracle 查询重复记录 只保留一条 (转载)
    MySQL 查询重复数据(转载)
    Mongodb 查询重复数据(转载)
    Python报错:pymongo.errors.CursorNotFound: Cursor not found
    百万级高并发MongoDB集群性能数十倍提升优化实践(上篇)
    OPPO百万级高并发mongodb集群性能数十倍提升优化实践(下篇) 转载
    Oracle 常见等待事件及处理方法
  • 原文地址:https://www.cnblogs.com/lottu/p/7095263.html
Copyright © 2011-2022 走看看