首页 > 数据库 > 国内数据库 > 应用程序从从ORACLE到达梦数据库的适配实践
应用程序从从ORACLE到达梦数据库的适配实践
本文针对笔者在工作中对JAVA应用项目在信创环境中运行时进行适配时,将应用从ORACLE数据库迁移到达梦数据库过程的步骤进行整理归纳,本文主要内容包括:
1) 安装达梦8数据库;
2) 创建达梦数据库及表空间、用户及权限配置;
3) 进行从ORACLE到达梦的数据库转换与迁移;
4) 在JAVA应用项目中配置连接到达梦数据库。
适配过程具体如下:
笔者实验的环境为宝德系统服务器,操作系统安装的是中标麒麟7.0服务器版,在GUI环境下安装。
(1) 先是准备用户及环境,创建了dmdba 用户及dinstall组,以及创建/dm8目录用于安装达梦数据库;
(2) 挂载了达梦8的光盘后,用dmdba用户直接执行光盘根目录下的“DMInstall.bin”文件,进入图形分安装界面;

(3) 选择语言及时区后确定;

(4) 选择授权文件,试用状态下可以忽略,直接下一步;

(5) 默认典型安装;

(6) 安装位置,选择之前已经配置好的/dm8目录;


(7) 安装配置概览,确定后开始安装;


(8) 用root用户执行服务配置脚本;

[root@localhost etc]# /dm8/script/root/root_installer.sh
移动 /dm8/bin/dm_svc.conf 到/etc目录
修改服务器权限
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
[root@localhost etc]#
(9) 完成数据库安装,不初始化数据库,先直接退出。


达梦数据提供了数据库配置工作,即放在 /dm8/tool下dbca.sh。
(1) 运行配置工具 dbca.sh;

(2) 选择创建数据库实例;

(3) 选择默认“一般用途”;

(4) 选择数据库存在目录,可以默认在data目录下,也可以选择其它目录;

(5) 配置数据库名、实例名及端口号;

(6) 配置数据库文件,包括控制文件、数据文件、日志文件等;

(7) 配置初始化参数,如没特别要求,可以先采用默认值;

(8) 配置数据库管理员口令;

(9) 选择是否创建示例数据库;

(10) 建库配置信息概览,确认后开始创建数据库;


(11) 用root用户身份执行服务配置脚本;

[root@localhost etc]# mv /dm8/bin/DmServiceDBSERVER.service /usr/lib/systemd/system/DmServiceDBSERVER.service
[root@localhost etc]# systemctl enable DmServiceDBSERVER.service
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDBSERVER.service to /usr/lib/systemd/system/DmServiceDBSERVER.service.
[root@localhost etc]# systemctl start DmServiceDBSERVER.service
[root@localhost etc]#
(12) 完成创建数据库,退出。

达梦提供了强大的数据迁移工作DTS,在/dm8/tool/目录下,可以实现多数据异构数据库的迁移任务,其中也包括了从Oracle到达梦的数据库迁移,笔者就是用该工具实现数据库的迁移工作的。
(1) 进入tool目录,运行DTS工具;


(2) 选择 Oracle => DM,从Oracle迁移到达梦数据库;

(3) 输入源Oracle的驱动及连接信息;

(4) 录入要导入的目标达梦数据库用户信息;

(5) 选择要迁移的源数据库模式及对象;

(6) 设置表映射关系;


(7) 审阅迁移任务,确认无误后开始数据迁移操作。

(1) JDBC配置
调整数据连接驱动dm.jdbc.driver.DmDriver,并手动引入达梦数据驱动jar包,dmJDBCDriver18-1.0.jar,项目中pom.xml文件中引入事先生成好的maven依赖,以及在项目application.xml配置文件中修改达梦数据库配置连接池。
配置驱动及连接串:
String jdbcString = "dm.jdbc.driver.DmDriver" ;
String urlString = "jdbc:dm://localhost:5236" 。
(2) Hibernate配置
驱动名称:
<property name="connection.driver_class">dm.jdbc.driver.DmDriver</p
方言包名称:
<property name="dialect">org.hibernate.dialect.DmDialect</property>
配置完成后运行项目,测试可以正常运行项目,与原来oracle数据库版本体验几乎一致:

最后总结迁移中的一些注意事项:
(1) clob类型无法进行group by , order by 等一些列操作,需要用varchar替代
(2) TIMESTAMP当前时间默认值:CURRENT_TIMESTAMP(6)
(3) 代码中java基本数据类型(Int等类型)需要调整为包装类型Integer等对象类型。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69998762/viewspace-2769401/ ,如需转载,请注明出处,否则将追究法律责任。