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数据库同名的用户