oracle 配置DBlink 链接mysql库
一,环境配置与准备、简介
| \ | 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库的更多相关文章
- oracle通过dblink连接mysql配置详解(全Windows下)
关于oracle通过dblink连接mysql,经过了两周的空闲时间研究学习,终于配置好了,真是不容易啊,仔细想想的话,其实也没花多长时间,就是刚开始走了一段弯路,所以把这次的经验分享出来,让大家少走 ...
- Tools下的mdscongiguer 文件中 43行 oracle 配置 发现需要连接库 -lclntsh libclntsh.so 库是个什么东西呢?
Tools下的mdscongiguer 文件中 43行 oracle 配置 发现需要连接库 -lclntsh libclntsh.so 库是个什么东西呢? 分想一个知乎网 ...
- Ubuntu中部署Django项目的配置与链接MySQL
Django的简介 MVT模式的介绍创建项目的虚拟环境 本次使用的是pip安装 一.更新 sudo apt update 二.安装pip sudo apt install python3-pip 三. ...
- [Oracle, MySQL] Oracle通过dblink连接MySQL
http://blog.csdn.net/dbanote/article/details/10488581 版权声明:本文为博主原创文章,未经博主允许不得转载. 业务上有这么一个需求,需要把Oracl ...
- oracle通过DBlink连接mysql(MariaDB)
1.安装先装 mysql-connector-odbc(或 mariadb-connector-odbc )和unixODBChttps://downloads.mariadb.org/mariadb ...
- Oracle通过dblink连接MySQL
需要把MySQL的一些数据同步到Oracle,用ETL工具太麻烦了,通过参考官方文档实现了oracle to mysql dblink.每次修改配置后,需要重启监听才能生效,或者 reload一下,确 ...
- 配置EF链接 MySql 的方法
材料: 1.MySQL for Visual Studio 1.2.4.msi 下载:http://dev.mysql.com/downloads/windows/visualstudio/ 2.my ...
- Web 应用之数据库的配置 与链接 Mysql
source 绝对路径.sql(绝对路径是对应数据库版本包下的) source时是有先后顺序的必须是create 在insert 在 下面是链接,上面是把数据导入到数据库中,数据也可以自己写进去. 配 ...
- 在oracle配置mysql数据库的dblink
本文介绍如何在oracle配置mysql数据库的dblink:虽然dblink使用很占资源:俗称“性能杀手”.但有些场景不得不使用它.例如公司使用数据库是oracle:可能其他部门或者CP合作公司使用 ...
随机推荐
- Springboot如何打包部署项目
原文地址 目录 前言 1. 导入插件 2.idea中快速打包 3.java –jar运行项目 4.访问项目 5.发布到服务器 前言 用心写好每一篇文章,真心对待每一个读者 文章首发地址: www.ja ...
- 如何在 C# 中自定义 Comparer,以实现按中文拼音(a-z)来排序
1. 为何要自定义 Comparer a. 先看如下代码 class Program { public static void Main(string[] args) { List<string ...
- 【Java面试题】short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?
昨天去面试,虽然体验不是很好, 但是看到了这个面试题,当时感觉无从下手,所以在这里记录一下. 解决这道题之前,先复习一下Java的基本数据类型转换规则,以便后面对面试题的理解. java的基本数据类型 ...
- VMware+windbg时快照功能的使用
VMware+windbg时快照功能的使用 一.快照功能的使用 我们在编写与调试驱动文件时经常会面临死机蓝屏情况,如果像平常一样重启,再重新配置环境,肯定会占用大量时间. Vmware虚拟机给我们提供 ...
- 3-Consul 使用手册
原文:http://www.liangxiansen.cn/2017/04/06/consul/ Consul包含多个组件,但是作为一个整体,为你的基础设施提供服务发现和服务配置的工具.他提供以下关键 ...
- python算法题 python123网站单元四题目
目录 一:二分法求平方根 二:Collatz猜想 三:算24(只考虑满足,不考虑把所有情况找出来) 下面向大家介绍几个python算法题. 一:二分法求平方根 1.题目要求为 2.输入输出格式为 ...
- 在秉火STM32F429挑战者开发板上移植Huawei LiteOS指南
昨天在B站上突然看到了一个短视频,是在正点原子的战舰V3开发板上移植华为的Huawei LiteOS操作系统,就是这个视频:看完鸿蒙OS发布会,试用华为的物联网操作系统Lite OS(B站),于是呢, ...
- Vue内置组件[回顾]
1.动态组件 在某些场景,往往需要我们动态切换页面部分区域的视图,这个时候内置组件component就显得尤为重要. component接收一个名为is的属性,is的值应为父组件中注册过的组件的名称, ...
- 前端开发JS——对象与原型
27.创建对象 ①工厂模式批量创建对象 缺点:无法对象识别,即所有对象都是Object类型;方法内存空间浪费/封装不太完善 function sayName(){ //可以有效节省内存空间 c ...
- CSS常用布局方式-两列布局、三列布局
CSS基础 2.几种布局方式1)table布局 当年主流的布局方式,第一种是通过table tr td布局 示例: <style type="text/css"> ta ...