netnr/ install-dm.sh 2024-02-28 14:35
安装达梦数据
# 方式一:Docker 安装
# 下载 docker 包并载入
docker load -i dm8_20230808_rev197096_x86_rh6_64_single.tar
# 启动,默认账号密码 SYSDBA/SYSDBA001
docker run -d -p 5236:5236 --name dm8 --privileged=true --restart=always \
-e CASE_SENSITIVE=0 \
-e UNICODE_FLAG=1 \
-e LENGTH_IN_CHAR=1 \
-e PAGE_SIZE=16 \
-e LD_LIBRARY_PATH=/opt/dmdbms/bin \
-v /package/dmdata:/opt/dmdbms/data \
dm8_single:dm8_20230808_rev197096_x86_rh6_64

# 授权信息、有效期
sql> SELECT * from v$license

# 方式二:安装包
groupadd -g 12349 dinstall # 用户组
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba # 安装用户 dmdba
passwd dmdba # 初始化用户密码

vi /etc/security/limits.conf # 编辑后查看 ulimit -a

dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384

mount dm8_*.iso /mnt # 挂载下载的安装包,卸载 umount /mnt

export DM_INSTALL_TMPDIR=/home/dmdba # tmp 目录空间不够时指定

# 权限保证 chmod 755 /mnt/DMInstall.bin
/mnt/DMInstall.bin -q /home/dmdba/dinstall.xml # 静默安装, 逐步安装 DMInstall.bin -i
# 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>/home/dmdba/dmdbs</INSTALL_PATH>

        <!--是否初始化库,取值范围Y/N、y/n,不允许为空。 -->
        <INIT_DB>Y</INIT_DB>

        <!--数据库实例参数 -->
        <DB_PARAMS>
                <!--初始数据库存放的路径,不允许为空 -->
                <PATH>/home/dmdba/dmdbs/data</PATH>

                <!--初始化数据库名字,缺省为DAMENG,不超过128个字符 -->
                <DB_NAME>DAMENG</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_PATH值为空则使用缺省值,如果使用非默认值LOG_PATH节点数不能少于2个 -->
                <LOG_PATHS>
                        <LOG_PATH></LOG_PATH>
                </LOG_PATHS>

                <!--数据文件使用的簇大小,取值范围:16页、32页,缺省为16页 -->
                <EXTENT_SIZE>16</EXTENT_SIZE>

                <!--数据文件使用的页大小,取值范围:4K、8K、16K、32K,缺省为8K -->
                <PAGE_SIZE>16</PAGE_SIZE>

                <!--日志文件使用的簇大小,缺省为256,取值范围为64~2048之间的整数 -->
                <LOG_SIZE>512</LOG_SIZE>

                <!--标识符大小写敏感。取值范围:Y/N y/n 1/0,缺省为Y -->
                <CASE_SENSITIVE>N</CASE_SENSITIVE>

                <!--字符集选项,缺省为0。0代表GB18030,1代表UTF-8,2代表韩文字符集EUC-KR -->
                <CHARSET>1</CHARSET>

                <!--—规定VARCHAR对象长度的单位。取值范围:0,1。1:所有VARCHAR类型对象的长度以字符为单位;0:有VARCHAR类型对象的长度以字节为单位。缺省为0。 -->
                <LENGTH_IN_CHAR>1</LENGTH_IN_CHAR>

                <!--字符类型在计算HASH值时所采用的HASH算法类别。取值范围0,1。0:原始HASH算法;1:改进的HASH算法。缺省为1。 -->
                <USE_NEW_HASH>1</USE_NEW_HASH>

                <!--初始化时设置SYSDBA的密码,缺省为SYSDBA,长度在9到48个字符之间 -->
                <SYSDBA_PWD>Sysdba123456</SYSDBA_PWD>

                <!--初始化时设置SYSAUDITOR的密码,缺省为SYSAUDITOR,长度在9到48个字符之间 -->
                <SYSAUDITOR_PWD>Sysdba123456</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。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>

                <!--用于加密服务器根密钥,最长为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,1。0:不使用;1:使用。缺省为0。仅在安全版本下可见和可设置。-->
                <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>Y</STARTUP_DB_SERVICE>
</DATABASE>