由于最近项目需要上百台服务器部署达梦数据库,为了部署的标准化、流程化、自动化,特意编写此脚本。结合ansible工具,可以一键部署上百套达梦数据库
centos 6、7
(1)把达梦安装包放在/dbms (2)准备脚本文件上传到/dbms (3)准备数据库配置文件上传到/dbms
vi auto_install.sh
[root@k8s-master dbms]# vi auto_install.xml <?xml version="1.0"?> <DATABASE> <!--安装数据库的语言配置,安装中文版配置 ZH,英文版配置 EN,不区分大小写。不允许为空。--> <LANGUAGE>en</LANGUAGE> <!--安装程序的时区配置,默认值为+08:00,范围:-12:59 ~ +14:00 --> <TIME_ZONE>+08:00</TIME_ZONE> <!-- key 文件路径,没有可以留空 --> <KEY></KEY> <!--安装程序组件类型,取值 0、1、2,0 表示安装全部,1 表示安装服务器,2 表示安装客户端。默认为 0。 --> <INSTALL_TYPE>0</INSTALL_TYPE> <!--安装路径,不允许为空。 --> <INSTALL_PATH>/dbms/dm8/dmdbms</INSTALL_PATH> <!--是否初始化库,取值 Y/N、y/n,不允许为空。 --> <INIT_DB>Y</INIT_DB> <!--数据库实例参数 --> <DB_PARAMS> <!--初始数据库存放的路径,不允许为空 --> <PATH>/dbms/dm8/dmdbms/data</PATH> <!--初始化数据库名字,默认是 DAMENG,不超过 128 个字符 --> <DB_NAME>DMSERVER</DB_NAME> <!--初始化数据库实例名字,默认是 DMSERVER,不超过 128 个字符 --> <INSTANCE_NAME>DMSERVER</INSTANCE_NAME> <!--初始化时设置 dm.ini 中的 PORT_NUM,默认 5236,取值范围:1024~65534 --> <PORT_NUM>5236</PORT_NUM> <!--初始数据库控制文件的路径,文件路径长度最大为 256 --> <CTL_PATH></CTL_PATH> <!--初始数据库日志文件的路径,文件路径长度最大为 256 --> <LOG_PATHS> <LOG_PATH>/dbms/dm8/dmdbms/data/dm01.log</LOG_PATH> <LOG_PATH>/dbms/dm8/dmdbms/data/dm02.log</LOG_PATH> <LOG_PATH>/dbms/dm8/dmdbms/data/dm03.log</LOG_PATH> </LOG_PATHS> <!--数据文件使用的簇大小,只能是 16 页或 32 页之一,缺省使用 16 页 --> <EXTENT_SIZE>16</EXTENT_SIZE> <!--数据文件使用的页大小,缺省使用 8K,只能是 4K、8K、16K 或 32K 之一 --> <PAGE_SIZE>8</PAGE_SIZE> <!--日志文件使用的簇大小,默认是 256,取值范围 64 和 2048 之间的整数 --> <LOG_SIZE>256</LOG_SIZE> <!--标识符大小写敏感,默认值为 Y。只能是’Y’, ’y’, ’N’, ’n’, ’1’, ’0’之一 --> <CASE_SENSITIVE>Y</CASE_SENSITIVE> <!--字符集选项,默认值为 0。0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR--> <CHARSET>0</CHARSET> <!--设置为 1 时,所有 VARCHAR 类型对象的长度以字符为单位,否则以字节为单位。默认值为 0。 --> <USE_NEW_HASH>1</USE_NEW_HASH> <!--初始化时设置 SYSDBA 的密码,默认为 SYSDBA,长度在 9 到 48 个字符之间 --> <SYSDBA_PWD></SYSDBA_PWD> <!--初始化时设置 SYSAUDITOR 的密码,默认为 SYSAUDITOR,长度在 9 到 48 个字符之间 --> <SYSAUDITOR_PWD></SYSAUDITOR_PWD> <!--初始化时设置 SYSSSO 的密码,默认为 SYSSSO,长度在 9 到 48 个字符之间,仅在安全版本下可见和可设置 --> <SYSSSO_PWD></SYSSSO_PWD> <!--初始化时设置 SYSDBO 的密码,默认为 SYSDBO,长度在 9 到 48 个字符之间,仅在安全版本下可见和可设置 --> <SYSDBO_PWD></SYSDBO_PWD> <!--初始化时区,默认是东八区。格式为:正负号小时:分钟,范围:-12:59 ~ +14:00--> <TIME_ZONE>+08:00</TIME_ZONE> <!--是否启用页面内容校验,0:不启用;1:简单校验;2:严格校验(使用 CRC16 算法生成校验码)。默认 0 --> <PAGE_CHECK>0</PAGE_CHECK> <!--设置默认加密算法,不超过 128 个字符 --> <EXTERNAL_CIPHER_NAME></EXTERNAL_CIPHER_NAME> <!--设置默认 HASH 算法,不超过 128 个字符 --> <EXTERNAL_HASH_NAME></EXTERNAL_HASH_NAME> <!--设置根密钥加密引擎,不超过 128 个字符 --> <ENCRYPT_NAME></ENCRYPT_NAME> <!--指定日志文件是否加密。默认值 N。取值 Y/N,y/n,1/0 --> <RLOG_ENC_FLAG>N</RLOG_ENC_FLAG> <!--用于加密服务器根密钥,最长为 48 个字节 --> <USBKEY_PIN></USBKEY_PIN> <!--设置空格填充模式,取值 0 或 1,默认为 0 --> <BLANK_PAD_MODE>0</BLANK_PAD_MODE> <!--指定 system.dbf 文件的镜像路径,默认为空 --> <SYSTEM_MIRROR_PATH></SYSTEM_MIRROR_PATH> <!--指定 main.dbf 文件的镜像路径,默认为空 --> <MAIN_MIRROR_PATH></MAIN_MIRROR_PATH> <!--指定 roll.dbf 文件的镜像路径,默认为空 --> <ROLL_MIRROR_PATH></ROLL_MIRROR_PATH> <!--是否是四权分立,默认值为 0(不使用)。仅在安全版本下可见和可设置。只能是 0 或 1--> <PRIV_FLAG>0</PRIV_FLAG> <!--指定初始化过程中生成的日志文件所在路径。合法的路径,文件路径长度最大为 257(含结束符),不包括文件名--> <ELOG_PATH></ELOG_PATH> </DB_PARAMS> <!--是否创建数据库实例的服务,值 Y/N y/n,不允许为空,不初始化数据库将忽略此节点。非 root 用户不能创建数据> 库服务。 --> <CREATE_DB_SERVICE>Y</CREATE_DB_SERVICE> <!--是否启动数据库,值 Y/N y/n,不允许为空,不创建数据库服务将忽略此节点。 --> <STARTUP_DB_SERVICE>N</STARTUP_DB_SERVICE> </DATABASE>
root@k8s-master dbms]# ./auto_install.sh 解压安装程序......... 2022-12-09 11:08:30 [INFO] Installing DM DBMS... 2022-12-09 11:08:30 [INFO] Installing BASE Module... 2022-12-09 11:08:34 [INFO] Installing SERVER Module... 2022-12-09 11:08:34 [INFO] Installing CLIENT Module... 2022-12-09 11:08:36 [INFO] Installing DRIVERS Module... 2022-12-09 11:08:37 [INFO] Installing MANUAL Module... 2022-12-09 11:08:37 [INFO] Installing SERVICE Module... 2022-12-09 11:08:39 [INFO] Move log file to log directory. 2022-12-09 11:08:39 [INFO] Change the power of installtion directory successfully. 2022-12-09 11:08:39 [INFO] Starting DmAPService service... 2022-12-09 11:08:40 [INFO] Start DmAPService service successfully. 2022-12-09 11:08:40 [INFO] Installed DM DBMS completely. 2022-12-09 11:08:43 [INFO] Creating database... 2022-12-09 11:08:46 [INFO] Create database completed. 2022-12-09 11:08:46 [INFO] Creating database service... 2022-12-09 11:08:47 [INFO] Create database service completed. 2022-12-09 11:08:47