百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

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

sinye56 2024-11-18 16:42 3 浏览 0 评论

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

可能一开始初始化的实例的配置没配置好,大小写敏感、字符集编码、长度以字符为单都配置不对,导致的后果是从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/data
rm -rf ./*
cd ..
ls
rm -rf aggr.DBF  bpmdb.DBF

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

第三步、初始化实例

cd /home/dmdba/dmdbms/bin
su 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 root
cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dm/data/DAMENG/dm.ini -p DMSERVER

设置服务开机自启动,并开启服务,查看服务状态

systemctl enable DmServiceDMSERVER
systemctl start DmServiceDMSERVER
systemctl status DmServiceDMSERVER

第四步、登录数据库,创建表空间和用户

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

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

相关推荐

Linux两种光驱自动挂载的方法

环境:CentOS6.4西昆云服务器方式一修改fstab文件/etc/fstab是系统保存文件系统信息?静态文件,每一行描述一个文件系统;系统每次启动会读取此文件信息以确定需要挂载哪些文件系统。参...

linux系统运维,挂载和分区概念太难?在虚机下操作一次全掌握

虚拟机的好处就是可以模拟和学习生产环境的一切操作,假如我们还不熟悉磁盘操作,那先在虚机环境下多操作几次。这次来练习下硬盘扩容操作。虚拟机环境:centos8vm11linux设备命名规则在linux中...

Linux 挂载 NFS 外部存储 (mount 和 /etc/fstab)

mount:手工挂载,下次重启需再重新挂载,操作命令:mount-tnfs-ooptionsserver:/remote/export/local/directory上面命令中,本地目录...

在Linux中如何设置自动挂载特定文件系统(示例)

Linux...

Linux环境中的绑定挂载(bind mount)

简介:Linux中的mount命令是一个特殊的指令,主要用于挂载文件目录。而绑定挂载(bindmount)命令更为特别。mount的bind选项将第一个目录克隆到第二个。一个目录中的改变将会在...

Linux挂载CIFS共享 临时挂载 1. 首先

如何解决服务器存储空间不足的问题?大家好,欢迎回来。在上一期视频中,我为大家介绍了如何利用Linux挂载来扩容服务器存储空间。这一期视频,我将以Linux为例,教大家如何进行扩容。群辉使用的是Linu...

Linux 硬盘挂载(服务器重启自动挂载)

1、先查看目前机器上有几块硬盘,及已挂载磁盘:fdisk-l能够查看到当前主机上已连接上的磁盘,以及已经分割的磁盘分区。(下面以/dev/vdb磁盘进行分区、挂载为例,挂载点设置为/data)df...

linux 挂载磁盘

在Linux中挂载硬盘的步骤如下:...

笨小猪教您Linux磁盘挂载

本教程针对Linux系统比较熟悉或者想学习Linux基础的用户朋友,本教程操作起来比较傻瓜式,跟着步骤就会操作,本文使用的工具是XShell同时多多注意空格(文中会有提示)。【问答】什么是磁盘挂载?答...

Linux 磁盘挂载和docker安装命令

本篇给大家介绍Linux磁盘挂载和docker安装的相关内容,Linux服务器的操作是一个手熟的过程,一些不常用的命令隔断时间就忘记了,熟话说好记性不如烂笔头,还需在平时的工作中多练习记录。...

Linux设置开机自动挂载分区

有时候,我们在安装完Linux系统之后,可能在使用过程中添加硬盘或者分区进行使用,这时候就需要手动把磁盘分区挂载到某个路径,但是开机之后就会消失,需要重新挂载,非常麻烦,那么我们应该如何设置开机自动挂...

在linux挂载一个新硬盘的完整步骤

以下是在Linux中挂载新原始磁盘的完整步骤,包括分区、创建文件系统以及使用UUID在/etc/fstab中启动时挂载磁盘:将新的原始磁盘连接到Linux系统并打开电源。运行以下命令,...

Linux系统如何挂载exFAT分区

简介:Linux系统中不能像Windows系统那样自动识别加载新设备,需要手动识别,手动加载。Linux中一切皆文件。文件通过一个很大的文件树来组织,文件树的根目录是:/,从根目开始录逐级展开。这些文...

Linux系统挂载硬盘

fdisk-l查看可挂载的磁盘都有哪些df-h查看已经挂载的磁盘...

WSL2发布,如何在Win10中挂载Linux文件系统

WSL2是最新版本的架构,它为Windows子系统提供支持,使其能够在Windows上运行ELF64Linux二进制文件。通过最近的更新,它允许使用Linux文件系统访问存储在硬盘中的文件。如果你...

取消回复欢迎 发表评论: