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 ...
- RocketMQ多master迁移至多master多slave模式
一.项目背景 由于当前生产环境RocketMQ机器使用年限较长,已经过保,并且其中一台曾经发生过异常宕机事件.并且早期网络规划较乱,生产.开发.测试等网络没有分开,公司决定对当前网络进行规划,区分各个 ...
- 【maven】【IDEA】idea中使用maven编译项目,报错java: 错误: 找不到符号 【2】
=================================================================================== idea中使用maven编译项目 ...
- kali渗透综合靶机(十四)--g0rmint靶机
kali渗透综合靶机(十四)--g0rmint靶机 靶机下载地址:https://www.vulnhub.com/entry/g0rmint-1,214/ 一.主机发现 1.netdiscover - ...
- Immediate Window
name="ZFF""ZFF"date=new DateTime(2017,02,03,21,19,45){2/3/2017 21:19:45 PM} Date ...
- python语法01
在某.py文件中调用其他.py文件中的内容. 全局变量的使用. 线程的使用. if name == 'main': 的作用 新建两个python脚本文件 f1File.py ""& ...
- MVC 表格按树状形式显示 jstree jqgrid
1. 界面顯示 2.前端 jqgrid 代码 //加载表格 function GetGrid() { var selectedRowIndex = 0; var $gridTable = $('#gr ...
- WPF MVVM框架(5)
前面几章节所讲到的内容, 基本上属于前端XAML的使用方法, 那么本章及后面的章节, 则会侧重于UI与业务分离如何分离 . UI与业务逻辑之间的互操作性,, 下面将介绍WPF中, 比较主流的MVVM框 ...
- ajax的jQuery的表单序列化获取参数serialize()
需要引入jQuery.js才能使用$("form表单的id").serialize()可获取form表单里面所有表单元素的值和name属性值,按顺序拼接成查询字符串格式为name值 ...
- SpringBoot的学习一:入门篇
SpringBoot是什么: SpringBoot是Spring项目中的一个子工程,是一个轻量级框架. SpringBoot框架中有两个个非常重要的策略:开箱即用和约定优于配置 一.构建工程 1.开发 ...