暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

达梦8数据库版本升级方法

原创 muggle 2023-02-20
2468


导言

数据库版本升级,是为了使用最新的功能或者解决旧版本的一些问题
以下所有升级方法,在升级前请务必做好备份
这里总结了三种升级方法,选择其中一种升级即可

适用范围

dm7,dm8

解决方案

1.升级环境描述

系统环境
操作系统:centos7
CPU:i7-7700HQ
数据库安装包:
1-1-126-20.09.04-126608-ENT(旧)
1-2-18-21.06.24-142387-10013-ENT(新)
数据库目录规划:
安装目录:/home/dmdba/dmdbms
实例目录:/dmdata
备份目录:/dmbak

2. 详细升级方法及步骤

2.1 通过更换新的执行码进行数据库升级

2.1.1 脱机备份

2.1.1.1 关闭数据库服务
2.1.1.2 进行脱机备份
./dmrman CTLSTMT="BACKUP DATABASE '/dmdata/DAMENG/dm.ini' BACKUPSET '/dmbak/BACKUP_FILE_01'"

2.1.2 前台启动数据库后在exit正常退出

./dmserver /dmdata/DAMENG/dm.ini #当数据库启动到 SYSTEM IS READY 然后exit退出即可

2.1.3 移动数据库实例目录到另一个目录

cp -R DAMENG/ /data

2.1.4 卸载低版本数据库

./uninstall.sh -i #这里建议使用root用户卸载

2.1.5 安装高版本数据库

正常安装,初始化的实例要和低版本数据库参数相同

2.1.6 使用高版本数据库启动数据库实例

./dmserver /dmdata/DAMENG/dm.ini #数据库启动到SYSTEM IS READY升级成功

2.1.7 新开一个会话,进入disql查看一下数据库版本

select id_code(); #版本正确则进行下一步

2.1.8 注册并启动服务

./dm_service_installer.sh -t dmserver -p DMSERVER -dm_ini /dmdata/DAMENG/dm.ini

2.2 通过DTS数据迁移进行数据库升级

2.2.1 DTS工具简介

DTS是达梦数据库自带的一个数据迁移的图形化工具,可以进行达梦到达梦,达梦到其他数据库,其他数据库到达梦的数据迁移

2.2.2 初始化一个高版本数据库实例

在另外一台服务器安装高版本数据库,并初始化实例,要求参数和要迁移数据库实例保持一致

2.2.3 高本版数据库上创建对应用户并授予DBA角色

create user test identified by "123456789";
grant dba to test;

2.2.4 使用DTS进行数据迁移

迁移的时候要注意对应用户迁移对应模式下的数据,这样不会出错;
20210822-2afb04d4-b768-4b3d-b65c-c92405ab225c.png
20210822-072c775c-5c34-4e42-8d7f-214b73d7c26c-16595941443931.png
我这个是测试库,只有一个表,接下来迁移即可;
迁移完成后要确认以下数据是不是准确,没有问题就可以进行下一步了;

2.2.5 高版本数据库进行物理备份

./dmrman CTLSTMT="BACKUP DATABASE '/dmdata/DAMENG/dm.ini' BACKUPSET '/dmbak/BACKUP_FILE_01'"

2.2.6 卸载低版本数据库、安装高版本数据库,进行物理还原

1)原来的服务器卸载低版本数据库,安装高版本数据库
2)进行物理还原

#还原
./dmrman CTLSTMT="RESTORE DATABASE '/dmdata/DAMENG/dm.ini' FROM BACKUPSET  '/dmbak/BACKUP_FILE_01'"
#恢复
./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/DAMENG/dm.ini' FROM BACKUPSET  '/dmbak/BACKUP_FILE_01'"
#更新db_magic
./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/DAMENG/dm.ini' UPDATE DB_MAGIC"

2.2.7 登录新版本数据库查看数据和版本

20210822-d3811552-21c9-4acc-ab22-9a9dda8cd61d-16595941608732.png

2.3 通过dmp文件逻辑导入导出进行数据库升级

2.3.1 dexp和dimp简介

dexp和dimp是两个命令行工具,它们可以进行全库、用户、模式、表级的导入导出,还支持通配符导出一类表的数据;

2.3.2 使用dexp进行逻辑导出

./dexp USERID=test/123456789 FILE=test1.dmp LOG=test1.log SCHEMAS=test DIRECTORY=/dmdata

2.3.3 卸载低版本数据库

./uninstall.sh -i

2.3.4 安装高版本数据库并初始化实例

./dminit path=/dmdata

2.3.5 创建用户并授予DBA权限

create user test identified by "123456789";
grant dba to test;

2.3.6 使用dimp进行逻辑导入

./dimp USERID=test/123456789 FILE=test1.dmp LOG=test1.log DIRECTORY=/dmdata

20210822-ebac266e-a15f-40ae-a97e-7a5da95e8118-16595941691163.png

3.总结

1)数据库升级前一定要做好数据备份
2)数据库升级要先前台启动在正常关闭,保证所有数据落盘
3)物理备份只能在同版本数据库还原
4)DTS迁移方法适合集群环境的升级
5)dexp和dimp的方法要注意导出需要的模式

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论