一,环境配置与准备、简介

\ oracle mysql
主机名 oracle01 mysqlre1
IP 192.168.0.10 192.168.0.187

    本文章是oracle通过dblink连接mysql

二,安装基础环境

  01,透明网关、ODBC

     默认安装oracle数据库的时候,会配置安装好这个,当然有的还是会没有安装的,验证是否安装:   

在oracle环境下:
[oracle@oracle01 ~]$ cd $ORACLE_HOME/hs/

这个就代表安装成功了。

  如果没有的话:

   访问网站:https://www.oracle.com/downloads/

我的是11G然后进去,然后下载数据库文件来下载gatways软件,具体还是百度吧,我有这个,------,不懂联系我

  02,ODBC-mysql安装

     官网下载地址:https://dev.mysql.com/downloads/connector/odbc/

     rpm 下载地址:https://dev.mysql.com/get/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.11-1.el6.x86_64.rpm

   我直接下载rpm的。

安装:

安装基础安装包:

yum install unixODBC*
 [root@oracle01 ~]# yum install unixODBC*
Loaded plugins: fastestmirror, langpacks
base | 3.6 kB ::
epel | 5.3 kB ::
extras | 2.9 kB ::
updates | 2.9 kB ::
zabbix | 2.9 kB ::
zabbix-non-supported | B ::
(/): base//x86_64/group_gz | kB ::
(/): epel/x86_64/group_gz | kB ::
(/): extras//x86_64/primary_db | kB ::
(/): epel/x86_64/updateinfo | 1.0 MB ::
(/): zabbix/x86_64/primary_db | kB ::
(/): base//x86_64/primary_db | 6.0 MB ::
(/): epel/x86_64/primary_db | 6.9 MB ::
(/): updates//x86_64/primary_db | 5.8 MB ::
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package unixODBC.x86_64 :2.3.-.el7 will be updated
---> Package unixODBC.x86_64 :2.3.-.el7 will be an update
---> Package unixODBC-devel.x86_64 :2.3.-.el7 will be updated
---> Package unixODBC-devel.x86_64 :2.3.-.el7 will be an update
--> Finished Dependency Resolution Dependencies Resolved ========================================================================================
Package Arch Version Repository Size
========================================================================================
Updating:
unixODBC x86_64 2.3.-.el7 base k
unixODBC-devel x86_64 2.3.-.el7 base k Transaction Summary
========================================================================================
Upgrade Packages Total download size: k
Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for base
(/): unixODBC-devel-2.3.-.el7.x86_64.rpm | kB ::
(/): unixODBC-2.3.-.el7.x86_64.rpm | kB ::
----------------------------------------------------------------------------------------
Total 1.0 MB/s | kB :
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
Updating : unixODBC-2.3.-.el7.x86_64 /
Updating : unixODBC-devel-2.3.-.el7.x86_64 /
Cleanup : unixODBC-devel-2.3.-.el7.x86_64 /
Cleanup : unixODBC-2.3.-.el7.x86_64 /
Verifying : unixODBC-devel-2.3.-.el7.x86_64 /
Verifying : unixODBC-2.3.-.el7.x86_64 /
Verifying : unixODBC-devel-2.3.-.el7.x86_64 /
Verifying : unixODBC-2.3.-.el7.x86_64 / Updated:
unixODBC.x86_64 :2.3.-.el7 unixODBC-devel.x86_64 :2.3.-.el7 Complete!

保证安装成功

   03,mysql创建远程用户与远程数据库   

mysql> show databases;
+-------------------------+
| Database |
+-------------------------+
| information_schema |
| mysql |
| #mysql50#mysql-bin-obar |
| performance_schema |
| sys |
+-------------------------+
rows in set (0.00 sec) mysql> create database test;
Query OK, row affected (0.00 sec)
mysql> use test
Database changed
mysql> create table test ( id int ,name varchar());
Query OK, rows affected (0.03 sec)
mysql> insert into test (id,name) values (,'nihao');
Query OK, row affected (0.00 sec)
mysql> grant all privileges on test.* to 'kingle'@'%' IDENTIFIED BY '123456';
Query OK, rows affected, warning (0.00 sec)
连接测试
[root@mysqlre1 ~]# mysql -ukingle -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.7.-log Source distribution Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
+--------------------+
rows in set (0.00 sec) mysql>

  04,配置文件配置

    在oracle数据库上配置odbc连接mysql的环境

[oracle@oracle01 hs]$ cat /etc/odbc.ini
[mysql_test]
Description = ODBC for MySQL
Driver = /usr/lib64/libmyodbc8w.so
Server = 192.168.0.187 ---mysql远程地址
Port = ----mysql 端口
User = kingle ----mysql连接用户
Password = ---mysql 连接密码
Database = test ---mysql连接数据库
[oracle@oracle01 hs]$ cat /etc/odbcinst.ini
[MySQL]
Description=ODBC for MySQL
Driver=/usr/lib/libmyodbc5.so
Setup=/usr/lib/libodbcmyS.so
Driver64=/usr/lib64/libmyodbc5.so
Setup64=/usr/lib64/libodbcmyS.so
FileUsage=
UsageCount=

  05,配置连接监听地址

[oracle@oracle01 admin]$ cd  $ORACLE_HOME/network/admin
[oracle@oracle01 admin]$ pwd
/u01/app/oracle/product/11.2./db_1/network/admin
[oracle@oracle01 admin]$ cat listener.ora SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.2./db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = oracle01)
(SID_NAME = oracle01)
(ORACLE_HOME = /u01/app/oracle/product/11.2./db_1)
)
(SID_DESC = ##主要添加这一段,前面的默认是oracle的,这一段才是mysql的
(SID_NAME = mysql_test) ##给需要链接的mysql配置一个名字,这个后续连接的时候需要用上其他的默认看自己主机情况修改
(ORACLE_HOME = /u01/app/oracle/product/11.2./db_1)
(PROGRAM = dg4odbc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.10)(PORT = ))
)
)
[oracle@oracle01 admin]$ cat tnsnames.ora
mysql_test= ---链接名字
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.10)(PORT = ))
)
(CONNECT_DATA =
(SERVICE_NAME= mysql_test) ---连接实例名,与listence那个对应
)
(HS = OK)
)
[oracle@oracle01 admin]$

重启监听

[oracle@oracle01 db_1]$ lsnrctl stop
[oracle@oracle01 db_1]$ lsnrctl start

测试连接

[oracle@oracle01 admin]$ tnsping mysql_test

TNS Ping Utility for Linux: Version 11.2.0.4. - Production on -DEC- ::

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

Used parameter files:

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.10)(PORT = ))) (CONNECT_DATA = (SERVICE_NAME= mysql_test)) (HS = OK))
OK ( msec)

 06,连接测试

    oracle数据库上链接mysql测试

发现成功了,

  07,配置initdg4odbc.ora

  进入oracle_home 目录下找到hs\admin目录中initdg4odbc.ora文件并复制一份。然后修改复制文件。把文件名称改为init+刚刚配置数据源名称(本实例为mysql_test).ora   

[oracle@oracle01 admin]$ pwd
/u01/app/oracle/product/11.2./db_1/hs/admin
[oracle@oracle01 admin]$ cat initmysql_test.ora
HS_FDS_CONNECT_INFO = mysql_test
HS_FDS_TRACE_LEVEL = on
HS_FDS_SHAREABLE_NAME = libodbc.so
HS_LANGUAGE = AMERICAN_AMERICA.UTF8
HS_NLS_NCHAR = UCS2
[oracle@oracle01 admin]$

  HS_FDS_TRACE_LEVEL =on 这里最好设置on 网上一般将都是设置为off,为了查看错误日志,最好改为on,日志存在 $ORACLE_HOME/hs/log 下面。
同样这行HS_FDS_SHAREABLE_NAME=libodbc.so 一定不能少,不然后面会报错
ORA-28500: connection from ORACLE to a non-Oracle system returned this message。

  08,创建dblink

create public database link mysql_test connect to "kingle" identified by "123456" using 'mysql_test'; 

create public database link mysql_test (创建的link名字可以自己写)connect to "kingle"(需要链接mysql的用户名) identified by "123456"(需要连接的密码) using 'mysql_test'(使用的监听,就是tns配置的那个名字); 

    

连接成功

查看成功

  

oracle 配置DBlink 链接mysql库的更多相关文章

  1. oracle通过dblink连接mysql配置详解(全Windows下)

    关于oracle通过dblink连接mysql,经过了两周的空闲时间研究学习,终于配置好了,真是不容易啊,仔细想想的话,其实也没花多长时间,就是刚开始走了一段弯路,所以把这次的经验分享出来,让大家少走 ...

  2. Tools下的mdscongiguer 文件中 43行 oracle 配置 发现需要连接库 -lclntsh libclntsh.so 库是个什么东西呢?

    Tools下的mdscongiguer     文件中 43行  oracle 配置      发现需要连接库 -lclntsh      libclntsh.so 库是个什么东西呢? 分想一个知乎网 ...

  3. Ubuntu中部署Django项目的配置与链接MySQL

    Django的简介 MVT模式的介绍创建项目的虚拟环境 本次使用的是pip安装 一.更新 sudo apt update 二.安装pip sudo apt install python3-pip 三. ...

  4. [Oracle, MySQL] Oracle通过dblink连接MySQL

    http://blog.csdn.net/dbanote/article/details/10488581 版权声明:本文为博主原创文章,未经博主允许不得转载. 业务上有这么一个需求,需要把Oracl ...

  5. oracle通过DBlink连接mysql(MariaDB)

    1.安装先装 mysql-connector-odbc(或 mariadb-connector-odbc )和unixODBChttps://downloads.mariadb.org/mariadb ...

  6. Oracle通过dblink连接MySQL

    需要把MySQL的一些数据同步到Oracle,用ETL工具太麻烦了,通过参考官方文档实现了oracle to mysql dblink.每次修改配置后,需要重启监听才能生效,或者 reload一下,确 ...

  7. 配置EF链接 MySql 的方法

    材料: 1.MySQL for Visual Studio 1.2.4.msi 下载:http://dev.mysql.com/downloads/windows/visualstudio/ 2.my ...

  8. Web 应用之数据库的配置 与链接 Mysql

    source 绝对路径.sql(绝对路径是对应数据库版本包下的) source时是有先后顺序的必须是create 在insert 在 下面是链接,上面是把数据导入到数据库中,数据也可以自己写进去. 配 ...

  9. 在oracle配置mysql数据库的dblink

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

随机推荐

  1. CodeForces 463D DP

    Gargari got bored to play with the bishops and now, after solving the problem about them, he is tryi ...

  2. virsh 查看信息

    获取域网络接口信息 virsh domiflist debian8 获取vcpu信息 virsh vcpuinfo debian8 设定内存最大内存 virsh setmaxmem debian8 9 ...

  3. 解决基于TypeScript 的 RN项目相对路径引入组件的问题

    一.前言 在开发RN项目时,经常会要使用这样的方式(../../../)来引入组件,感觉非常繁琐,如果项目结构层级比较多,引入的头部更加分不清. 那有没有一种方案和vue项目一样,经过配置后简写路径, ...

  4. linq 获取不重复数据,重复数据 var unique = arr.GroupBy(o => o).Where(g => g.Count() == 1) .Select(g => g.ElementAt(0));

    static void Main(string[] args) { int[] arr = { 1, 3, 3, 3, 3, 4, 5, 4, 5, 8, 9, 3 }; //不重复 var uniq ...

  5. c# "As" 与 "Is"效率 (原发布csdn 2017-10-07 11:49:18)

    十一长假就要过去了,今年假期没有回家,一个人闲着无聊就在看C#语言规范5.0中文版.昨天看了 is运算符和 as运算符,平时项目中也有用到这两种符号,对于其效率也没有进行比较过,趁着假期有空,先看下效 ...

  6. c# sqlserver 删除大批量数据超时

    我做的项目有个功能需要进行批量删除,删除的数据量有4.5W条数据. 通过下面的sql语句删除这么多数据,直接导致结果超时,无法删除数据. ,,,......) 我查了一些资料,可能找的不全,找到了一个 ...

  7. CentOS7下配置防火墙放过Keepalived

    Keepalived是一个轻量级的HA集群解决方案,但开启防火墙后各节点无法感知其它节点的状态,各自都绑定了虚拟IP.网上很多文章讲要配置防火墙放过tcp/112,在CentOS7下是无效的,正确的做 ...

  8. jmeter入门操作 = 录制

    没安装工具的朋友请先看:https://www.cnblogs.com/cainiaoxiansheng/p/11007754.html 软件装好,功能了解好,那么就开始进入正题,先来一波录制 不要鄙 ...

  9. jenkins19年最新最管用的汉化

    今天准备学学jenkins ,官方下载了一个最新版本,发现是英文版,网上找个许多汉化方式,几乎都是一种,下载插件 :Locale plugin ....很尴尬,下载完了还是没有汉化 ,是不是jenki ...

  10. 微信小程序使用函数防抖解决重复点击消耗性能问题

    wxml: <view bindtap="doubleTap" bindtouchstart="touchStart" bindtouchend=&quo ...