Oracle到MySQL实时数据互通:透明网关跨库查询终极方案

技术架构概述

节点类型IP示例
Oracle数据库172.18.0.11
透明网关节点192.168.5.20
MySQL数据库10.10.8.100

提示:透明网关支持部署在Oracle服务器实现集中式管理

一、MySQL环境准备

1. ODBC驱动部署

从MySQL官网获取对应版本的ODBC驱动:

# 企业版推荐使用8.0系列驱动
wget https://dev.mysql.com/get/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.17-1.el7.x86_64.rpm

安装验证流程:

rpm -ivh mysql-connector-odbc-8.0.17-1.el7.x86_64.rpm
yum install -y unixODBC*# 查看安装结果
rpm -qa | grep -E 'unixODBC|mysql-connector'

2. 账户权限配置

-- 创建专用对接账户
CREATE USER gateway_user@'%' IDENTIFIED BY 'Gateway_2023!';-- 按需分配权限(生产环境建议细化权限)
GRANT SELECT,INSERT,UPDATE ON operation_db.* TO gateway_user@'%';
FLUSH PRIVILEGES;

二、透明网关部署流程

1. ODBC配置核心参数

/etc/odbc.ini配置内容:

[service_gateway]
Driver = /usr/lib64/libmyodbc8w.so
Description = MySQL Gateway Connection
SERVER = 10.10.8.100
PORT = 3306
USER = gateway_user
PASSWORD = Gateway_2023!
DATABASE = operation_logs
OPTION = 0

2. HS配置模板

$ORACLE_HOME/hs/admin/initsvcdb.ora参数示例:

HS_FDS_CONNECT_INFO = service_gateway
HS_FDS_SHAREABLE_NAME=/usr/lib64/libodbc.so
HS_FDS_SUPPORT_STATISTICS= FALSE
HS_LANGUAGE=AMERICAN_AMERICA.UTF8
HS_FDS_TRACE_LEVEL = debug
HS_NLS_NCHAR=UCS2
# ODBC env variables
set  ODBCINI=/etc/odbc.ini

3. 动态监听配置

listener.ora混合配置样板:

LISTENER_GW =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.20)(PORT = 1531))))SID_LIST_LISTENER_GW =(SID_LIST =(SID_DESC =(PROGRAM = dg4odbc)(SID_NAME = svc_gateway01)(ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1))(SID_DESC =(PROGRAM = dg4odbc)(SID_NAME = svc_gateway02)(ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1)))

启动监听:

lsnrctl start listener_gw

三、Oracle终端配置

1. TNS服务配置

tnsnames.ora配置示例:

PROD_GATEWAY =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.20)(PORT = 1531)))(CONNECT_DATA =(SID = svc_gateway01))(HS = OK))

2. 数据库链接创建

CREATE PUBLIC DATABASE LINK mysql_gw 
CONNECT TO "gateway_user" 
IDENTIFIED BY "Gateway_2023!" 
USING 'PROD_GATEWAY';

3. 跨库查询示例

注意:列名以及表名需要带上双引号

SELECT "order_id", "create_time" 
FROM "order_records"@mysql_gw 
WHERE "status" = 'COMPLETED';

连接成功!

四、典型问题解决指南

案例1:ODBC连接初始化失败

ORA-28545: Net8 error establishing connection
[MySQL][ODBC Driver] SSL handshake failed

解决方案:

  1. MySQL配置文件增加:
[mysqld]
skip_ssl
  1. 重启MySQL服务生效

案例2:认证协议不兼容

[HY000][2061] Authentication plugin error

处理步骤:

ALTER USER 'gateway_user'@'%' 
IDENTIFIED WITH mysql_native_password BY '新密码';

案例3:大字段查询异常

ORA-00600: [HO define: Long fetch]

优化方案:

-- MySQL端创建视图转换数据类型
CREATE VIEW v_safe_articles AS
SELECT id,CAST(content AS CHAR(2000)) AS content_safe
FROM technical_docs;

案例4:连接意外中断

ORA-28511: RPC connection lost

保持连接策略:

# HS配置中添加
HS_IDLE_TIMEOUT = 1440

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/899332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux中断处理流程

Linux中断处理流程 在Linux内核中,中断控制器管理硬件中断号到Linux中断号的映射,并通过中断描述符(struct irq_desc)进行管理。存储这种映射关系的方式取决于中断编号的连续性,具体实现如下: 1. 数组存储&…

JVM 如何打破双亲委派模型?

虽然双亲委派模型是 Java 类加载机制的推荐实现方式,但在某些情况下,为了实现特定的功能,可能需要打破双亲委派模型。以下是一些常见的打破双亲委派模型的方法和场景: 1. 重写 loadClass 方法 (不推荐): 原理: java.l…

Java 大视界 -- 基于 Java 的大数据隐私计算在医疗影像数据共享中的实践探索(158)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

logstash收集数据

防止ES的的I/O的压力过大,使用redis/kafka进行缓冲。 对redis的要求 Redis input plugin | Logstash Reference [8.17] | Elastic 一般企业要求的架构 我实现的架构 filebeat把数据传给logstash 配置好filebeat把收集到的数据输入到redis 然后执行命令&#xff0…

使用ModbusRTU读取松下测高仪的高度

使用C#通过Modbus RTU读取松下测高仪高度 1. 准备工作 1.1 硬件连接 确保松下测高仪支持Modbus RTU协议(需查阅设备手册确认)。通过RS-485或RS-232接口连接设备与计算机,可能需要USB转串口适配器。确认通信参数(波特率、数据位、停止位、奇偶校验),常见设置为:9600波特…

详解Http:在QT中使用Http协议

目录 一、HTTP 概述 1、主要特点 2、HTTP 方法 3、HTTP 状态码 4、HTTP 头部 5、HTTP的工作原理 二、在Qt中使用HTTP 1、发送简单的HTTP请求 2、发送POST请求 3、处理异步请求 4、使用QSslConfiguration进行HTTPS 5、 处理JSON响应 6、处理错误 三、总结 一、HTTP…

MAXKB部署,使用和注意事项

MaxKB Max Knowledge Base,是一款基于大语言模型和 RAG 的开源知识库问答系统,广泛应用于智能客服、企业内部知识库、学术研究与教育等场景。作为一款专注于知识库问答场景的软件产品,MaxKB 能够为企业的智能化进程注入新的动力,…

刚刚整理实测可用的股票数据API接口集合推荐:同花顺、雅虎API、智兔数服、聚合数据等Python量化分析各项数据全面丰富

在金融科技高速发展的今天,股票API接口已成为开发者、量化交易者和金融从业者的核心工具之一。它通过标准化的数据接口,帮助用户快速获取实时或历史市场数据,为投资决策、策略回测和金融应用开发提供支持。本文将深入解析股票API的核心功能、…

C笔记20250325

一:宏常量 和 const常量的区别 宏常量 使用预处理器指令#define来定义。 #define PI 3.14159 没有类型信息,仅仅是简单的文本替换。这意味着编译器不会对宏进行类型检查,可能导致潜在的错误。宏不是变量,不占用内存空间。它只是在预处理阶…

docker - compose up - d`命令解释,重复运行会覆盖原有容器吗

docker - compose up - d`命令解释,重复运行会覆盖原有容器吗 docker - compose up - d 是一个用于管理 Docker 容器的命令,具体含义如下: 命令含义: up:用于创建、启动并运行容器,会根据 docker - compose.yml 文件中定义的服务配置来操作。-d:表示以“分离模式”(det…

03-SpringBoot3入门-配置文件(自定义配置及读取)

1、自定义配置 # 自定义配置 zbj:user:username: rootpassword: 123456# 自定义集合gfs:- a- b- c2、读取 1)User类 package com.sgu.pojo;import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.spring…

【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置

噩梦终结:Flutter 配安卓、鸿蒙、iOS 真机调试环境 问题背景 很多开发者在配置 Flutter 项目环境时遇到困难,尤其是在处理 Android、鸿蒙和 iOS 真机调试环境时。卓伊凡最近接手了一个项目,发现很多“专业程序员”在环境搭建上花费了大量时…

进程状态:Linux的幕后指挥管理,穿越操作系统进程的静与动

文章目录 引言:进程的生命与状态:动与静的交响曲一、操作系统中的进程状态概述1.1 经典的进程状态模型1.2 进程状态转换图 二、Linux操作系统中的进程状态2.1 Linux进程状态的分类2.2 各状态的详细解释 2.3 Linux进程状态表2.4 使用ps查看进程状态三、进…

MOSN(Modular Open Smart Network)-05-MOSN 平滑升级原理解析

前言 大家好,我是老马。 sofastack 其实出来很久了,第一次应该是在 2022 年左右开始关注,但是一直没有深入研究。 最近想学习一下 SOFA 对于生态的设计和思考。 sofaboot 系列 SOFAStack-00-sofa 技术栈概览 MOSN(Modular O…

基于深度学习的图像超分辨率技术研究与实现

一、引言 在数字图像处理领域,图像超分辨率技术一直是一个备受关注的热点话题。随着人们对图像质量要求的不断提高,如何将低分辨率图像提升到高分辨率,同时保持图像的细节和清晰度,成为了一个极具挑战性的问题。传统的图像超分辨率…

构建高可用性西门子Camstar服务守护者:异常监控与自愈实践

在智能制造领域,西门子Camstar作为领先的MES系统承载着关键生产业务。但在实际运维中,我们发现其服务常因数据库负载激增(如SQL阻塞链超时)或应用服务器资源耗尽(CPU峰值达90%以上)导致服务不可用。传统人工干预方式平均故障恢复时间长达47分钟,这对连续生产场景构成了严…

Java Collection API增强功能系列之二 List.of、Set.of、Map.of

Java 9集合工厂方法:用List.of、Set.of、Map.of创建安全不可变集合 Java 9引入了革命性的集合工厂方法List.of、Set.of和Map.of,彻底改变了开发者创建小型不可变集合的方式。这些方法不仅语法简洁,还在安全性和性能上实现了质的飞跃。本文将…

网络通信微服务

网络通信 VPN 服务器分配内网 IP,加密所有流量,以使用外网访问内网资源 使用了VPN只是第一关,只进入了人家的大厅,只可以访问公共服务(像是只可以在人间公司的大厅里溜达),若想要访问人家提供的高级服务&a…

arm之s3c2440的I2C的用法

基础概念 IC(Inter-Integrated Circuit)又称I2C,是是IICBus简称,所以中文应该叫集成电路总线。 IIC的总线的使用场景,所有挂载在IIC总线上的设备都有两根信号线,一根是数据线SDA,另一 根是时钟…

算法 | 蜣螂优化算法原理,引言,公式,算法改进综述,应用场景及matlab完整代码

蜣螂优化算法(Dung Beetle Optimizer, DBO)详解 1. 算法原理 蜣螂优化算法(DBO)是一种基于自然界蜣螂行为的元启发式优化算法,灵感来源于蜣螂的滚球、繁殖、觅食和偷窃行为。其核心思想是通过模拟蜣螂在复杂环境中的协作与竞争机制,解决全局优化问题。关键行为模拟: 滚球…