安装达梦数据
netnr 2024-02-28
# 下载源 https://eco.dameng.com/download/

# 方式一:Docker 安装
# 下载 docker 包并载入
docker load -i dm8_20241230_x86_rh6_64_rq_single.tar
# 启动,默认账号密码 SYSDBA/SYSDBA_dm001 ,更多信息查看容器内环境变量 env 或 cat /opt/env.sh
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:dm8_20241230_rev255012_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,繁体中文版: CHT,英文版: 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>1</INSTALL_TYPE>
    <!--安装路径,不允许为空。合法的安装路径允许字符的范围是小写字母(a-z)、大写字母(A-Z)、数字(0-9)、下划线(_)、空格( )和中文 -->
    <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 页、64 页,缺省为 16 页 -->
        <EXTENT_SIZE>16</EXTENT_SIZE>
        <!--数据文件使用的页大小,取值范围:4K、8K、16K、32K,缺省为 8K -->
        <PAGE_SIZE>16</PAGE_SIZE>        
        <!--重做日志文件使用的大小,单位 MB,在 32 位版本下,取值范围为 256~2048 之间的整数,缺省值为 2048;在 64 位版本下,取值范围为 256 和 8192 之间的整数,缺省值为 4096 -->
        <LOG_SIZE>4096</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。 -->
        <!--— 20251016 安装包不支持该参数,查询为缺省0 SELECT para_value from v$dm_ini where para_name = 'LENGTH_IN_CHAR' -->
        <!--— <LENGTH_IN_CHAR>1</LENGTH_IN_CHAR> -->

        <!--字符类型在计算 HASH 值时所采用的 HASH 算法类别。取值范围 0,1。0:原始 HASH算法;1:改进的 HASH 算法。缺省为 1 -->
        <USE_NEW_HASH>1</USE_NEW_HASH>
        <!--初始化时设置 SYSDBA 的密码。1. 长度不能小于 8 且不能大于 48 2. 需要同时包含大写字母、小写字母和数字-->
        <SYSDBA_PWD>SYSDBA_dm001</SYSDBA_PWD>
        <!--初始化时设置 SYSAUDITOR 的密码。1. 长度不能小于 8 且不能大于 48 2. 需要同时包含大写字母、小写字母和数字-->
        <SYSAUDITOR_PWD>SYSDBA_dm001</SYSAUDITOR_PWD>
        <!--初始化时设置 SYSSSO 的密码。仅在安全版本下可见和可设置。1. 长度不能小于 8 且不能大于 48 2. 需要同时包含大写字母、小写字母和数字-->
        <SYSSSO_PWD></SYSSSO_PWD>
        <!--初始化时设置 SYSDBO 的密码。仅在安全版本下可见和可设置。1. 长度不能小于 8 且不能大于 48 2. 需要同时包含大写字母、小写字母和数字-->
        <SYSDBO_PWD></SYSDBO_PWD>
        <!--初始化时区,默认是东八区。格式为:正负号小时:分钟,取值范围:-12:59 ~ +14:00 -->
        <TIME_ZONE>+08:00</TIME_ZONE>
        <!--是否启用页面内容校验,取值范围:0,1,2,3。0:不启用;1:开启页校验并使用CRC 校验;2:开启页校验并使用指定的 HASH 算法进行校验;3:开启页校验并使用快速 CRC 校验。缺省为 3 -->
        <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>
        <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>
登录写评论