redhat7.7部署达梦单实例:dm8命令行方式安装

redhat7.7部署达梦单实例:dm8命令行方式安装
dm8-redhat7.7
目录
一.安装流程图
   开始
   
                    是   停服务--备份--卸载
   检查是否安装                          |
                    否   安装           <|
					      
						 结束


二.安装步骤
0.检查 Linux(Unix)系统信息
1.创建分组
2.创建用户,指定分组,修改用户密码
3.创建安装目录,更改授权
4.检查修改系统资源限制
5.加载光驱
6.改授权,启动安装程序
7.修改环境变量

#详细安装过程
0.检查 Linux(Unix)系统信息
#获取系统位数
getconf LONG_BIT
#查询操作系统 release 信息
lsb_release -a   #未找到命令  安装yum install -y redhat-lsb
#查询系统信息
cat /etc/issue    
#查询系统名称
uname -a
#检查操作系统资源限制
cat << EOF >> /etc/security/limits.conf
dinstall hard nofile 65536
dinstall soft nofile 65536 
dinstall hard nproc 65536
dinstall soft nproc 65536
dinstall soft core unlimited
dinstall hard core unlimited
EOF

cat  /etc/security/limits.conf
#检查系统内存与存储空间
##检查内存
#获取内存总大小
grep MemTotal /proc/meminfo
#获取交换分区大小
grep SwapTotal /proc/meminfo
#获取内存使用详情
free
##检查存储空间
df -h /dm8
df -h /tmp
如果/tmp 目录不能保证 1GB 的存储空间,用户可以扩展/tmp 目录存储空间或者通
过设置环境变量 DM_INSTALL_TMPDIR 指定安装程序的临时目录。具体命令如下所示:
#以 BASH 为例:
mkdir -p /mount_point/dir_name
DM_INSTALL_TMPDIR=/mount_point/dir_name
export DM_INSTALL_TMPDIR
#安装、配置java
下载路径:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html

cd /opt
mkdir -pv /usr/lib/java
客户端解压jdk-8u211-linux-x64.tar.gz,将jdk1.8.0_211上传至/usr/lib/java

echo 'export JAVA_HOME=/usr/lib/java/jdk1.8.0_211'>> /etc/profile  
echo 'export JRE_HOME=${JAVA_HOME}/jre'>> /etc/profile 
echo 'export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH'>> /etc/profile 
echo 'export JAVA_PATH=${JAVA_HOME}/bin:{JRE_HOME}/bin'>> /etc/profile 
echo 'export PATH=${JAVA_PATH}:$PATH'>> /etc/profile 
echo 'export JAVA_BIN=${JAVA_HOME}/bin'>> /etc/profile 

cat /etc/profile
source /etc/profile 
java -version
--java version "jdk1.8.0_211"

1.创建分组、用户,指定分组,修改用户密码
groupadd dinstall
useradd dinstall -g dinstall
echo "dinstall" | passwd --stdin dinstall
3.创建安装目录,更改授权
--需使用默认目录,自定义目录会java调用错误且不会弹出初始化数据库界面,使用默认目录,此步骤省略
mkdir /dm8
chown -R dinstall:dinstall /dm8
chmod -R 755 /dm8

4.检查修改系统资源限制
ulimit -a
确保open files设置为65536以上或者unlimited(无限制),如果不是,修改/etc/profile
增加一行:ulimit -n 65536

echo "ulimit -n 65536" >>/etc/prDM_HOMEofile
source /etc/profile

5.加载光驱
mount -o loop /opt/dm8_20200907_x86_rh7_64_ent_8.1.1.126.iso /mnt

6.修改环境变量

su - dinstall
echo 'export DM_HOME=/dm8/dmdbms'>>.bash_profile
echo 'export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/dmdbms/bin"'>>.bash_profile
echo 'export PATH=$DM_HOME/bin:$PATH'>>.bash_profile
echo 'export DM_JAVA_HOME=/usr/lib/java/jdk1.8.0_211'>>.bash_profile
cat .bash_profile
source .bash_profile



7.改授权,启动安装程序

补充:
export LANG=en_US
export LANG=zh_CN.UTF-8
export LANG=zh_CN    #会显示乱码,建议zh_CN.UTF-8 或en_US


java -version
cp /mnt/DMInstall.bin  /home/dinstall/
cd /home/dinstall/
chmod 755 ./DMInstall.bin
cd /home/dinstall/
export LANG=zh_CN.UTF-8  
./DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]:
解压安装程序......... 
欢迎使用达梦数据库安装程序

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

是否设置时区? (Y/y:是 N/n:否) [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]:

安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 1075M

请选择安装目录 [/home/dinstall/dmdbms]:/dm8/dmdbms
可用空间: 68G
是否确认安装路径(/dm8/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:

安装前小结
安装位置: /dm8/dmdbms
所需空间: 1075M
可用空间: 68G
版本信息: 
有效日期: 
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2020-11-26 14:24:29 
[INFO] 安装达梦数据库...
2020-11-26 14:24:30 
[INFO] 安装 基础 模块...
2020-11-26 14:24:32 
[INFO] 安装 服务器 模块...
2020-11-26 14:24:32 
[INFO] 安装 客户端 模块...
2020-11-26 14:24:34 
[INFO] 安装 驱动 模块...
2020-11-26 14:24:35 
[INFO] 安装 手册 模块...
2020-11-26 14:24:36 
[INFO] 安装 服务 模块...
2020-11-26 14:24:37 
[INFO] 移动ant日志文件。
java.security.NoSuchAlgorithmException: DES SecretKeyFactory not available
	at javax.crypto.SecretKeyFactory.<init>(SecretKeyFactory.java:122)
	at javax.crypto.SecretKeyFactory.getInstance(SecretKeyFactory.java:160)
	at com.dameng.common.util.StringUtil.getSecretKey(StringUtil.java:561)
	at com.dameng.common.util.StringUtil.getValue(StringUtil.java:572)
	at com.dameng.common.util.StringUtil.encrypt(StringUtil.java:522)
	at com.dameng.install.util.InstallUtil.createInstalledFilesRecord(InstallUtil.java:1575)
	at com.dameng.install.cli.MainApplication$2.run(MainApplication.java:415)
2020-11-26 14:24:37 
[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:
/dm8/dmdbms/script/root/root_installer.sh

安装结束


8.初始化数据库
[dinstall@db01 ~]$ cd /dm8/dmdbms/bin
[dinstall@node2 bin]$ ./dminit PATH=/dm8/dmdbms/ EXTENT_SIZE=16 PAGE_SIZE=16 DB_NAME=DAMENG INSTANCE_NAME=DMSERVER CASE_SENSITIVE=N CHARSET=1
initdb V8
db version: 0x7000b
file dm.key not found, use default license!
License will expire on 2021-09-04

 log file path: /dm8/dmdbms/DAMENG/DAMENG01.log


 log file path: /dm8/dmdbms/DAMENG/DAMENG02.log

write to dir [/dm8/dmdbms/DAMENG].
create dm database success. 2020-11-26 18:30:02






数据库名:DAMENG
实例名:DMSERVER	
端口号:5236
sysdba/sysauditor:SYSDBA


9.注册服务
root用户切换到DM_HOME/script/root下
[root@db01 dinstall]# cd /dm8/dmdbms/script/root/
[root@node2 root]# ./dm_service_installer.sh -t dmserver -dm_ini  /dm8/dmdbms/DAMENG/dm.ini -p DMSERVER
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service to /usr/lib/systemd/system/DmServiceDMSERVER.service.
创建服务(DmServiceDMSERVER)完成


10.启动数据库
[root@node2 root]# systemctl start DmServiceDMSERVER.service 
[root@node2 root]# systemctl enable DmServiceDMSERVER.service 
[root@node2 root]# systemctl status DmServiceDMSERVER.service 
● DmServiceDMSERVER.service - Dameng Database Service(DmServiceDMSERVER).
   Loaded: loaded (/usr/lib/systemd/system/DmServiceDMSERVER.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-11-26 18:34:53 CST; 25s ago
 Main PID: 7593 (dmserver)
   CGroup: /system.slice/DmServiceDMSERVER.service
           └─7593 /dm8/dmdbms/bin/dmserver /dm8/dmdbms/DAMENG/dm.ini -noconsole

Nov 26 18:34:38 node2 systemd[1]: Starting Dameng Database Service(DmServiceDMSERVER)....
Nov 26 18:34:53 node2 DmServiceDMSERVER[7568]: [39B blob data]
Nov 26 18:34:53 node2 systemd[1]: Started Dameng Database Service(DmServiceDMSERVER)..

11.配置环境变量
vi .bash_profile
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/dmdbms/bin"
export DM_HOME="/dm8/dmdbms"
export PATH="/dm8/dmdbms/bin:$PATH"


source .bash_profile

12.在dinstall用户下连接数据库
[dinstall@node2 ~]$ disql sysdba/SYSDBA

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 4.068(ms)
disql V8
SQL> select status$ from v$instance;

行号     status$
---------- -------
1          OPEN

已用时间: 8.583(毫秒). 执行号:499.
SQL> exit
[dinstall@node2 ~]$ dminit help
initdb V8
db version: 0x7000b
file dm.key not found, use default license!
License will expire on 2021-09-04
格式: ./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, 64,单位:页
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]
SEC_PRIV_MODE              权限管理模式(0),可选值:0[TRADITION],1[BMJ],2[EVAL]
LENGTH_IN_CHAR             VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0
SYSDBA_PWD                 设置SYSDBA密码(SYSDBA)
SYSAUDITOR_PWD             设置SYSAUDITOR密码(SYSAUDITOR)
DB_NAME                    数据库名(DAMENG)
INSTANCE_NAME              实例名(DMSERVER)
PORT_NUM                   监听端口号(5236)
BUFFER                     系统缓存大小(100),单位M
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
PAGE_ENC_SLICE_SIZE        设置页加密分片大小,可选值:512、4096,单位:Byte
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协同工作的监听端口
DFS_FLAG                   初始化时设置dm.ini中的DFS_INI(0)
DFS_PATH                   启用dfs时指定数据文件的缺省路径
DFS_HOST                   指定连接分布式系统DFS的服务地址(localhost)
DFS_PORT                   指定连接分布式系统DFS的服务端口号(3332)
DFS_COPY_NUM               指定分布式系统的副本数(3)
DFS_DB_NAME                指定分布式系统的中数据库名(默认与DB_NAME一致)
SHARE_FLAG                 指定分布式系统中该数据库的共享属性(0)
REGION_MODE                指定分布式系统中该数据库的系统表空间数据文件的区块策略(0) 0:微区策略 1:宏区策略
HUGE_WITH_DELTA            是否仅支持创建事务型HUGE表(1) 1:是 0:否
RLOG_GEN_FOR_HUGE          是否生成HUGE表REDO日志(0) 1:是 0:否
PSEG_MGR_FLAG              是否仅使用管理段记录事务信息(0) 1:是 0:否
HELP                       打印帮助信息


三、卸载
1.图形方式卸载
1.命令行方式卸载
su - dinstall

[dinstall@db01 ~]$ cd /dm8/dmdbms
[dinstall@node2 dmdbms]$ ls
bin  bin2  DAMENG  desktop  doc  drivers  include  jar  jdk  license_en.txt  license_zh.txt  log  samples  script  tool  uninstall  uninstall.sh  web
[dinstall@node2 dmdbms]$ mkdir -pv bak/
[dinstall@node2 dmdbms]$ mv /dm8/dmdbms/bin/DAMENG/* bak/

[dinstall@db01 dm8]$ ./uninstall.sh -i
-bash: ./uninstall:是一个目录
[dinstall@db01 dm8]$ ./uninstall.sh -i
请确认是否卸载达梦数据库(/dm8/)? (y/Y:是 n/N:否):y

是否删除dm_svc.conf配置文件? (y/Y:是 n/N:否):y

正在删除所有数据库库服务
删除数据库服务DmJobMonitorService
删除数据库服务DmInstanceMonitorService
删除数据库服务DmAuditMonitorService
删除数据库服务DmAPService
删除所有数据库库服务完成
正在删除数据库目录
删除bin目录
删除bin目录完成
删除bin2目录
删除bin2目录完成
删除include目录
删除include目录完成
删除desktop目录
删除desktop目录完成
删除doc目录
删除doc目录完成
删除drivers目录
删除drivers目录完成
删除jdk目录
删除jdk目录完成
删除jar目录
删除jar目录完成
删除samples目录
删除samples目录完成
删除script目录
删除script目录完成
删除tool目录
删除tool目录完成
删除web目录
删除web目录完成
删除uninstall目录
删除uninstall目录完成
删除license_en.txt文件
删除license_en.txt文件完成
删除license_zh.txt文件
删除license_zh.txt文件完成
删除uninstall.sh文件
删除uninstall.sh文件完成
删除数据库目录完成

使用root用户执行命令:
/dm8/root_uninstaller.sh

su - root
[root@db01 java]# /dm8/root_uninstaller.sh
删除DmAPService服务
Removed /etc/systemd/system/multi-user.target.wants/DmAPService.service.
删除/etc/dm_svc.conf文件

2.删除相关目录
su – dinstall
cd /tmp
rm -rf swtlib-64/  hsperfdata_dinstall/
cd /home/dinstall 
ls -ltr 
rm -rf dmdbms
cd /etc
rm -rf dm_svc.conf


四.问题
问题1.lsb_release -a   #未找到命令  安装yum install -y redhat-lsb
配置yum源安装redhat-lsb

cd /etc/yum.repos.d/
mkdir -pv bak/
mv *.repo bak/
umount /dev/sr0
mkdir -pv /media/cdrom
mount /dev/sr0 /media/cdrom

cat << EOF >> /etc/yum.repos.d/kingbase.repo
[kingbase]
name=kingbase
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
EOF

安装依赖包:
yum clean all
yum list
yum install -y redhat-lsb

问题2:
[dinstall@node2 ~]$ /dm8/dmdbms/bin/dminit PATH=/dm8/dmdbms PAGE_SIZE=16
/dm8/dmdbms/bin/dminit: error while loading shared libraries: libdmnsort.so: cannot open shared object file: No such file or directory

处理办法:
cd  /dm8/dmdbms/bin
./dminit PATH=/dm8/dmdbms PAGE_SIZE=16


问题3:[dinstall@node2 bin]$ ./dmserver 
file dm.key not found, use default license!
Read ini error, name:CTL_PATH, value:/dm8/dmdbms/data/DAMENG/dm.ctl
dmserver startup failed, code = -803 [Invalid ini config value]
nsvr_ini_file_read failed, [code: -803]

处理方法:参照上述注册服务


 

上一篇:3.1.6 、Google Tag Manager基础知识——GTM中传输数据的模型


下一篇:3.1.7、Google Tag Manager基础知识—— GTM Debug