欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

DM笔记之安装1:DM7 For NeoKylin A6

程序员文章站 2024-03-24 13:59:58
...

一、系统规划

1.1 主机系统环境概述

操作系统 数据库版本 端口 IP地址
NeoKylin Linux A6 64bit DM Database Server x64 V7.6.0.142-Build(2019.03.12-103811)ENT 5236 192.168.12.10

1.2 数据库初始化参数规划

初始化参数 说明
页大小(PAGE_SIZE) 默认8K,字符串字段的最大长度及每行记录的总长度
日志文件(rlog) 默认2个重做日志文件
时区(TIME_ZONE) 需与操作系统时区一致,建议使用北京时间+8:00
字符串大小写敏感(CASE_SENSITIVE) 一般建议 MYSQL 和 SQLSERVER 迁移过来的系统,使用大小写不敏感,Oracle 迁移过来的系统,使用大小写敏感
字符集(CHARSET) 默认GB18030,如果需要国际字符可以采用 Unicode
VARCHAR类型长度是否以字符为单位(LENGTH_IN_CHAR) 默认否,以字节为单位;从不同的数据库(比如MySQL)迁移到DM时需要考虑,是否使用以字符为单位计算
数据库兼容模式(COMPATIBLE_MODE) 0:不兼容,1:兼容SQL92 标准,2:兼容ORACLE,3:兼容MS SQL SERVER,4:兼容MYSQL,5:兼容DM6,6:兼容TERADATA
改进字符串 HASH 算法 从之前旧版本 (可能是2015年之前的版本) 数据还原到新版本上使用,不能使用改进字符串 HASH 算法,其他情况使用改进字符串 HASH 算法。

二、操作系统配置

2.1 查看系统环境

2.1.1 系统版本信息

命令:
lsb_release -a
cat /proc/version
cat /etc/issue
uname -a

[aaa@qq.com ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:graphics-4.1-amd64:graphics-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: NeoKylinAdvancedServer
Description: NeoKylin Linux Advanced Server release 6.0 (Dhaulagiri)
Release: 6.0
Codename: Dhaulagiri

2.1.2 glibc包检查

[aaa@qq.com ~]# rpm -qa|grep glibc
glibc-devel-2.12-1.25.el6.ns6.01.x86_64
glibc-common-2.12-1.25.el6.ns6.01.x86_64
glibc-2.12-1.25.el6.ns6.01.x86_64
glibc-headers-2.12-1.25.el6.ns6.01.x86_64
如果没有上面的所有包可能需要yum install gcc,对数据库软件安装无影响,可能对后面配置其他相关依赖gcc的驱动等(比如ODBC)会失败。

2.1.3 添加/etc/hosts(可选)

[aaa@qq.com ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.12.10 DaMengDB

2.1.4 磁盘空间、内存、CPU检查

磁盘空间: df -h
内存: free -m   或者cat /proc/meminfo
cpu : cat /proc/cpuinfo

[aaa@qq.com ~]# cat /proc/cpuinfo | grep -E “physical id|core id|cpu cores|siblings|cpu MHz|model name|cache size”|tail -n 7

model name : Intel® Core™ i5-6200U CPU @ 2.30GHz
cpu MHz : 2400.001
cache size : 3072 KB

2.2 关闭NetworkManager服务(可选)

service NetworkManager stop
chkconfig –-level 2345 NetworkManager off

2.3 关闭防火墙

service iptables stop
chkconfig -–level 2345 iptables off

2.4 关闭SELinux

#vi /etc/selinux/config
改成:SELINUX= disabled
# setenforce 0

2.5 创建用户组

groupadd -g 1001 dinstall
useradd -u 1001 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba

[aaa@qq.com ~]# id dmdba
uid=1001(dmdba) gid=1001(dinstall) 组=1001(dinstall)

2.6 创建数据库目录

安装软件目录和数据库文件目录可以分开,可以放同一个目录
mkdir /dm7
mkdir /data
chown -R dmdba:dinstall /dm7
chown -R dmdba:dinstall /data
chmod -R 755 /dm7
chmod -R 755 /data

2.7 检查并修改系统相关参数

[aaa@qq.com ~]# ulimit -a
DM笔记之安装1:DM7 For NeoKylin A6
参数使用限制:
(1)data seg size
data seg size (kbytes, -d)
建议用户设置为1048576(即1GB)以上或unlimited(无限制),此参数过小将导致数据库启动失败。
(2)file size
file size(blocks, -f)
建议用户设置为unlimited(无限制),此参数过小将导致数据库安装或初始化失败。
(3)open files
open files(-n)
建议用户设置为65536以上或unlimited(无限制)。
(4)virtual memory
virtual memory (kbytes, -v)
建议用户设置为1048576(即1GB)以上或unlimited(无限制),此参数过小将导致数据库启动失败。

vi /etc/security/limits.conf —添加

* soft nofile 65536
* hard nofile 65536

或者在/etc/profile中添加如下内容:
vi /etc/profile —添加:
ulimit -SHn 65536
保存退出。
source /etc/profile

建议修改完系统配置后,重启系统,检查是否生效!
重启后查询相关修改配置:

[aaa@qq.com ~]# 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) 19729
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) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
[aaa@qq.com ~]# cat /etc/selinux/config 
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#	enforcing - SELinux security policy is enforced.
#	permissive - SELinux prints warnings instead of enforcing.
#	disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#	targeted - Only targeted network daemons are protected.
SELINUXTYPE=targeted
[aaa@qq.com ~]# getenforce 
Disabled
[aaa@qq.com ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination    

三、数据库环境安装配置

3.1 数据库软件安装

#mount -o loop /opt/dameng/dm7_setup_rh6_64_ent_7.6.0.142_20190312.iso /mnt
临时空间检查:

  1. DM安装程序在安装时将产生临时文件,临时文件需要1GB的存储空间,临时文件目录默认为/tmp
  2. 如果/tmp目录不能保证1GB的存储空间,用户可以扩展/tmp目录存储空间或者通过设置环境变量DM_INSTALL_TMPDIR指定安装程序的临时目录。
#su - dmdba
mkdir -p /xx/tmp_dir
export DM_INSTALL_TMPDIR=/xx/tmp_dir
cd /mnt
export DISPLAY=XXXXX:0.0
./DMInstall.bin
命令行安装:./DMInstall.bin -i

DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6

执行脚本完成后,初始化数据库创建数据库实例(dbca)
###3.1.1 图形界面建库
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6
DM笔记之安装1:DM7 For NeoKylin A6

执行服务创建脚本:
DM笔记之安装1:DM7 For NeoKylin A6
完成后,确定。

3.1.2 命令行建库 dminit

cd $DM_HOME/bin
./dminit help 查看建库参数选项

[aaa@qq.com bin]$ ./dminit help
格式: ./dminit     KEYWORD=value

例程: ./dminit     PATH=/public/dmdb/dmData PAGE_SIZE=16

关键字                     说明(默认值)
/--------------------------------------------------------------------------------
INI_FILE                   初始化文件dm.ini存放的路径
PATH                       初始数据库存放的路径
CTL_PATH                   控制文件路径
LOG_PATH                   日志文件路径
EXTENT_SIZE                数据文件使用的簇大小(16),可选值:16、32,单位:页
PAGE_SIZE                  数据页大小(8),可选值:4、8、16、32,单位:K
LOG_SIZE                   日志文件大小(256),单位为:M,范围为:64M ~ 2G
CASE_SENSITIVE             大小敏感(Y),可选值:Y/N,1/0
CHARSET/UNICODE_FLAG       字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]
LENGTH_IN_CHAR             VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0
SYSDBA_PWD                 设置SYSDBA密码(SYSDBA),密码长度为9到48
SYSAUDITOR_PWD             设置SYSAUDITOR密码(SYSAUDITOR),密码长度为9到48
DB_NAME                    数据库名(DAMENG)
INSTANCE_NAME              实例名(DMSERVER)
PORT_NUM                   监听端口号(5236)
TIME_ZONE                  设置时区(+08:00)
PAGE_CHECK                 页检查模式(0),可选值:0/1/2
EXTERNAL_CIPHER_NAME       设置默认加密算法
EXTERNAL_HASH_NAME         设置默认HASH算法
EXTERNAL_CRYPTO_NAME       设置根**加密引擎
RLOG_ENC_FLAG              设置日志文件是否加密(N),可选值:Y/N,1/0
USBKEY_PIN                 设置USBKEY PIN
ENCRYPT_NAME               设置全库加密算法
BLANK_PAD_MODE             设置空格填充模式(0),可选值:0/1
SYSTEM_MIRROR_PATH         SYSTEM数据文件镜像路径
MAIN_MIRROR_PATH           MAIN数据文件镜像
ROLL_MIRROR_PATH           回滚文件镜像路径
MAL_FLAG                   初始化时设置dm.ini中的MAL_INI(0)
ARCH_FLAG                  初始化时设置dm.ini中的ARCH_INI(0)
MPP_FLAG                   Mpp系统内的库初始化时设置dm.ini中的mpp_ini(0)
CONTROL                    初始化配置文件(配置文件格式见系统管理员手册)
AUTO_OVERWRITE             是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖
USE_NEW_HASH               是否使用改进的字符类型HASH算法(1)
DCP_MODE                   是否是DCP代理模式(0)
DCP_PORT_NUM               DCP代理模式下管理端口
ELOG_PATH                  指定初始化过程中生成的日志文件所在路径
AP_PORT_NUM                ECS模式下AP协同工作的监听端口
HELP                       打印帮助信息
命令行建库:
[aaa@qq.com bin]$ ./dminit PATH=/data/dmdbms/data/DAMENG PAGE_SIZE=8 LOG_SIZE=500 DB_NAME=TEST INSTANCE_NAME=DMSERVER PORT_NUM=5327 SYSDBA_PWD=XXXXXXX 

完成后,注册实例并配置自启动。
注册服务方法1:

cp $DM_HOME/bin/service_template/DmService /etc/rc.d/init.d/DmServiceDMSERVER

修改 DmServiceDMSERVER 文件, 修改 INI_PATH 值为 dm.ini 路径(必须),DM_HOME 设置为 dm 主程序安装路径(必须)
vi /etc/rc.d/init.d/DmServiceDMSERVER
DM_HOME="/dm7/dmdbms"
INI_PATH="/data/dmdbms/data/DAMENG/dm.ini"

授予脚本可执行权限
chmod 777 /etc/rc.d/init.d/DmServiceDMSERVER

注册实例服务并配置开启自启动
chkconfig add DmServiceDMSERVER
chkconfig DmServiceDMSERVER on
chkconfig list DmServiceDMSERVER

查看、启动、关闭实例服务
service DmServiceDMSERVER status
service DmServiceDMSERVER start
service DmServiceDMSERVER stop

注册服务方法2:

root用户:
[aaa@qq.com root]# cd /dm7/dmdbms/script/root/
[aaa@qq.com root]# ls
dm_service_installer.sh  dm_service_uninstaller.sh  root_installer.sh

[aaa@qq.com root]# ./dm_service_installer.sh -h
Usage: dm_service_installer.sh -t service_type [-p service_name_postfix] [-i ini_file] [-d dcr_ini_file] [-m open|mount] [-y dependent_service]
  or dm_service_installer.sh [-s service_file_path]
  or dm_service_installer.sh -h
   -t     服务类型,包括dmimon,dmap,dmserver,dmwatch,dmrww,dmwmon,dmwatcher,dmmonitor,dmcss,dmcssm,dmasmsvr
   -p     服务名后缀,对于dmimon,dmap服务类型无效
   -i     ini文件路径,对于dmimon,dmap服务类型无效
   -d     dmdcr.ini文件路径,只针对dmserver服务类型生效,可选
   -m     设置服务器启动模式open或mount,只针对dmserver服务类型生效,可选
   -y     设置依赖服务,此选项只针对systemd服务环境下的dmserver和dmasmsvr服务生效
   -s     服务脚本路径,设置则忽略除-y外的其他参数选项
   -h     帮助
[aaa@qq.com root]# ./dm_service_installer.sh -t dmserver -i /data/dmdbms/data/DAMENG/dm.ini -p DMSERVER
通过服务安装脚本,会自动注册到开机自启服务。
[aaa@qq.com root]# chkconfig --list|grep Dm*
查看、启动、关闭实例服务
service DmServiceDMSERVER status
service DmServiceDMSERVER start
service DmServiceDMSERVER stop

3.2 配置环境变量

vi .bash_profile
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm7/dmdbms/bin"
export DM_HOME="/dm7/dmdbms"
export PATH=$PATH:$DM_HOME/bin    ###添加$DM_HOME/bin到PATH

$source .bash_profile

四、数据库卸载

1、已经存数据库,停止数据库,执行uninstall.sh
2、只安装了软件,可以直接执行uninstall.sh,脚本在软件安装目录下。

所有相关操作均有官方文档可以参考!

相关标签: 达梦