ORACLE 透明网关访问 MYSQL 表

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 环境 LINUX 64 BIT ORACLE 11.2.0.4      LINUX 64 BIT MYSQL 5.7.14 1、 MYSQL建立一个用户用于ORACLE DBLINK 建立这里忽略掉 2、 11gR2 默认安装了透明网关检查一下 [ora...
环境 LINUX 64 BIT ORACLE 11.2.0.4
     LINUX 64 BIT MYSQL 5.7.14
1、
MYSQL建立一个用户用于ORACLE DBLINK 建立这里忽略掉
2、
11gR2 默认安装了透明网关检查一下
[orared@roseha1 ~]$ dg4odbc 

Oracle Corporation --- WEDNESDAY NOV 09 2016 15:51:46.233

Heterogeneous Agent Release 11.2.0.4.0 - 64bit Production  Built with
   Oracle Database Gateway for ODBC


dg4odbc 是database gateway for odbc 的简称


3、安装 MYSQL-connector


yum install mysql-connector-odbc.x86_64
这样会安装一些依赖包主要是
mysql-connector*.x86_64.rpm
unixODBC*.x86_64.rpm
unixODBC*.i386.rpm
这里包含了一些需要的库文件
4、配置odbc配置信息
  默认就在/etc/下建立odbc.ini
  我这里配置如下:
  # Setup from the unixODBC64-libs package
[rmt]                                      #连接名
Driver          = /usr/lib64/libmyodbc3.so #驱动
Server          = 192.168.0.150            #mysql服务器ip
Port            = 3306                     #MYSQL端口
User            = 156read                  #建立的MYSQL用户
Password        = test123                  #密码
Database        = test                     #访问的数据


5、测试一下
[root@roseha1 etc]# isql rmt
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
成功


接下来配置oracle的相关配置


6、进入如下目录:
[orared@roseha1 admin]$ pwd
/home/orared/product/11.2.4/hs/admin
建立配置文件格式为init<sid>.ora这个sid就是
listener中配置的sid,我这里打开了trace,正式使用需要关系
trace日志在/home/orared/product/11.2.4/hs/log用于排错
[orared@roseha1 admin]$ more initrmt.ora 
HS_FDS_CONNECT_INFO=rmt
# Data source name in odbc.ini
HS_FDS_TRACE_LEVEL= debug
HS_FDS_SHAREABLE_NAME=libodbc.so
HS_FDS_SUPPORT_STATISTICS=FALSE
HS_LANGUAGE=AMERICAN_AMERICA.WE8ISO8859P15
#
# ODBC env variables
set ODBCINI=/etc/odbc.ini


HS_FDS_SHAREABLE_NAME=libodbc.so这里一定要注意不是
Driver          = /usr/lib64/libmyodbc3.so
中的库文件
7、配置监听
我这里为了不影响现有的监听新建了一个监听LISTENER2
配置如下:
LISTENER2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = roseha1)(PORT = 1523))
  )
SID_LIST_LISTENER2 =
   (SID_DESC =
        (SID_NAME = rmt)
        (ORACLE_HOME = /home/orared/product/11.2.4)
        (PROGRAM = dg4odbc)
        (ENVS=LD_LIBRARY_PATH=/usr/lib64:/usr/lib:/home/orared/product/11.2.4/lib:/home/orared/product/11.2.4/odbc/lib)
   )
8、配置TNSNEAMS.ORA
我这里配置如下注意HS=OK不能少
rmt_150_mysql =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = roseha1 )(PORT = 1523))
    )
    (CONNECT_DATA =
      (SID = rmt)
    )
   (HS = OK)
  )
  
9、建立DBlink


create  database link rmt_150_mysql 
connect to "156read" identified by "test123" using 'rmt_150_mysql';


10、查询数据
select "status" from "test"@RMT_150_MYSQL;


默认情况下LINUX的MYSQL 表名和数据库名是区分大小写的,因为LINUX本身是一个
文件名区分大小的文件系统,但是ORCALE的表名是不区分大小的的。但是字段
MYSQL和ORACLE都不区分大小写。
如果不加上双引号会出现找到表和列。

配置过程遇到一些错误,但是打开
HS_FDS_TRACE_LEVEL = debug 能够很好的找到错误来源,然后解决。

oracle——dg4odbc——odbc——mysql
可以参考:
Detailed Overview of Connecting Oracle to MySQL Using DG4ODBC DatabaseLink [ID 1320645.1]

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
存储 Oracle 关系型数据库
Oracle和MySQL有哪些区别?从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL
从基本特性、技术选型、字段类型、事务提交方式、SQL语句、分页方法等方面对比Oracle和MySQL的区别。
661 18
Oracle和MySQL有哪些区别?从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL
|
3月前
|
Oracle NoSQL 关系型数据库
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
586 2
|
2月前
|
弹性计算 网络协议 网络安全
内网DNS解析&VPN网关联动实现云上访问云下资源
内网DNS解析&VPN网关联动实现云上访问云下资源
|
4月前
|
负载均衡 应用服务中间件 nginx
搭建域名访问环境二(负载均衡到网关)
这篇文章讲述了如何配置Nginx实现域名访问环境,通过负载均衡将请求从Nginx反向代理到服务网关,并提供了详细的配置步骤和测试验证方法。
搭建域名访问环境二(负载均衡到网关)
|
2月前
|
Oracle 关系型数据库 MySQL
shell获取多个oracle库mysql库所有的表
请注意,此脚本假设你有足够的权限访问所有提到的数据库。在实际部署前,请确保对脚本中的数据库凭据、主机名和端口进行适当的修改和验证。此外,处理数据库操作时,务必谨慎操作,避免因错误的脚本执行造成数据损坏或服务中断。
43 0
|
4月前
|
Oracle 关系型数据库 MySQL
Mysql和Oracle数据库死锁查看以及解决
【8月更文挑战第11天】本文介绍了解决MySQL与Oracle数据库死锁的方法。MySQL可通过`SHOW ENGINE INNODB STATUS`查看死锁详情,并自动回滚一个事务解除死锁;也可手动KILL事务。Oracle则通过查询V$LOCK与V$SESSION视图定位死锁,并用`ALTER SYSTEM KILL SESSION`命令终止相关会话。预防措施包括遵循ACID原则、优化索引及拆分大型事务。
211 3
|
4月前
|
Kubernetes 安全 数据安全/隐私保护
利用服务网格实现全链路mTLS(二):通过出口网关访问外部mTLS服务
阿里云服务网格(Service Mesh,简称ASM)提供了一个全托管式的服务网格平台,兼容Istio开源服务网格,简化服务治理,包括流量管理、服务间通信安全及网格可观测性。ASM出口网关统一管理网格内的出口流量,实现全链路加密通信与精细访问控制。本文介绍如何配置ASM出口网关以管理出口流量并发起mTLS通信,涉及配置ServiceEntry、创建出口网关、设置虚拟服务及目标规则等步骤,最终实现安全可控的mTLS服务访问。
169 3
|
5月前
|
存储 SQL 关系型数据库
MySQL设计规约问题之在数据库设计中,为什么要适当考虑反范式的表设计
MySQL设计规约问题之在数据库设计中,为什么要适当考虑反范式的表设计
|
Oracle 关系型数据库 数据库
|
2月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
191 64

推荐镜像

更多