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

达梦数据库授权替换:看似简单,实则暗藏玄机!专业指引在此,速来围观!

452

1 概述

在达梦数据库进行授权替换操作时,必须注意安全版与企业版之间的区别。两种版本不能互换使用,否则可能导致授权失效或数据库服务无法正常启动。

如果安全版在安装时没有放授权文件时,系统会默认为企业版状态。如果在这种情况下替换安全版授权文件,是停机状态替换后启动会提示授权不匹配,在线替换后重启服务也会报相同问题。同样企业版使用安全版授权后问题相同。

另外,单机版本的授权文件无法直接替换到集群环境中,否则导致集群环境出现异常。因此,在进行替换操作之前,请务必了解当前环境的具体类型,并使用正确的授权文件进行替换,以确保系统的稳定性和安全性,避免导致生产事故的发生

  • 版本区别介绍参考连接 https://eco.dameng.com/document/dm/zh-cn/start/dm-version-differences.html

2 替换授权流程

注意:安全版方法参考2.1
方法替换,通用在线替换方法参考按2.2
方法。

2.1Docker
替换授权过程

2.1.1 进入到docker
容器

[root@rgy-node01 data]# docker exec -it de3ad7727436 bin/bash

2.1.2 查看数据文件存放目录

root@de3ad7727436:/# ps -ef|grep dmdb
root          36       1  0 23:35 ?        00:00:00 opt/dmdbms/bin/dmap
root          51       8  2 23:35 ?        00:00:08 ./dmserver opt/dmdbms/data/DAMENG/dm.ini -noconsole
root         158       8  0 23:35 ?        00:00:00 tail -F opt/dmdbms/log/dm_DMSERVER.log
root         170     159  0 23:41 pts/0    00:00:00 grep --color=auto dmdb
root@de3ad7727436:/#

2.1.3 默认授权类型如下

SQL> select LIC_VERSION,SERIES_NO,EXPIRED_DATE,AUTHORIZED_CUSTOMER,CLUSTER_TYPE from  v$license;

LINEID     LIC_VERSION SERIES_NO EXPIRED_DATE AUTHORIZED_CUSTOMER CLUSTER_TYPE
---------- ----------- --------- ------------ ------------------- ------------
1          3.00        dm66n367  2024-04-17   DEVELOP USER        1111

used time: 1.229(ms). Execute id is 59402.
SQL>

2.1.4 将授权文件拷贝到 docker 里

[root@rgy-node01 soft]# docker cp data/soft/dm1C01091259.key de3ad7727436:/opt/dmdbms/bin
Successfully copied 2.56kB to de3ad7727436:/opt/dmdbms/bin
[root@rgy-node01 soft]#

root@de3ad7727436:/opt/dmdbms/bin# ls -l dm1C01091259.key
-rw-r--r-- 1 root root 648 Sep 17 23:43 dm1C01091259.key
root@de3ad7727436:/opt/dmdbms/bin#

2.1.5 修改授权文件命名为dm.key

root@de3ad7727436:/opt/dmdbms/bin# mv dm1C01091259.key dm.key

2.1.6 停止数据服务

root@de3ad7727436:/opt/dmdbms/bin# ./disql SYSDBA/SYSDBA001

Server[LOCALHOST:5236]:mode is normal, state is open
login used time : 3.235(ms)
disql V8
SQL> shutdown immediate;
executed successfully
used time: 0.588(ms). Execute id is 0.
SQLexit

2.1.7 使用 upd_lic 更新安全版特性

使用./dmserver help
查看帮助

root@de3ad7727436:/opt/dmdbms/bin# ./dmserver help
format: ./dmserver [[path=]ini_file_path][dcr_ini=dcr_path][-noconsole][mount][dpc_mode=mode][upd_lic=value]

example:
./dmserver path=/opt/dmdbms/bin/dm.ini
./dmserver opt/dmdbms/bin/dm.ini

Keyword             Explanation
--------------------------------------------------------------------------------
path                the absolute path of dm.ini or the current directory
dcr_ini             the absolute path of dmdcr.ini or the current directory
-noconsole          startin service mode
mount               startinmountstatus
dpc_mode            specify instancerolein DPC cluster(default00None1: MP 2: BP 3: SP 4: BS, value MP/BP/SP/BS also works
upd_lic             upgrade license security info(default00No1:Yes
help                print help information
root@de3ad7727436:/opt/dmdbms/bin#

如图示例:

执行./dmserver opt/dmdbms/data/DAMENG/dm.ini upd_lic=1
命令前台启动数据库, 如下图所示

2.1.8 重启docker容器

docker stop dmsingle
docker start dmsingle
# 进入到 docker 容器,验证授权更新信息
docker exec -it de3ad7727436 bin/bash

2.1.9 验证授权替换信息

2.2 通用版在线替换过程

数据库不停机替换步骤如下,以数据库软件安装在/home/dmdba/dmdbms
目录为例

2.2.1 上传授权文件

授权文件是dm.key
并上传到了/home/dmdba
目录为例说明

su - dmdba

cd home/dmdba/dmdbms/bin
cp home/dmdba/dm.key .

su - dmdba
cd home/dmdba/dmdbms/bin
cp home/dmdba/dm.key  .

需要注意修改dm.key
的权限。如果之前的旧授权也在,可以先移走或者删除。

chown -R dmdba:dinstall dm.key

2.2.2 更新授权

登录数据库执行以下命令:

call sp_load_lic_info();

2.2.3 验证授权替换信息

数据库执行SQL查询授权信息

SELECT LIC_VERSION,SERIES_NO,EXPIRED_DATE,AUTHORIZED_CUSTOMER,CLUSTER_TYPE FROM  v$license;

2.3 数据库已停机替换过程

2.3.1 上传授权文件

找到达梦数据库的$DM_HOME/bin
目录(安装目录bin
文件夹)重命名旧key
文件, 将新key
更改为dm.key
拷贝到$DM_HOME/bin
目录(安装目录bin
文件夹)。

修改dm.key
文件权限为dmdba
用户。如果之前的旧授权也在,可以先移走或者删除。

chown -R dmdba:dinstall dm.key

2.3.2 重启数据库服务

参考以下,具体以实际为准

DmServicedmdb start

2.3.3 验证授权替换信息

数据库执行SQL查询授权信息

SELECT LIC_VERSION,SERIES_NO,EXPIRED_DATE,AUTHORIZED_CUSTOMER,CLUSTER_TYPE FROM  v$license;

4 常见问题

4.1 提示授权不匹配

使用场景安装包带SEC
时,放安全版授权后报提示授权不匹配按以下方式处理。

使用以下命令更新为安全版本即可,如图所示./dmserver /opt/dmdbms/data/DAMENG/dm.ini upd_lic=1

最后正常使用服务脚本启动即可。

4.2 容器里面中文乱码解决

上图在容器中中文乱码,原因是没配置环境变量导致

vi ~/.bash_profile
export LANG=zh_CN.UTF8
export DM_HOME=/opt/dmdbms
export PATH=$PATH:$DM_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin

配置完成后,查询中文正常无需进入到bin目录登录

安装部署

1.分享一个以前搭建主备集群遇到的一个路径乱码案例
2.给大家分享如何标准化部署达梦单机环境
3.DM 达梦数据库中大写敏感介绍分享
4.达梦 DSC 集群+DW 备库部署实战:高可用架构搭建指南

数据迁移

1.分享工作中数据迁移的实用技巧与方法
2.Oracle 迁移 DM 数据库实践
3.SQLark 迁移实践分享(oracle-达梦数据库)
4.年过完了,SQLark 3.3 发版了!连接分组,断点续迁,顺滑建表,数据筛选,导出结构这些都有!)

工具使用与日常处理

1.DataGrip 访问国产数据库_datagrip 连接国产数据库
2.如何使用 dbeaver 连接达梦数据库
3.更新大字段提示-2201 无效的对象问题
4.DM7 读写分离部署问题总结
5.DM7 读写分离集群备库数据不同步问题处理
6.达梦数据库 DISQL 工具部署及使用技巧
7.达梦数据库日常巡检方法分享
8.如何查询达梦数据库缓存执行计划与清理
9.达梦数据库运维工具分享
10.东方通中间件环境中如何部署达梦企业管理工具(DEM)
11.达梦 dmdbchk 使用秘籍:掌握 DM 数据库检查工具的功能与参数
12.ET 工具快速上手:从入门到精通的使用步骤
13.达梦数据库 SQL 日志详解:关键概念、功能及实践方法
14.搞懂达梦数据库 SQL 日志使用延伸,这些方法超实用!
15.DM 数据库守护集群入门指南:带你走进数据守护的世界
16.创建表时为何会提示“[-2670]:对象[ID]默认约束表达式无效”?

SQL 调优

1.DM 传统行业 SQL 优化案例分享
2.DM 数据库 SQL 优化案例分享
3.如何查询 DM 数据库缓存执行计划与清理
4.使用 ob_tools 包收集分析 oceanbase 数据库 oracle 租户缓慢 sql 语句
5.使用 format_obproxy_digest_log 工具分析 obproxy 网络层耗时 SQL
6.DM 数据库回表优化案例
7.SQL 优化案例分享
8.DM SQL 关联列 like 优化案例
9.达梦数据库 SQL 关联列 like 使用 hint 方式优化案例

游玩攻略

1.邂逅高明,打卡小众景点
2.别瞎逛北京了!这份攻略带你玩出京城新高度


文章转载自国产数据库学堂,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论