centos7环境下:使用命令行部署达梦DM8单机数据库

(一)、环境检测与配置

序号

一级标题

二级标题

1

操作系统时间检查

确保后期数据及运维提供准确的时间机制

2

系统安全软件检查

确保达梦服务不受安全软件影响

3

系统网络配置检查

检查网络配置是否符合条件

4

系统上磁盘规划

磁盘算法、存储规划等

5

关闭SWAP

系统内存是否足够可以进行swap关闭

6

检查NUMA关闭

服务器是否多CPU多内存块

7

禁用透明大业

检查是否关闭透明大页

8

CPU超线程检查

-

9

调整LIMITS

调整系统上dmdba用户资源限制

10

调整SYSCTL

调整系统上SYSCTL

11

创建用户及环境

创建DMDBA,创建DMDBA环境变量

12

检查操作系统限制

查看系统限制符合部署条件

13

调整login

调整login

1、操作系统时间检查

#时间检查

[root@dm8 data]# date
Tue Oct 25 14:52:50 CST 2022

#时间修改如果时间对需要修改

date -s "yyyy-mm-dd HH:MM:SS"

2、关闭防火墙

[root@dmdb dm-2]systemctl stop firewalld.service

[root@dmdb dm-2]systemctl disable firewalld.service

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

3、设置SELINUX

vi /etc/selinux/config

将内容

SELINUX=enforcing

更改为

SELINUX=disabled

centos7环境下:使用命令行部署达梦DM8单机数据库_第1张图片

4、网络配置检查

检查类别

检查方式

传输效率检查

拷贝一个文件到远程服务器的/opt:
 scp -r xxx dmdba@ip:/opt/

拷贝一个文件,指定端口到远程服务器的/opt:
scp -r -P端口 xxx dmdba@ip:/opt/

查看网卡配置

1、查看网卡名称:ip a
2、查看该网卡的配置:ethtool enp0s3

查看网络信息

sar -n DEV 1 100

5、磁盘规划

5.1、磁盘格式检查

 比较

XFS

EXT4

单个文件的大小

16TB16EB

16GB16TB

最大文件系统大小

XFS可以是8EB

EXT4可以是1EB

磁盘结构和兼容

EXT4受限制于磁盘结构和兼容问题,可扩展性和scalability不如XFS

5.2、磁盘挂载方式检查

UUID为系统中的存储设备提供唯一的标识字符串,不管这个设备是什么类型的。如果你在系统中添加了新的存储设备如硬盘,很可能会造成一些麻烦,比如说启动的时候因为找不到设备而失败,而使用UUID则不会有这样的问题

#磁盘是否自动挂载及方式:推荐UUID挂载

cat /etc/fstab

#查看实际挂载盘:

centos7环境下:使用命令行部署达梦DM8单机数据库_第2张图片6、检查NUMA是否关闭:非多CPU多内存块可忽略这步

编辑grub文件,如下图所示加上:numa=off

vi /etc/default/grub

centos7环境下:使用命令行部署达梦DM8单机数据库_第3张图片

重启操作系统

[root@~]# reboot

重启之后进行确认

[root@~]# dmesg | grep -i numa

7、禁用透明大页

1)查看是否启用透明大页

[root@~]# cat /sys/kernel/mm/transparent_hugepage/enabled

[always] madvise never:[always]表示透明大页启用  [never]表示透明大页禁用

 2)永久修改:编辑grub文件,如下图所示加上:transparent_hugepage=never

   [root@~]# vi /etc/default/grub

centos7环境下:使用命令行部署达梦DM8单机数据库_第4张图片

 3)重新生成/etc/grub2.cfg 配置文件:

     [root@~]# grub2-mkconfig -o /etc/grub2.cfg

4)重启操作系统

[root@~]# reboot

5)再次确认是否已经关闭

[root@~]# cat /sys/kernel/mm/transparent_hugepage/enabled

 8、调整 Limits.conf

vi /etc/security/limits.conf

添加以下参数:

dmdba soft nproc 131072

dmdba hard nproc 131072

dmdba soft nofile 131072

dmdba hard nofile 131072

dmdba soft core unlimited

dmdba hard core unlimited

dmdba soft data unlimited

dmdba hard data unlimited

9、调整sysctl.conf参数

[root@dm~]# vi  /etc/sysctl.conf

修改vm.overcommit_memory=0

10、创建用户及目录

创建dmdba用户与dinstall组

groupadd dinstall  -g 2001

useradd -g dinstall dmdba  -u 1001

修改dmdba密码: dmdba/dmdba123456

创建dm的安装目录

mkdir /dm8

chown -R dmdba:dinstall /dm8

chmod 777 /dm8  -R

11、检查操作系统限制

[root@dmdb dmdba]# ulimit -a

core file size           (blocks, -c)  0

data seg size           (kbytes, -d) unlimited  --符合

scheduling priority             (-e) 0

file size               (blocks, -f) unlimited  --符合

pending signals                 (-i) 15040

max locked memory       (kbytes, -l) 64

max memory size         (kbytes, -m) unlimited

open files                      (-n) 65536  --符合

pipe size            (512 bytes, -p) 8

POSIX message queues     (bytes, -q) 819200

real-time priority              (-r) 0

stack size              (kbytes, -s) 8192

cpu time               (seconds, -t) unlimited

max user processes              (-u) 15040

virtual memory          (kbytes, -v) unlimited --符合

file locks                      (-x) unlimited

 12、上传及挂载达梦数据库镜像到服务器

8.1、挂载安装包镜像(root用户执行)

mount -o loop  /root/dm8_20211217_x86_rh6_64_ent_8.4.2.98.iso  /mnt/

8.2、将挂载的镜像里的安装文件复制出来(挂载的镜像只读),并赋权

cp /mnt/DMInstall.bin  /dm8

chown dmdba:dinstall /mnt/DMInstall.bin

(二)、命令行安装数据库

1)、数据库软件安装

(1) 使用dmdba用户进行安装

su - dmdba

cd /mnt

./DMInstall.bin -i (-i:命令行、不加参数图形化)

Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c

解压安装程序.........

欢迎使用达梦数据库安装程序

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:y

请输入Key文件的路径地址 [dm.key]:/dm8/XX.key

有效日期: 2024-06-25

服务器颁布类型: 企业版

发布类型: 试用版

用户名称: 达梦公司产品试用

授权用户数: 无限制

并发连接数: 无限制

是否设置时区? (Y/y:是 N/n:否) [Y/y]:y

设置时区:

[ 1]: GTM-12=日界线西

[ 2]: GTM-11=萨摩亚群岛

[ 3]: GTM-10=夏威夷

[ 4]: GTM-09=阿拉斯加

[ 5]: GTM-08=太平洋时间(美国和加拿大)

[ 6]: GTM-07=亚利桑那

[ 7]: GTM-06=中部时间(美国和加拿大)

[ 8]: GTM-05=东部部时间(美国和加拿大)

[ 9]: GTM-04=大西洋时间(美国和加拿大)

[10]: GTM-03=巴西利亚

[11]: GTM-02=中大西洋

[12]: GTM-01=亚速尔群岛

[13]: GTM=格林威治标准时间

[14]: GTM+01=萨拉热窝

[15]: GTM+02=开罗

[16]: GTM+03=莫斯科

[17]: GTM+04=阿布扎比

[18]: GTM+05=伊斯兰堡

[19]: GTM+06=达卡

[20]: GTM+07=曼谷,河内

[21]: GTM+08=中国标准时间

[22]: GTM+09=汉城

[23]: GTM+10=关岛

[24]: GTM+11=所罗门群岛

[25]: GTM+12=斐济

[26]: GTM+13=努库阿勒法

[27]: GTM+14=基里巴斯

请选择设置时区 [21]:21

安装类型:

1 典型安装

2 服务器

3 客户端

4 自定义

请选择安装类型的数字序号 [1 典型安装]:1

所需空间: 1602M

请选择安装目录 [/home/dmdba/dmdbms]:/dm8/dmdbms

可用空间: 98G

是否确认安装路径(/dm8/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:y

安装前小结

安装位置: /dm8/dmdbms

所需空间: 1602M

可用空间: 98G

版本信息: 企业版

有效日期: 2023-06-25

安装类型: 典型安装

是否确认安装? (Y/y:是 N/n:否):y

2022-09-01 21:53:07

[INFO] 安装达梦数据库...

2022-09-01 21:53:08

[INFO] 安装 基础 模块...

2022-09-01 21:53:10

[INFO] 安装 服务器 模块...

2022-09-01 21:53:10

[INFO] 安装 客户端 模块...

2022-09-01 21:53:11

[INFO] 安装 驱动 模块...

2022-09-01 21:53:11

[INFO] 安装 手册 模块...

2022-09-01 21:53:12

[INFO] 安装 服务 模块...

2022-09-01 21:53:13

[INFO] 移动日志文件。

2022-09-01 21:53:13

[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:

/dm8/dmdbms/script/root/root_installer.sh

2)、初始化实例

命令行初始化实例我认为是比图形化更为简洁且高效

初始化实例及参数设定(此部分需根据实际情况和实际多数生产经验而定,一旦确定了在整个数据库的生命周期是不能修改的)

./dminit PATH=/dm8/dmdbms  EXTENT_SIZE=32 PAGE_SIZE=32 LOG_SIZE=2048 CHARSET=0 CASE_SENSITIVE=Y DB_NAME=DMDATA INSTANCE_NAME=DMDATA PORT_NUM=5236 SYSDBA_PWD =SYSDBA9988! SYSAUDITOR_PWD=SYSDBA9988

 (簇大小=32页、页大小=32k、日志大小=2048M、字符集=GB18030、大小写=敏感、数据库名=DMDATA、实例名=DMDATA、SYSDB密码=SYSDBA9988!

-------------------------------------------------//执行结果如下//-----------------------------------------------------

initdb V8

db version: 0x7000c

License will expire on 2023-06-25

Normal of FAST

Normal of DEFAULT

Normal of RECYCLE

Normal of KEEP

Normal of ROLL

 log file path: /dm8/dmdbms/DMDATA/DMDATA01.log

 log file path: /dm8/dmdbms/DMDATA/DMDATA02.log

write to dir [/dm8/dmdbms/DMDATA].

create dm database success. 2022-09-01 22:15:18

# 注册服务:注册服务的目的是为了能在开机自启

切换到root用户执行

su - root

cd /dm8/script/root/

./dm_service_installer.sh -p DMDATA -t dmserver -dm_ini  /dm8/dmdbms/DMDATA/dm.ini

-------------------------------------------------//执行结果如下//-----------------------------------------------------

[root@DM8 root]# ./dm_service_installer.sh -p DMDATA -t dmserver -dm_ini  /dm8/dmdbms/DMDATA/dm.ini

Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMDATA.service to /usr/lib/systemd/system/DmServiceDMDATA.service.

创建服务(DmServiceDMDATA)完成

-------------------------------------------------//启动的页面结果如下//-----------------------------------------------------

 前台启动数据库后,客户端将一直处于前台页面:最后SYSTEM IS READY说明数据库正常,此时敲入命令exit或者ctr+z退出

version info: enterprise

DM Database Server 64 V8 03134283904-20220630-163817-20005 startup...

Normal of FAST

Normal of DEFAULT

Normal of RECYCLE

Normal of KEEP

Normal of ROLL

Database mode = 0, oguid = 0

License will expire on 2023-06-25

file lsn: 0

ndct db load finished

ndct second level fill fast pool finished

trx: 3027 purged 1 pages

.......

systables desc init success.

ndct_db_load_info success.

pseg_crash_trx_rollback end

SYSTEM IS READY.

 ------------------------------------------------//退的页面结果如下//--------------------------------------------------

在前面页面输入命令退出且关闭数据库:exit或者ctrl+z

checkpoint end, 0 pages flushed, used_space[0], free_space[4294959104].

.......

shutdown archive subsystem...OK

shutdown redo log subsystem...OK

shutdown MAL subsystem...OK

shutdown message compress subsystem successfully.

.....

shutdown control file system...OK

shutdown dtype subsystem...OK

shutdown huge buffer and memory pools...OK

close lsnr socket

DM Database Server shutdown successfully.

3)、启停达梦数据库

 切换dmdba用户到bin目录下启停数据库

[dmdba@DM8 bin]$ su - dmdba

[dmdba@DM8 bin]$ cd $DM_HOME/bin

#关闭数据库--上面已经开启,如果数据库没有启动,那么就需要先启动在进行关闭操作

[dmdba@DM8 bin]$ ./DmServiceDMDATA start

[dmdba@DM8 bin]$ ps -ef | grep DmServiceDMDATA.service #启动后查看数据库服务进程

dmdba     8680  8162  0 18:58 pts/0    00:00:00 grep --color=auto DmServiceDMDATA.serv

#启动数据库

[dmdba@DM8 bin]$ ./DmServiceDMDATA stop 

#重启数据库

[dmdba@DM8 bin]$ ./DmServiceDMDATA restart

4)、使用disql进入数据库,可以进行SQL操作

[dmdba@DM8 tool]$ ./disql SYSDBA/ADMIN123456

disql V8

SQL> conn SYSDBA/ADMIN123456

Server[LOCALHOST:5236]:mode is normal, state is open(状态为OPEN)

login used time : 3.359(ms)

(三)、数据库配置

 1)、配置归档/开启归档

vi dm.ini

#将ARCH_INI值改为1

#新增文件dmarch.ini

vi /dmdata/DAMENG/dmarch.ini

#新增如下内容

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /dmdb/archivelog

ARCH_FILE_SIZE = 2048

ARCH_SPACE_LIMIT = 102400

注意:配置完后,重启数据库,原因是静态参数需要重启生效

2)、修改redo和创建DMDBA及业务用户

#修改redo日志

--更加实际情况进行redo日志大小的调整

alter database resize logfile 'DMDATA01.log' to 2048;

alter database resize logfile ' DMDATA02.log' to 2048;

#创建DMDBA用户:用于运维人员操作

create user "DMDBA" identified by "ADMIN123456";

grant "DBA","PUBLIC","RESOURCE","SOI","VTI" to "ADMIN123456";

alter user SYSDBA identified by “SYSDBA2022”;

3)、配置定时备份及删除过期备份作业

#创建增量备份和全量备份的路径

mkdir  -p  /dm8/dmbak/allbak

mkdir  -p  /dm8/dmbak/addbak

#使用DM管理工具创建:右键【创建代理环境】

centos7环境下:使用命令行部署达梦DM8单机数据库_第5张图片

 #新建作业

centos7环境下:使用命令行部署达梦DM8单机数据库_第6张图片

4)、开启sqllog

开启sqllog的目的是存储运行的所有SQL,对后期排查有关键的作用,所以开启sqllog也是很关键的一部分
#创建sqllog缓存(使用dmdba)
mkdir -p  /dm8/sqllog

#修改sqllog.ini 
cd /dm8/dmdbms/DMDATA/
vi sqllog.ini 
---修改参数
BUF_TOTAL_SIZE = 10240     #SQLs Log Buffer Total Size(K)(1024~1024000)
BUF_SIZE = 1024         #SQLs Log Buffer Size(K)(50~409600)
BUF_KEEP_CNT = 6         #SQLs Log buffer keeped count(1~100)

[SLOG_ALL]
FILE_PATH = /dm8/sqllog  #sql日志生成路径
PART_STOR = 0
SWITCH_MODE = 2
SWITCH_LIMIT = 1024  #每个日志文件1024M
ASYNC_FLUSH = 1
FILE_NUM = 20  #循环收集20个可以根据实际情况做调整
ITEMS = 0
SQL_TRACE_MASK = 1
MIN_EXEC_TIME = 0
USER_MODE = 0
USERS =

-- 主库执行调用存储过程生效SQLLOG配置文件
./disql SYSDBA/GZ_SYSDBA2022:5237
SP_REFRESH_SVR_LOG_CONFIG();

--开启日志
SP_SET_PARA_VALUE(1,'SVR_LOG',1);
select para_name ,para_value from v$dm_ini where para_name ='SVR_LOG';

---测试:在disql或者管理工具运行SQL脚本,通过查询目录查看是否生成对应的文件
cd /dm8/sqllog/
cat  /dm8/sqllog/dmsql_DMDATA_20220903_020115.log

(四)、数据库参数信息检查

方法1、使用管理工具查看

进入数据库安装路径然后 ./manager登录

[dmdba@localhost ~]$ cd /opt/dmdbms/tool/   路径换成你实际的路径

[dmdba@localhost tool]$ ./manager

登陆后选中连接名,单击鼠标右键,选择“管理服务器”

centos7环境下:使用命令行部署达梦DM8单机数据库_第7张图片

 方法2:使用SQL查看

select '实例名称' 数据库选项,INSTANCE_NAME  数据库集群相关参数值 FROM v$instance union all

select '数据库版本',svr_version||'.'|| build_version  FROM v$instance union all

SELECT '字符集',CASE SF_GET_UNICODE_FLAG() WHEN '0' THEN 'GBK18030' WHEN '1' then 'UTF-8' when '2' then 'EUC-KR' end union all

SELECT '页大小',cast(PAGE()/1024 as varchar) union all

SELECT '簇大小',cast(SF_GET_EXTENT_SIZE() as varchar) union all

SELECT '大小写敏感',cast(SF_GET_CASE_SENSITIVE_FLAG() as varchar) union all

select '数据库模式',MODE$ from v$instance  union all

select '授权用户',authorized_customer from v$license union all

select '授权时间',to_char(expired_date) from v$license;

数据库选项

数据库集群相关参数值

实例名称

DMDATA

数据库版本

DM Database Server x64 V8

字符集

GBK18030

页大小

32

簇大小

32

大小写敏感

1

数据库模式

NORMAL

授权用户

达梦公司产品试用

授权时间

2023/6/25

达梦参数解释:

(1)数据文件使用的页大小

页大小取值:4、8、16、32,单位:K。可选参数。 选择的页大小越大,则 DM 支持的元组(即表中的一行)长度也越大,但同时空间利用率可能下降。如用户无具体要求,则默认使用32来部署。

2)数据文件使用的簇大小

即每次分配新的段空间时连续的页数。取值:16、32。单位: 页数。可选参数。如用户无具体要求,则默认使用32来部署。

3)字符集选项

取值:0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。默认为 0。可选参数。如用户无具体要求,则默认使用0来部署。

4)标识符大小写敏感

当大小写敏感时,小写的标识符应用""括起,否则被系统自动转换为大写;当大小写不敏感时,系统不会转换标识符的大小写,在标识符比较时也不能区分大小写。取值:Y、y、1 表示敏感;N、n、0 表示不敏感。默认值为 Y。可选参数。

如用户无具体要求,则默认使用Y来部署。

大小写敏感参数具体样例说明建议参考官网【非常重要】:https://eco.dameng.com/community/article/df11811a02de8e923c2e57ef6597bc62

5)VARCHAR 类型对象的长度是否以字符为单位

取值:1、Y 表示是,0、N 表示否。可选参数。

1 或 Y:是,所有 VARCHAR 类型对象的长度以字符为单位。这种情况下,定义长度并非真正按照字符长度调整,而是将存储长度值按照理论字符长度进行放大。所以会出现实际可插入字符数超过定义长度的情况,这种情况也是允许的。同时,存储的字节长度 8188 上限仍然不变,也就是说,即使定义列长度为 8188 字符,其实际能插入的字符串占用总字节长度仍然不能超过 8188;

0 或 N:否,所有 VARCHAR 类型对象的长度以字节为单位。

如用户无具体要求,则默认使用0来部署。

 ------------//DM8数据库安装部署到此结束//------------------------

更多内容,请访问达梦社区地址:https:eco.dameng.com

你可能感兴趣的:(数据库)