ESB产品Oracle数据库升级说明

2023-10-31

ESB企业服务总线平台作为支撑企业综合集成的产品,在应用集成、数据集成、数据治理等解决方案都发挥着非常重要的作用。随着产品和解决方案的不断优化和升级,ESB企业服务总线平台功能需要逐步进行完善,不断提升产品功能的完备性、易用性和全面性。

为了更好的适配企业大数据量的使用要求,近期对ESB产品的应用数据库类型进行了扩展,原来的产品只支持MySQL数据库,升级后可以兼容Oracle数据库。在升级的过程中涉及到了部分文件的修改和配置,下面进行介绍说明。

1总体概述

本文将对如何升级ESB产品适配Oracle数据库进行介绍,并对升级Oracle数据库进行需求分析,介绍在什么场景下需要调整,以及具体实现思路。由于两个数据库中的语法有部分不一样,所以需要对于不同的数据库类型进行适配。

1.1总体概述

本次开发需要参照原ESB中的MySQL数据库对应升级兼容Oracle数据库。MySQL数据库具有体积小、速度快、成本低等优势,开放源码更是使其大受欢迎。Oracle数据库具有移植性好,使用方便、功能强等优势,各种相应的开发工具或者可视化工具都比MySQL多些。二者语法上的差异并不是很大,都是一些细枝末节,脚本基本围绕增、删、改、查等基本操作,所以对于这种脚本转换的语法需要进行细致的了解并修改。

1.2场景说明 

原ESB产品已经有Oracle数据库初始化文件,但一直使用MySQL数据库进行开发,增添了很多SQL数据,本次主要把MySQL数据库的数据同步转移到Oracle数据库并且实现用户切换数据库时可以自动切换成对应数据库类型的SQL语句执行。目前MySQL数据库的文件为“mysql.sql”文件,Oracle数据库的文件为“oracle.sql”文件,需要把这些文件的数据导入到Oracle数据库,进行升级开发。

1.3实现思路

对于如何进行Oracle数据库的升级步骤介绍说明。

1.在Oracle创建ESB库(本次升级的Oracle版本为12c); 

2.导出MySQL的数据库结构;

3.通过Navicat数据传输功能把MySQL数据同步到Oracle; 

4.修改数据库配置文件:

(1)修改dataSource.type=sqlmap4oracle;

(2)修改数据库连接改成Oracle数据库连接;

5.对应sqlmap4oracle目录进行调整,把sqlmp里的xml文件复制到sqlmap4oracle目录下;

6.修改xml里的sql语句改成能够Orcale在运行的SQL(调整顺序先调整首页和登录页面的,再根据ESB功能模块调整)。

7.运行ESB产品功能,全生命周期对功能测试调整

2数据同步

首先需要在Oracle数据库中做一些前置工作,包括创建表空间以及用户,并把MySQL数据库中的初始化数据进行数据传输到Oracle中。

2.1创建数据

Navicat是数据库可视化连接工具,该工具可以连接各种数据库如MySQL和Oracle。在MySQL中,数据库和用户之间的关系不是特别明显,只要我们连接到MySQL服务器,就可以看到所有的数据库和表,而Oracle新建一个用户没有任何资源和权限,需要我们为其分配资源权限,也可以在这个用户下面建立表,但不能像Oracle那样建数据库,因为对Oracle来说,一个用户就对应MySQL的一个数据库。所以迁移数据库,需要在Oracle中创建一个与相应MySQL数据库同名的用户

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ESB产品Oracle数据库升级说明 的相关文章

  • Innodb页面大小设置

    在innodb中 页面大小默认为16kb 如何将页面大小设置为 8kb 是否有在源编译步骤中设置的选项 您不需要在源编译步骤中指定页面大小 MySQL 5 6 及更高版本支持不同的页面大小 无需重新编译 但是 您必须在初始化 InnoDB
  • 根据最大值连接表

    这是我正在谈论的内容的一个简化示例 Table students exam results id name id student id score date 1 Jim 1 1 73 8 1 09 2 Joe 2 1 67 9 2 09 3
  • mod_rewrite, .htaccess 连接mysql数据库

    我希望 htaccess 文件中的 mod rewrite 链接到 mysql 数据库以向我提供映射信息 具体来说 我使用单个代码库来托管多个站点 因此 如果用户请求图像 例如 http www example com images car
  • 主键默认可以为NULL吗?为什么这样描述呢?

    我有一张桌子 当我describe这是 mysql gt DESC my table Field Type Null Key Default Extra contact id int 11 NO PRI NULL auto incremen
  • 如何使用 SQL 对项目进行排序,然后按另一个条件再次排序

    我正在使用 MySQL 我想对记录进行排序 或者我想对记录进行分组 然后按另一个条件再次对其进行排序 例如我有 6 个项目 Names Group Jack G1 Dian G2 Emily G2 Dean G1 Teddy G2 Gabe
  • 从java运行sqlplus脚本的简单方法

    我有包含 sqlplus 特定脚本的 sql 文件 它包括 或 作为语句终止符 执行存储过程的 EXEC 等 我需要从 java jdbc 执行此脚本 而不需要 sqlplus sql ant任务 maven sql插件无法处理不同的终止符
  • 我不断收到此 mysql 错误代码 #1089

    CREATE TABLE movies movie movie id INT 3 NULL AUTO INCREMENT movie name VARCHAR 25 NULL movie embedded id VARCHAR 50 NUL
  • 用于全文搜索和 2 亿多条记录的数据库

    我即将创建一个包含至少 2 亿个条目的庞大数据库 数据库需要可使用全文进行搜索 并且速度应该很快 我的数据库从许多不同的数据源获取数据 我需要定期导入新的或更新的数据 将我的所有数据存储在像 mysql 这样的关系数据库中 然后创建一个 n
  • 如何使用Python3.4在tornado中进行异步mysql操作?

    我现在使用Python3 4 我想在Tornado中使用异步mysql客户端 我已经发现torndb https github com bdarnell torndb但在阅读其源代码后 我认为它无法进行异步mysql操作 因为它只是封装了M
  • 在 SQL 中如何获得整数的最大值?

    我试图从 MySQL 数据库中找出整数 有符号或无符号 的最大值 有没有办法从数据库本身提取这些信息 是否有我可以使用的内置常量或函数 标准 SQL 或 MySQL 特定的 At http dev mysql com doc refman
  • 内连接 3 个表

    我正在使用 PHP 和 PDO 我需要重新收集连接 3 个表的信息 photos albums 相册照片 该表具有以下结构 photos photo id int path varchar nick varchar date timesta
  • PHP-MySQLi 连接随机失败并显示“无法分配请求的地址”

    大约两周以来 我一直在处理 LAMP 堆栈中最奇怪的问题之一 长话短说 与 MySQL 服务器的随机连接失败并显示错误消息 Warning mysqli real connect HY000 2002 Cannot assign reque
  • java.lang.NoSuchMethodError:没有虚拟方法 setTag(Ljava/lang/Object;)

    我刚刚完成使用登录和注册屏幕与齐射的代码 但在模拟器中运行时我收到此错误 java lang NoSuchMethodError No virtual method setTag Ljava lang Object Lcom android
  • Laravel 读写连接不同步

    我在 Laravel 5 2 应用程序中使用读写 MySQL 连接设置 mysql gt write gt host gt env DB HOST WRITE localhost read gt host gt env DB HOST RE
  • 如何删除MySQL中的所有事件

    如果我想删除某个事件 我需要查询类似的内容 DROP EVENT IF EXISTS eventname 但我找不到一次性删除所有事件的命令 必须一项一项地删除 有没有一次性删除所有事件的SQL DROP EVENT IF EXISTS S
  • 将非常大的Python列表输出保存到mysql表中

    我想将 python 生成的列表的输出保存在 mysql 数据库的表中 该表如下所示 mysql 中的 myapc8 表 https i stack imgur com 4B4Hz png这是Python代码 在此输入图像描述 https
  • sql直接获取表行数的方法

    stackoverflow 的朋友们大家好 我的例行程序中有一个我认为不必要的步骤 假设您想从图库中获取所有图像 并限制每页一定数量的图像 db PDO object start pagenum x images per page limi
  • 每当 SQLERROR 永远不起作用时

    我不知道可能是什么原因 我已经在网上花了几个小时试图找出我的情况出了什么问题 我查过官方文档 https docs oracle com cd B19306 01 server 102 b14357 ch12052 htm还有一些汤姆 凯特
  • 如何关闭整个数据库的区分大小写

    我创建了一个包含许多脚本和许多存储过程的数据库 在这个数据库中 我们没有注意担心区分大小写 因为它对于我的本地开发计算机来说是关闭的 综上所述 我试图弄清楚如何使以下两条语句返回相同的结果 SELECT FROM companies SEL
  • mysql 查询选择当月的所有行?

    我有一个名为 startdate 的日期时间类型的列 我必须获取当前月份的开始日期和结束日期之间的所有行 即从 1 11 2014 到 30 11 2014 select from your table where year curdate

随机推荐

  • 如何将github项目上传至gitlab

    一 修改远程分支关联 删除远程分支关联 将指向github的远程分支关联关系删除 git remote rm origin 添加新的远程分支关联 新的remote地址指向gitlab相应地址 git remote add origin lt
  • 【中文】【吴恩达课后编程作业】Course 4 - 卷积神经网络 - 第二周作业

    中文 吴恩达课后编程作业 Course 4 卷积神经网络 第二周作业 Keras入门与残差网络的搭建 上一篇 课程4 第二周测验 回到目录 下一篇 课程4 第三周测验 资料下载 下载1 本文所使用的资料已上传到百度网盘 点击下载 15 97
  • 【小程序】为什么使用let that=this

    this 会随着上下文环境而变换它的指向 在当前作用域中设置一个变量用来存储 this 可以防止在其他地方找不到 this 的错误 一般情况 举个例子 btn click function var that this 这里this和that
  • react项目:react拦截器和token问题

    登录获取token后 如何对后面的接口统一在请求头header里面设置token 让后面的请求header都带有token axios拦截器 interceptor 作用 当一个请求发出的时候 会先流过 interceptors 的 req
  • virtualbox禁用硬件虚拟化_Mac版Virtualbox6.1开启嵌套虚拟化

    Virtualbox从6 0版本后 支持起了Intel cpu的嵌套虚拟化 很多用Virtualbox的朋友开始陷入了茫然 为何在BIOS或EFI中开启了CPU硬件虚拟化后 Virtualbox中的vm菜单中启用嵌套虚拟化的框还是灰色不可用
  • 我一下子说出4种分布式ID生成方案,把面试官给搞懵了!

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 上一篇文章 我们聊了一下分库分表相关的一些基础知识 具体可以参见 支撑日活百万用户的高并发系统 应该如何设计其数据库架构 这篇文章 我们就接着分库分表的知识 来具体聊
  • 在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)

    对于游戏公司而言 采用游戏脚本lua python等进行开发也很常见 但是很多童鞋对脚本并没有很熟悉的概念 本篇则向大家简单介绍脚本的用途以及在Cocos2dx基础用法 Lua和python这些详细介绍的话 请不太熟悉的童鞋自行百度百科哈
  • 50道SQL练习题及答案与详细分析:

    流传较广的50道SQL训练 奋斗了不知道多久终于写完了 前18道题的难度依次递增 从19题开始的后半部分算是循环练习和额外function的附加练习 难度恢复到普通状态 第9题非常难 我反正没有写出来 如果有写出来了的朋友还请赐教 这50道
  • 教育平台的线上课程智能推荐策略

    题目来自 http www tipdm org 一 背景 近年来 随着互联网与通信技术的高速发展 学习资源的建设与共享呈现出 新的发展趋势 各种网课 慕课 直播课等层出不穷 各种在线教育平台和学习 应用纷纷涌现 尤其是 2020 年春季学期
  • 用Python学习吴恩达机器学习——梯度下降算法理论篇

    开篇词 CSDN专供 欢迎阅读我的文章 本文起先是在B站上进行投稿 一开始是采用吴恩达机器学习2012年版的 目前已经出了十二期了 现在我决定将我摸索出来的学习笔记在各个平台上进行连载 保证同时更新 半年已过 谁知道AI领域已发生很大的变数
  • ajax获取500,使用Python请求库500获取Ajax Json输出

    import requests import json class Yurtici object baseUrl http www yurticikargo com ajaxRoot1 layouts ArikanliHolding Yur
  • 模板之特化与偏特化

    C 模板 C 模板提供了对逻辑结构相同的数据对象通用行为的定义 这些模板运算对象的类型不是实际的数据类型 而是一种参数化的类型 C 模板分为类模板和函数模板那 类模板示例 template
  • MySQL的binlog功能详解

    什么是binlog binlog日志用于记录所有更新了数据或者已经潜在更新了数据 例如 没有匹配任何行的一个DELETE 的所有语句 语句以 事件 的形式保存 它描述数据更改 binlog作用 因为有了数据更新的binlog 所以可以用于实
  • MySQL主从复制

    1 基础环境配置 1 修改主机名 使用hostnamectl命令修改2台主机的主机名 root localhost hostnamectl set hostname db1 root localhost bash root db1 root
  • 干货-YOLOv5检测烟火

    火灾是一种常见的自然灾害和事故 经常给人们的生命财产安全带来威胁 在人力无法及时发现火灾的情况下 火势可能迅速扩散 造成不可挽回的损失 因此 及时发现火灾并采取有效的救援措施至关重要 利用计算机视觉技术检测火灾具有以下意义 提高火灾检测效率
  • 深入理解Socket套接字:必要的参数详解

    深入理解Socket套接字 必要的参数详解 文章目录 深入理解Socket套接字 必要的参数详解 引言 1 1 简介 1 2 Socket套接字的作用 Socket套接字的创建 2 1 Socket函数 2 2 Socket函数参数详解 S
  • 完美的mysql备份脚本

    转自 https www cnblogs com leffss p 7832047 html bin bash 全备方式 一般在从机上执行 适用于小中型mysql数据库 删除15天以前备份 作者 fafu li 时间 2015 08 10
  • 【全栈开发指南】OAuth2授权获取token调试接口的方式

    在我们实际应用接口的调用调试过程中 需要用到token或者刷新token GitEgg支持OAuth2 0协议进行认证授权 这里介绍说明如何通过Postman获取token和refresh token并进行接口调试 1 使用密码模式获取to
  • win10禁用windows更新

    Windows 10系统中有一项Update Orchestrator Service 更新协调器办事 在当地办事窗口中 我们发现 Update Orchestrator Service 状态的启动类型为灰色 无法进行点击修改 2 禁用Wi
  • ESB产品Oracle数据库升级说明

    ESB企业服务总线平台作为支撑企业综合集成的产品 在应用集成 数据集成 数据治理等解决方案都发挥着非常重要的作用 随着产品和解决方案的不断优化和升级 ESB企业服务总线平台功能需要逐步进行完善 不断提升产品功能的完备性 易用性和全面性 为了