一、下载
1. 下载地址:
产品下载 | 达梦数据库
选择 开发者版本 - Docker
2. 安装包
达梦版本 DM8
dm8_20230808_rev197096_x86_rh6_64_single.tar
二、安装
(一)安装环境 :
x86-64架构机器(主流的服务器和个人电脑基本都是)
root@VM-4-7-ubuntu:/home/ubuntu# arch
x86_64
本次演示环境:
腾讯云 Ubuntu22 在线(是什么无所谓,只要是Linux平台,X86_64架构)
(二)安装Docker
(三)安装Docker Compose
(四)安装Java
三、操作
(一)连接
(二)创建表空间
表空间解释:
可以理解为给数据库的数据存放指定一个文件目录,并不是数据库的概念
1.右击表空间
新建
2. 常规配置
- 表空间名:MY_ESO
- 文件路径:/opt/dmdbms/data/MY_ESO.DBF - 其中,/opt/dmdbms/data/是dm数据库安装到docker服务里面的数据实例目录- MY_ESO.DBF文件根据表空间名取,需要自己手动写(这里吐槽一下达梦)
- 扩充尺寸:每次自动扩展的大小 100M
- 扩展上限:扩展的最大值 10240M
3. 查看新建的表空间
(三)创建用户
1.开始创建
右键“管理用户”-“新建用户”
2. 常规
- 密码大于9位,否则报错;
- 表空间和索引空间,和之前创建的MY_ESO一致;
3. 查看用户
右击 “用户”-“属性”
4. 授权
右击 “ESO”-“修改”
所属角色,新增角色
5.模式(看作Mysql的库概念)
右击 “模式”-“刷新”
可以看到,多了一个和用户ESO同名的模式“ESO”;
因为:新建用户会自动生成一个和用户对应的模式,所有的后续表操作,增删改查,都在模式“ESO”里面操作。
(四)创建数据库对象
四、迁移 dm->dm
0 准备工作
迁出方:源数据库 local,ESO模式(库)里有表
迁入方:目的数据库 腾讯云,ESO模式(库)里没有表
甚至,连ESO模式都没有,需要创建用户后才能看到(不创建其实也不影响迁移,但建议创建)
(一)Dm数据迁移工具
1 打开DM数据迁移工具
2 新建工程
2.1 开始
右键空白处,“新建工程”
2.2 常规
工程名:local迁移到腾讯云 dm - dm
3 新建迁移
3.1 开始
展开工程,右击“迁移” - “新建迁移”
3.2 常规
4 迁移方式
4.1 DM-DM
版本选择
目前DM最高版本是8,我的版本也是8,这里最高只能选6,搞不懂什么意思。
一开始先选dm6-> dm6试试,发现行不通;
后面确定是选了dm-dm就行。
数据源
目的
迁移选项
默认不动
指定模式
指定对象
审阅并完成
结果
处理错误
查看错误详情
定位错误
发现这个默认值有问题,不确定DM一会行一会不行的,那就,改成tinyint。
原始sql
达梦sql
修改
改成
alter table "ESO"."MT_SHARE" modify "DELETED" TINYINT;
alter table "ESO"."MT_SHARE" alter column "DELETED" set default (0);
重更新执行出错的操作
使用腾讯云的SYSDBA账号查看迁移结果
使用腾讯云的ESO账号查看迁移结果
spring java配置,连接腾讯云的达梦服务
# local
driver-class-name: dm.jdbc.driver.DmDriver
url: jdbc:dm://localhost:5236/ESO?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
# username: SYSDBA # 用这个账户,所有的表名前面,必须加上 模式.表名 例如 ESO.schedule_job
# password: SYSDBA
username: ESO # 这个账户ESO,与模式ESO是对应的,不用写模式.
password: a123456789
4.2 DM=》SQL=》DM
遇到无法和甲方服务器直接内网连接的情况,需要导入导出
如果遇到导入导出按钮是灰色禁用的情况,请看五、2小节去处理下;
4.2.1 选择迁移方式 DM=>SQL
4.2.2 设置导出的sql脚本信息
4.2.3 迁移选项
保持不变
4.2.4 指定模式
源模式:ESO 理解为导出的库
目的模式:ESO理解为要导入的库
4.2.5 指定对象
全选即可
后面就是审阅然后完成了
4.2.6 选择迁移方式SQL=》DM
4.2.7 要导入的sql文件
后面就是输入要导入的dm数据库账号密码,然后审阅完成即可!
五、问题
1 本地开发机器的dm迁移云上dm后,服务器崩溃
spring工程无法连接到腾讯云的达梦服务
然后发现达梦管理工具也连接不上了
然后发现我的云服务器也登录不了了
ip和端口服务都是正常的
磁盘的读写异常
果断重启,然后都恢复了!!!
2 WIndows版本的达梦图形化客户端,发现导入导出按钮是灰色的禁止状态,
将达梦安装目录,例如E:\dmdbms\bin目录加载到环境变量里,这样导入导出功能就能正常使用了。
DM_HOME
%DM_HOME%\bin
配置完成后,重启打开dm管理工具
3 dimp导入报错:该工具不能解析此文件,请使用更高版本的工具
查看本地导出机器的版本
select build_version from v$instance;
现场需要导入的机器是也是DM V8,但是是2022年的版本,这都能报错!!(再次吐槽达梦ε=(´ο`*)))唉)
也就是虽然版本一样,但是小版本不一样也会失败!!!
最后,改成dm导出sql,然后sql导入dm的方式,解决。
版权归原作者 重生1993 所有, 如有侵权,请联系我们删除。