龙空技术网

Linux下达梦数据库重新初始化实例

小小李liy 79

前言:

此时咱们对“mysql重新初始化数据库”都比较着重,小伙伴们都想要学习一些“mysql重新初始化数据库”的相关知识。那么小编同时在网摘上网罗了一些对于“mysql重新初始化数据库””的相关内容,希望我们能喜欢,同学们快快来学习一下吧!

为什么要重新初始化数据库实例呢?

可能一开始初始化的实例的配置没配置好,大小写敏感、字符集编码、长度以字符为单都配置不对,导致的后果是从mysql迁移数据到dm时,时不时会出现字符串截断的问题,这个问题就是因为初始化的实例时的长度以字符为单位配置成了否。

1.字符集不是UTF-8,请修改字符集或创建实例时设置CHARSET=1

2.需设置大小写不敏感,创建实例时设置CASE_SENSITIVE=0

3.需设置长度以字符为单位,创建实例时设置LENGTH_IN_CH

AR=1

4.页大小(page_size)默认8k,想调整为32k,只能通过重新初始化修改

重新初始化实例怎么操作呢?第一步、删除实例(在root账号下执行)

/home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDMSERVER

备注:DmServiceDMSERVER 是实例服务的名称,除非改过名,一般情况是这个名称,改过名称又忘记名的可以到 cd /usr/lib/systemd/system 或者 cd /etc/systemd/system搜索查看Dm开头的,有Service的有哪些。一般情况是这个名称DmServiceDMSERVER.service。

第二步、删除数据库目录

进入/home/dmdba/dm/data 删除DAMENG目录,同时也要一并删除创建的DBF文件。

cd /home/dmdba/dm/datarm -rf ./*cd ..lsrm -rf aggr.DBF  bpmdb.DBF

备注:DAMENG是初始化时数据库名称,默认存放目录是/home/dmdba/dm/data,已创建的DBF文件也要一并删除。

第三步、初始化实例

cd /home/dmdba/dmdbms/binsu dmdba ./dminit help
./dminit path=/home/dmdba/dm/data/ DB_NAME=DAMENG INSTANCE_NAME=DMSERVER PORT_NUM=5236 CASE_SENSITIVE=0 CHARSET=1 PAGE_SIZE=32 EXTENT_SIZE=32

初始化参数说明:

PATH: 初始数据库存放的路径

DB_NAME:数据库名,默认DAMENG

INSTANCE_NAME:实例名,默认DAMENG

PORT_NUM: 监听端口,默认5236

CASE_SENSITIVE:标识符大小写敏感。当大小写敏感时,小写的标识符应用""括起,否则被系统自动转换为大写;当大小写不敏感时,系统不会转换标识符的大小写,系统比较函数会将大写字母全部转为小写字母再进行比较。取值:Y、y、1 表示敏感;N、n、0 表示不敏感。缺省值为 Y。可选参数。此参数在数据库创建成功后无法修改,可通过系统函数 SF_GET_CASE_SENSITIVE_FLAG()或 CASE_SENSITIVE()查询设置的参数置。

CHARSET: 字符集选项。取值范围 0、1、2。0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。缺省值为 0。可选参数。此参数在数据库创建成功后无法修改,可通过系统函数 SF_GET_UNICODE_FLAG()或 UNICODE()查询设置的参数置。

PAGE_SIZE:数据文件使用的页大小。取值范围 4、8、16、32,单位:KB。缺省值为 8。可选参数。选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降。数据库创建成功后无法再修改页大小,可通过系统函数 SF_GET_PAGE_SIZE()获取系统的页大小。

EXTENT_SIZE:数据文件使用的簇大小,即每次分配新的段空间时连续的页数。取值范围 16、32、64。单位:页数。缺省值为 16。可选参数。数据库创建成功后无法再修改簇大小,可通过系统函数 SF_GET_EXTENT_SIZE()获取系统的簇大小。

更多 dminit 参数解释可参考达梦数据库安装目录下 doc 目录中《DM8_dminit 使用手册》。

第四步、注册服务

切换到root用户,进入/home/dmdba/dmdbms/script/root目录,执行命令注册服务。

su rootcd /home/dmdba/dmdbms/script/root./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dm/data/DAMENG/dm.ini -p DMSERVER
设置服务开机自启动,并开启服务,查看服务状态
systemctl enable DmServiceDMSERVERsystemctl start DmServiceDMSERVERsystemctl status DmServiceDMSERVER
第四步、登录数据库,创建表空间和用户

切换使用dmdba用户,进入/home/dmdba/dmdbms/bin目录下

到这里数据库已经重新完成初始化,并根据项目需要创建了表空间和新用户,可以继续进行数据库的迁移啦。

标签: #mysql重新初始化数据库