1. 安装前配置
-- 创建安装用户 groupadd -g 600 dinstall useradd -u 600 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba echo "dmdba"|passwd dmdba --stdin -- 操作系统资源限制 cp /etc/security/limits.conf /etc/security/limits.conf_$(date +%Y%m%d) cat > /etc/security/limits.d/99-dmdba.conf <<EOF # modify for dmdb # data seg size dmdba soft data 1048576 dmdba hard data 1048576 # file size dmdba soft fsize unlimited dmdba hard fsize unlimited # open files dmdba soft nofile 65536 dmdba hard nofile 65536 # virtual memory dmdba soft as 1048576 dmdba hard as 1048576 EOF -- 创建软件目录 mkdir -p /ups/app/dmdb/dmdbms mkdir -p /ups/app/dmdb/dmdata mkdir -p /ups/app/dmdb/dmarch mkdir -p /ups/app/dmdb/dmbackup chown -R dmdba:dinstall /ups/app/dmdb chmod -R 775 /ups/app/dmdb
2. 软件安装
-- 安装介质 mount -o loop /ups/soft/dm7_setup_rh6_64_ent_7.6.0.184_20190812.iso /mnt cp /mnt/DMInstall.bin /ups/soft/ chown dmdba:dinstall /ups/soft/DMInstall.bin -- 图形界面安装 su - dmdba $ cd /ups/soft/ $ ./DMInstall.bin 。。。 -- 创建服务 # sh /ups/app/dmdba/dmdbms/script/root/root_installer.sh -- 执行完root脚本后进行初始化 -- 执行脚本创建实例服务 /ups/app/dmdb/dmdbms/script/root/dm_service_installer.sh -s /ups/app/dmdb/dmdbms/bin/DmAPService -- 字符界面安装(手工选项) ./DMInstall.bin -i Please select the installer's language (E/e:English C/c:Chinese) [E/e]:e Extract install files......... core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 31761 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 4096 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 4096 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited The max number of open files is too little, suggest to set 65536 or more to number of open files. Welcome to DM DBMS Installer Whether to input the path of Key File? (Y/y:Yes N/n:No) [Y/y]:n Whether to Set The TimeZone? (Y/y:Yes N/n:No) [Y/y]: TimeZone: [ 1]: GTM-12=West Date Line [ 2]: GTM-11=Samoa [ 3]: GTM-10=Hawaii [ 4]: GTM-09=Alaska [ 5]: GTM-08=Pacific(America and Canada) [ 6]: GTM-07=Arizona [ 7]: GTM-06=Central(America and Canada) [ 8]: GTM-05=East(America and Canada) [ 9]: GTM-04=Atlantic(America and Canada) [10]: GTM-03=Brasilia [11]: GTM-02=Middle Atlantic [12]: GTM-01=Azores [13]: GTM=Greenwich Mean Time [14]: GTM+01=Sarajevo [15]: GTM+02=Cairo [16]: GTM+03=Moscow [17]: GTM+04=AbuDhabi [18]: GTM+05=Islamabad [19]: GTM+06=Dakar [20]: GTM+07=BangKok,Hanoi [21]: GTM+08=China [22]: GTM+09=Seoul [23]: GTM+10=Guam [24]: GTM+11=Solomon [25]: GTM+12=Fiji [26]: GTM+13=Nukualofa [27]: GTM+14=Kiribati Please Select the TimeZone [21]:21 Installation Type: 1 Typical 2 Server 3 Client 4 Custom Please Input the number of the Installation Type [1 Typical]:1 Require Space: 930M Please Input the install path [/home/dmdba/dmdbms]:/ups/app/dmdb/dmdbms Available Space:39G Please Confirm the install path(/ups/app/dmdb/dmdbms)? (Y/y:Yes N/n:No) [Y/y]:y Pre-Installation Summary Installation Location: /ups/app/dmdb/dmdbms Require Space: 930M Available Space: 39G Version Information: Expire Date: Installation Type: Typical Confirm to Install? (Y/y:Yes N/n:No):y 2019-10-21 09:24:25 [INFO] Installing DM DBMS... 2019-10-21 09:24:26 [INFO] Installing BASE Module... 2019-10-21 09:24:28 [INFO] Installing SERVER Module... 2019-10-21 09:24:28 [INFO] Installing CLIENT Module... 2019-10-21 09:24:29 [INFO] Installing DRIVERS Module... 2019-10-21 09:24:30 [INFO] Installing MANUAL Module... 2019-10-21 09:24:30 [INFO] Installing SERVICE Module... 2019-10-21 09:24:32 [INFO] Move ant log file to log directory. 2019-10-21 09:24:32 [INFO] Installed DM DBMS completely. Please execute the commands by root: /ups/app/dmdb/dmdbms/script/root/root_installer.sh End -- 执行root脚本 [root@progs ~]# sh /ups/app/dmdb/dmdbms/script/root/root_installer.sh Move /ups/app/dmdb/dmdbms/bin/dm_svc.conf to /etc Modify the files' mode of DM Server Create the DmAPService service Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service. Finished to create the service (DmAPService) Start the DmAPService service [root@progs ~]# -- 字符界面安装(响应配置文件) ./DMInstall.bin -q auto_install.xml vi auto_install.xml <?xml version="1.0"?> <DATABASE> <!--安装数据库的语言配置,安装中文版配置 ZH,英文版配置 EN,不区分大小写。不允许为空。--> <LANGUAGE>zh</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>/ups/app/dmdb/dmdbms</INSTALL_PATH> <!--是否初始化库,取值 Y/N、 y/n,不允许为空。 --> <INIT_DB>Y</INIT_DB> <!--数据库实例参数 --> <DB_PARAMS> <!--初始数据库存放的路径,不允许为空 --> <PATH>/ups/app/dmdb/dmdata</PATH> <!--初始化数据库名字,默认是 DAMENG,不超过 128 个字符 --> <DB_NAME>DAMENG</DB_NAME> <!--初始化数据库实例名字,默认是 DMSERVER,不超过 128 个字符 --> <INSTANCE_NAME>DMSERVER</INSTANCE_NAME> <!--初始化时设置 dm.ini 中的 PORT_NUM,默认 5236,取值范围: 1024~65534 --> <PORT_NUM>5336</PORT_NUM> <!--初始数据库控制文件的路径,文件路径长度最大为 256 --> <CTL_PATH>/ups/app/dmdb/dmdata/DAMENG/control.ctl</CTL_PATH> <!--初始数据库日志文件的路径,文件路径长度最大为 256 --> <LOG_PATHS> <LOG_PATH>/ups/app/dmdb/dmdata/DAMENG/redo01.rd</LOG_PATH> <LOG_PATH>/ups/app/dmdb/dmdata/DAMENG/redo02.rd</LOG_PATH> <LOG_PATH>/ups/app/dmdb/dmdata/DAMENG/redo03.rd</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。 --> <LENGTH_IN_CHAR>0</LENGTH_IN_CHAR> <!--字符类型在计算 HASH 值时所采用的 HASH 算法类别。 0:原始 HASH 算法; 1:改进的HASH 算法。默认值为 1。 --> <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 个字符 --> <EXTERNAL_CRYPTO_NAME></EXTERNAL_CRYPTO_NAME> <!--全库加密密钥使用的算法名。算法可以是 DM 内部支持的加密算法,或者是第三方的加密算法。默认使用"AES256_ECB"算法加密,最长为 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> -- 字符界面初始化数据库实例 dminit initdb V7.6.0.184-Build(2019.08.08-110764)ENT db version: 0x7000a License will expire on 2020-09-20 input system dir: /ups/app/dmdb/dmdata -- << 数据文件存放路径 input db name: dmdb -- << 实例/数据库名 input port num: 5336 -- << 服务端口 input page size(4, 8, 16, 32): 8 -- << 数据库页大小 input extent size(16, 32): 16 -- << 扩展大小 input sec priv mode(0, 1): 0 -- << 安全特权模式 input time zone(-12:59,+14:00): +8:00 -- << 时区 ,选东8区 string case sensitive? ([Y]es, [N]o): N -- << 标识符是否区分大小写 which charset to use? (0[GB18030], 1[UTF-8], 2[EUC-KR]): 1 -- << 字符集 length in char? ([Y]es, [N]o): y -- << 字符长度 enable database encrypt? ([Y]es, [N]o): N -- << 是否启用数据库加密 page check mode? (0/1/2): 0 -- << 是否开启页页检查模式 input elog path: -- << 日志路径 auto_overwrite mode? (0/1/2): 0 -- << log file path: /ups/app/dmdb/dmdata/dmdb/dmdb01.log log file path: /ups/app/dmdb/dmdata/dmdb/dmdb02.log write to dir [/ups/app/dmdb/dmdata/dmdb]. create dm database success. 2019-10-21 10:04:09 [dmdba@progs tool]$
3. 配置启动服务
-- 前端命令方式,该命令行窗口关闭时,达梦数据库服务即中断了 ${DM_HOME}/bin/dmserver /ups/app/dmdb/dmdata/dmdb/dm.ini -- 注册服务 cd ${DM_HOME}/script/root [root@progs 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 Service Type, include: dmimon,dmap,dmserver,dmwatch,dmrww,dmwmon,dmwatcher,dmmonitor,dmcss,dmcssm,dmasmsvr. -p Service Name Postfix, is invalid for dmimon,dmap. -i The path of the ini file, is invalid for dmimon,dmap. -d The path of dmdcr.ini, is valid for dmserver only, select. -m Set the start modeof the server, include:open or mount, is valid for dmserver only, select. -y Set the dependent service, this parameter is valid for dmserver,dmasmsvr in systemd service environment. -s The path of the service script file, if set this parameter and ignore other parameter but -y. -h Help [root@progs root]# -- 执行命令增加服务 ./dm_service_installer.sh -t dmserver -i /ups/app/dmdb/dmdata/dmdb/dm.ini -p DMSERVER -- 启动服务 systemctl start DmServiceDMSERVER systemctl status DmServiceDMSERVER systemctl enable DmServiceDMSERVER
4. 客户端连接数据库服务
disql SYSDBA/SYSDBA@localhost:5336