赞
踩
日常工作中,很多场景无法调用图形界面,因此需要通过命令行安装和卸载数据库。以下介绍命令行安装DM8、初始化实例、卸载DM8。
环境:
操作系统版本:Kylin Linux Advanced Server release V10
DM程序安装包路径:/opt/dm/dm8_20231109_x86_kylin10_64.iso
DM程序安装路径:/dm8
数据库实例初始化路径:/dm8/data
[root@localhost dm]# mount -o loop dm8_20231109_x86_kylin10_64.iso /mnt
[dmdba@localhost dm]$ cd /mnt
[dmdba@localhost mnt]$ ls
'DM8 Install.pdf' DMInstall.bin
[dmdba@localhost mnt]$ pwd
/mnt
[dmdba@localhost mnt]$ ./DMInstall.bin -i
安装语言:
[1]: 简体中文
[2]: English
请选择安装语言 [1] --默认1 回车即可
解压安装程序......
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n --试用版不用key,安全版写key路径即可
是否设置时区? (Y/y:是 N/n:否) [Y/y]:--默认y 回车即可
设置时区:
[ 1]: (GTM-12:00) 日界线西
[ 2]: (GTM-11:00) 萨摩亚群岛
[ 3]: (GTM-10:00) 夏威夷
[ 4]: (GTM-09:00) 阿拉斯加
[ 5]: (GTM-08:00) 太平洋时间(美国和加拿大)
[ 6]: (GTM-07:00) 亚利桑那
[ 7]: (GTM-06:00) 中部时间(美国和加拿大)
[ 8]: (GTM-05:00) 东部部时间(美国和加拿大)
[ 9]: (GTM-04:00) 大西洋时间(美国和加拿大)
[10]: (GTM-03:00) 巴西利亚
[11]: (GTM-02:00) 中大西洋
[12]: (GTM-01:00) 亚速尔群岛
[13]: (GTM) 格林威治标准时间
[14]: (GTM+01:00) 萨拉热窝
[15]: (GTM+02:00) 开罗
[16]: (GTM+03:00) 莫斯科
[17]: (GTM+04:00) 阿布扎比
[18]: (GTM+05:00) 伊斯兰堡
[19]: (GTM+06:00) 达卡
[20]: (GTM+07:00) 曼谷,河内
[21]: (GTM+08:00) 中国标准时间
[22]: (GTM+09:00) 首尔
[23]: (GTM+10:00) 关岛
[24]: (GTM+11:00) 所罗门群岛
[25]: (GTM+12:00) 斐济
[26]: (GTM+13:00) 努库阿勒法
[27]: (GTM+14:00) 基里巴斯
请选择时区 [21]:--默认21 回车即可
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]: --默认1 回车即可
所需空间: 2037M
请选择安装目录 [/home/dmdba/dmdbms]:/dm8--根据需要,选择安装路径
可用空间: 6G
是否确认安装路径(/dm8)? (Y/y:是 N/n:否) [Y/y]:--默认y 回车即可
安装前小结
安装位置: /dm8
所需空间: 2037M
可用空间: 6G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y--输入y 回车
2024-01-07 21:11:13
[INFO] 安装 基础 模块...
2024-01-07 21:11:13
[INFO] 安装达梦数据库...
2024-01-07 21:11:22
[INFO] 安装 服务器 模块...
2024-01-07 21:11:23
[INFO] 安装 客户端 模块...
2024-01-07 21:11:27
[INFO] 安装 驱动 模块...
2024-01-07 21:11:31
[INFO] 安装 手册 模块...
2024-01-07 21:11:31
[INFO] 安装 服务 模块...
2024-01-07 21:11:32
[INFO] 移动日志文件。
2024-01-07 21:11:34
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/dm8/script/root/root_installer.sh
安装结束
[root@localhost dm]# /dm8/script/root/root_installer.sh
移动 /dm8/bin/dm_svc.conf 到/etc目录
创建DmAPService服务
Created symlink /etc/systemd/system/multi-user.target.wants/DmAPService.service → /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
此脚本包括三项内容:(1)dm_svc.conf文件放到/etc目录(2)注册DMAP服务(3)启动DMAP服务。
可以查看脚本中的内如:
[root@localhost dm]# cat /dm8/script/root/root_installer.sh
#!/bin/sh
#run by root
RUID=`/usr/bin/id|awk -F\( '{print $1}'|awk -F\= '{print $2}'`
if [ ${RUID} != "0" ]
then
echo "必须以 root身份执行此脚本!"
exit 1
fi
echo "移动 /dm8/bin/dm_svc.conf 到/etc目录"
mv "/dm8/bin/dm_svc.conf" /etc/dm_svc.conf
echo "创建DmAPService服务"
"/dm8/script/root/dm_service_installer.sh" -s "/dm8/bin/DmAPService"
echo "启动DmAPService服务"
systemctl start DmAPService.service
[dmdba@localhost bin]$ cd /dm8/bin
初始化实例到/dm8/data目录,页大小32k 日志大小500M 其他默认(没有指定INI的路径,会在数据目录自动生成默认的dm.ini),命令如下:
[dmdba@localhost bin]$ ./dminit path=/dm8/data page_size=32 log_size=500
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2024-11-08
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dm8/data/DAMENG/DAMENG01.log
log file path: /dm8/data/DAMENG/DAMENG02.log
write to dir [/dm8/data/DAMENG].
create dm database success. 2024-01-07 21:25:35
其他参数可以用help查看,比如大小写是否敏感(默认敏感),编码(默认GB18030)等等
[dmdba@localhost bin]$ ./dminit help
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2024-11-08
version: 03134284094-20231108-207962-20067 Pack9
格式: ./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,范围为:256M ~ 8G
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],3[ZB]
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 页检查模式(3),可选值:0/1/2/3
PAGE_HASH_NAME 设置页检查HASH算法
EXTERNAL_CIPHER_NAME 设置默认加密算法
EXTERNAL_HASH_NAME 设置默认HASH算法
EXTERNAL_CRYPTO_NAME 设置根密钥加密引擎
RLOG_ENCRYPT_NAME 设置日志文件加密算法,若未设置,则不加密
RLOG_POSTFIX_NAME 设置日志文件后缀名,长度不超过10。默认为log,例如DAMENG01.log
USBKEY_PIN 设置USBKEY PIN
PAGE_ENC_SLICE_SIZE 设置页加密分片大小,可选值:0、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)
ELOG_PATH 指定初始化过程中生成的日志文件所在路径
AP_PORT_NUM 分布式环境下协同工作的监听端口
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日志(1) 1:是 0:否
PSEG_MGR_FLAG 是否仅使用管理段记录事务信息(0) 1:是 0:否
CHAR_FIX_STORAGE CHAR是否按定长存储(N),可选值:Y/N,1/0
SQL_LOG_FORBID 是否禁止打开SQL日志(N),可选值:Y/N,1/0
DPC_MODE 指定DPC集群中的实例角色(0) 0:无 1:MP 2:BP 3:SP,取值1/2/3时也可以用MP/BP/SP代替
HELP 打印帮助信息
与图形界面初始化的实例不同,命令行初始化的实例还需要手动注册服务,可以先在前台启动验证
[dmdba@localhost bin]$ pwd
/dm8/bin
[dmdba@localhost bin]$ ./dmserver /dm8/data/DAMENG/dm.ini
如上图,就是启动成功。命令行disql登录数据库验证
[dmdba@localhost bin]$ pwd
/dm8/bin
[dmdba@localhost bin]$ ./disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 18.722(ms)
disql V8
SQL> SELECT * FROM V$VERSION;
行号 BANNER
---------- ---------------------------------
1 DM Database Server 64 V8
2 DB Version: 0x7000c
3 03134284094-20231108-207962-20067
已用时间: 5.146(毫秒). 执行号:60501.
SQL> EXIT
退出
切换root用户执行
[root@localhost root]# pwd
/dm8/script/root
[root@localhost root]# ./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p PROD
Usage: dm_service_installer.sh -t service_type [-p service_name_postfix] [-dm_ini dm_ini_file]
[-watcher_ini watcher_ini_file ] [-monitor_ini monitor_ini_file] [-cssm_ini cssm_ini_file]
[-server server_info] [-dcr_ini dcr_ini_file]
[-dmap_ini dmap_ini_file] [-dpc_mode SP|MP|BP] [-m open|mount] [-y dependent_service] [-auto true|false]
or dm_service_installer.sh [-s service_file_path]
or dm_service_installer.sh -h
[root@localhost root]# pwd
/dm8/script/root
[root@localhost root]# ./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p PROD
Created symlink /etc/systemd/system/multi-user.target.wants/DmServicePROD.service → /usr/lib/systemd/system/DmServicePROD.service.
创建服务(DmServicePROD)完成
此方式注册的服务,会在dm安装目录生成脚本,/dm8/bin/DmServicePROD
同时,会实现开机自启,
[root@localhost root]# systemctl is-enabled DmServicePROD.service
enabled
如果不想让dm服务开机自启,可以用disable去配置
[root@localhost root]# systemctl disable DmServicePROD.service
Removed /etc/systemd/system/multi-user.target.wants/DmServicePROD.service.
[root@localhost root]# systemctl is-enabled DmServicePROD.service
disabled
[dmdba@localhost bin]$ pwd
/dm8/bin
[dmdba@localhost bin]$ ./DmServicePROD status
DmServicePROD is stopped
[dmdba@localhost bin]$ ./DmServicePROD start
Starting DmServicePROD: [ OK ]
[dmdba@localhost bin]$ ./DmServicePROD stop
Stopping DmServicePROD: [ OK ]
status 查看状态
start 启动
stop 停止
restart 重启
[root@localhost root]# systemctl status DmServicePROD.service
● DmServicePROD.service - DM Instance Service(DmServicePROD).
Loaded: loaded (/usr/lib/systemd/system/DmServicePROD.service; disabled; vendor preset: disabled)
Active: inactive (dead)
[root@localhost root]# systemctl start DmServicePROD.service
[root@localhost root]# systemctl status DmServicePROD.service
● DmServicePROD.service - DM Instance Service(DmServicePROD).
Loaded: loaded (/usr/lib/systemd/system/DmServicePROD.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2024-01-08 09:57:07 CST; 3s ago
Process: 67620 ExecStart=/dm8/bin/DmServicePROD start (code=exited, status=0/SUCCESS)
Main PID: 67641 (dmserver)
Tasks: 83
Memory: 332.7M
CGroup: /system.slice/DmServicePROD.service
└─67641 /dm8/bin/dmserver path=/dm8/data/DAMENG/dm.ini -noconsole
1月 08 09:56:52 localhost.localdomain systemd[1]: Starting DM Instance Service(DmServicePROD)....
1月 08 09:57:07 localhost.localdomain DmServicePROD[67620]: [35B blob data]
1月 08 09:57:07 localhost.localdomain systemd[1]: Started DM Instance Service(DmServicePROD)..
status 查看状态
start 启动
stop 停止
restart 重启
[root@db1 root]# pwd
/home/dmdba/dmdbms/script/root
[root@db1 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 帮助
[root@localhost system]# pwd
/lib/systemd/system
[root@localhost system]# mv DmAPService.service DmAPService.service-bak
[root@localhost system]# systemctl status DmAPService.service
[root@localhost system]# systemctl daemon-reload
[root@localhost system]# systemctl status DmAPService.service
切换dmdba用户执行
[dmdba@localhost service_template]$ pwd
/dm8/bin/service_template
[dmdba@localhost service_template]$ ls
DmAPService DmASMSvrmService DmASMSvrService DmCSSMonitorService DmCSSService DmMonitorService DmService DmWatcherService
[dmdba@localhost service_template]$ cp DmService ../dmserverd
[dmdba@localhost service_template]$ cd ../
[dmdba@localhost bin]$ vim dmserverd
修改dm.ini所在的路径即可
[dmdba@localhost bin]$ ./dmserverd status
dmserverd is stopped
[dmdba@localhost bin]$ ./dmserverd start
Starting dmserverd: [ OK ]
[dmdba@localhost bin]$
[dmdba@localhost bin]$ ./dmserverd stop
Stopping dmserverd: [ OK ]
这种方式注册的脚本,没有开机自启,如果需要加到开机自启,用如下命令
切换root执行
[root@localhost bin]# cp -rp dmserverd /etc/init.d
启用开机自启
[root@localhost bin]# chkconfig dmserverd on
[root@localhost bin]# chkconfig dmserverd --list
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。
要列出 systemd 服务,请执行 'systemctl list-unit-files'。
查看在具体 target 启用的服务请执行
'systemctl list-dependencies [target]'。
dmserverd 0:关 1:关 2:开 3:开 4:开 5:开 6:关
启停数据库
[root@localhost bin]# /etc/init.d/dmserverd status
dmserverd is stopped
[root@localhost bin]# /etc/init.d/dmserverd start
Starting dmserverd: 上一次登录: 一 1月 8 09:36:02 CST 2024 从 192.168.174.1 pts/2 上
[ OK ]
[root@localhost bin]# /etc/init.d/dmserverd status
dmserverd (pid 68700) is running.
[root@localhost bin]# /etc/init.d/dmserverd stop
Stopping dmserverd: [ OK ]
[root@localhost bin]# /etc/init.d/dmserverd status
dmserverd is stopped
关闭开机自启
[root@localhost system]# chkconfig dmserverd off
注意:正在将请求转发到“systemctl disable dmserverd.service”。
Synchronizing state of dmserverd.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install disable dmserverd
Failed to disable unit: File dmserverd.service: Bad message
[root@localhost system]# chkconfig dmserverd --list
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。
要列出 systemd 服务,请执行 'systemctl list-unit-files'。
查看在具体 target 启用的服务请执行
'systemctl list-dependencies [target]'。
dmserverd 0:关 1:关 2:关 3:关 4:关 5:关 6:关
[dmdba@localhost dm8]$ ./uninstall.sh -i
请确认是否卸载达梦数据库(/dm8/)? (y/Y:是 n/N:否):y
根据提示,确认卸载输入y
是否删除dm_svc.conf配置文件? (y/Y:是 n/N:否):y
根据提示,删除配置输入y
之后会打印以下信息
正在删除所有数据库库服务
删除数据库服务DmJobMonitorService
删除数据库服务DmInstanceMonitorService
删除数据库服务DmAuditMonitorService
删除数据库服务DmAPService
删除数据库服务DmServicePROD
删除所有数据库库服务完成
正在删除数据库目录
删除bin目录
删除bin目录完成
删除bin2目录
删除bin2目录完成
删除include目录
删除include目录完成
删除desktop目录
删除desktop目录完成
删除doc目录
删除doc目录完成
删除drivers目录
删除drivers目录完成
删除jdk目录
删除jdk目录完成
删除jar目录
删除jar目录完成
删除samples目录
删除samples目录完成
删除script目录
删除script目录完成
删除tool目录
删除tool目录完成
删除uninstall目录
删除uninstall目录完成
删除license_en.txt文件
删除license_en.txt文件完成
删除license_chs.txt文件
删除license_chs.txt文件完成
删除license_cht.txt文件
删除license_cht.txt文件完成
删除uninstall.sh文件
删除uninstall.sh文件完成
删除数据库目录完成
使用root用户执行命令:
/dm8/root_uninstaller.sh
会打印以下信息:
[root@localhost dm8]# /dm8/root_uninstaller.sh
删除DmAPService服务
Removed /etc/systemd/system/multi-user.target.wants/DmAPService.service.
删除DmServicePROD服务
Removed /etc/systemd/system/multi-user.target.wants/DmServicePROD.service.
删除/etc/dm_svc.conf文件
此脚本包括三项内容:(1)删除DMAP服务(2)删除DMSERVERD服务(3)删除dm_svc.conf配置文件。
可以查看脚本中的内如:
[dmdba@localhost dm8]$ cat /dm8/root_uninstaller.sh
#!/bin/sh
#run by root
RUID=`/usr/bin/id|awk -F\( '{print $1}'|awk -F\= '{print $2}'`
if [ ${RUID} != "0" ]
then
echo "必须以 root身份执行此脚本!"
exit 1
fi
echo "删除DmAPService服务"
systemctl disable DmAPService.service
rm -f /usr/lib/systemd/system/DmAPService.service
echo "删除DmServicePROD服务"
systemctl disable DmServicePROD.service
rm -f /usr/lib/systemd/system/DmServicePROD.service
rm -f "/dm8/bin/DmServicePROD"
echo "删除/etc/dm_svc.conf文件"
rm -f /etc/dm_svc.conf
DM安装程序卸载完成之后,会有DM程序残留文件或文件夹,需要手动删除。
[root@localhost dm8]# rm -rf /dm8/*
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。