达梦数据库初始化有两种方式:css
dminit的具体用法以下:算法
./dminit help
initdb V7.6.0.142-Build(2019.03.12-103811)ENT
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2020-03-12
格式: ./dminit KEYWORD=value
例程: ./dminit PATH=/public/dmdb/dmData PAGE_SIZE=16
关键字 说明(默认值)
--------------------------------------------------------------------------------
INI_FILE 初始化文件dm.ini存放的路径
PATH 初始数据库存放的路径
CTL_PATH 控制文件路径
LOG_PATH 日志文件路径
EXTENT_SIZE 数据文件使用的簇大小(16),可选值:1六、32,单位:页
PAGE_SIZE 数据页大小(8),可选值:四、八、1六、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 打印帮助信息
复制代码
dminit能够不带任何参数直接执行,可是不能设置INSTANCE_NAME,以下:数据库
./dminit
initdb V7.6.0.142-Build(2019.03.12-103811)ENT
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2020-03-12
input system dir:
input db name:
input port num:
复制代码
从上面能够看出,DM_NAME设置完成后就是PORT_NUM,并无INSTANCE_NAME的设置(达梦数据库默认实例名为:DMSERVER)
所以不建议采用不带参数的方式直接执行dminit,缘由除了不能自定义实例名以外,你还会发现有些参数虽然有默认值,但仍是必需要选择后才能进行到下一步,没有直接执行dbca.sh方便。bash
建议采用带参数的方式执行dminit服务器
dminit虽然有不少参数,但大多数状况下默认值便是最佳的选择,因此咱们在使用dminit初始化数据库时,只要指定:post
[root@dmlab bin]# su - dmdba
[dmdba@dmlab ~]$ cd $DM_HOME/bin
[dmdba@dmlab bin]$ ./dminit PATH=/数据库存放绝对路径 DB_NAME=数据库名 INSTANCE_NAME=实例名 PORT_NUM=监听端口号
复制代码
根据个人测试,在使用完图形化界面完成数据库初始化之后,再次使用dminit进行实例建立,只要PATH不同,数据库名和实例名与已经存在的数据库和实例相同也没有影响,可是PORT_NUM必须不同,达梦数据库是经过PORT_NUM来区分不一样实例的测试
采用dminit建立的实例没有对应的服务,不能使用DM服务查看器(包含service或者systemctl命令)进行管理。因此必须在使用命令行建立实例以后进行服务注册,将其注册成系统服务,方便用户管理与控制。ui
注册数据库服务一样能够采用图形化界面和命令行两种方式:加密
dm_service_installer.sh 用法以下:spa
[root@dmlab 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 帮助
复制代码
举例:
./dm_service_installer.sh -t dmserver -i /path_to_dm.ini -p DCA
复制代码
注册完数据库服务之后既可经过如下方式进行管理:
1. DM服务查看器
2. serivce DmServiceDCA status/start/stop (LINUX 6)
3. systemctl status/start/stop DmServiceDCA.service (LINUX 7)
复制代码