最近单位新上线了某业务系统,使用国产达梦,DMCA的考试计划也就随之而来。备考DMCA需要参加达梦为期三天的在线培训。讲师还是比较认真负责的,几乎每个场景,都做了相应的讲解以及操作演示。内容十分详尽,讲义也做得很好,小白都可以直接上手,当然一些Linux的知识还是要有的,不然还是会有些吃力。
达梦数据库的名字从从事DBA以来就有所耳闻但总是一种不温不火的样子。整个学习过程下来后,感觉软件的完善度还算可以。但是授权模式,跟Oracle还有很大不同,默认的license 可以使用一年,一年后不知道是库直接打不开了,还是功能有所限制,就不太清楚了。也许就是这种模式,是达梦这么多年来一直没有流行起来的主要原因吧。
培训过程中,重点讲解了图形化以及交互式的操作方式,我们今天就测试一把静默安装dm8 数据库。
下载过程就不多说了。光盘的内容非常简洁,只有一个安装文件以及一个安装文档,图形化模式,几乎是下一步下一步就可以完成,这里就不再详述。
dm8的光盘内容
系统检查
[root@localhost ~]# #获取系统位数
[root@localhost ~]# getconf LONG_BIT
64
查询操作系统 release 信息
[root@localhost ~]# cat /etc/issue
uname -a\S
Kernel \r on an \m
查询内核
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-957.el7.hg.3.x86_64 #1 SMP Sun Oct 13 14:48:52 CST 2019 x86_64 x86_64 x86_64 GNU/Linux
创建用户
创建安装用户组 dinstall。
groupadd -g 2000 dinstall
创建安装用户 dmdba。
useradd -u 2000 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
修改系统参数
vi /etc/security/limits.conf
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft data 1048576
dmdba hard data 1048576
dmdba soft fsize unlimited
dmdba hard fsize unlimited
静默安装的注意事项:
1.安装目录必须为空 否则会提示 安装目录(/dm8)下不为空,请选择其他安装目录。
2.log_path,data_path 不能以/ 结尾
安装过程
[root@localhost cdrom]# ./DMInstall.bin -q ~/dm.xml
解压安装程序......... **## 这里需要吐槽一下,每次安装都要解压,有一些浪费时间 ,**
2020-12-25 00:31:16
[INFO] 安装达梦数据库...
2020-12-25 00:31:17
[INFO] 安装 基础 模块...
2020-12-25 00:31:29
[INFO] 安装 服务器 模块...
2020-12-25 00:31:31
[INFO] 安装 客户端 模块...
2020-12-25 00:31:48
[INFO] 安装 驱动 模块...
2020-12-25 00:31:50
[INFO] 安装 手册 模块...
2020-12-25 00:31:53
[INFO] 安装 服务 模块...
2020-12-25 00:31:54
[INFO] 移动ant日志文件。
2020-12-25 00:31:55
[INFO] 更改安装目录权限完成。
2020-12-25 00:31:55
[INFO] 正在启动DmAPService服务...
2020-12-25 00:31:55
[INFO] 启动DmAPService服务成功。
2020-12-25 00:31:55
[INFO] 安装达梦数据库完成。
2020-12-25 00:31:59
[INFO] 开始初始化数据库...
2020-12-25 00:31:59
[ERROR] 初始化数据库实例(DMSERVER)失败。
2020-12-25 00:31:59
[ERROR] file dm.key not found, use default license!
License will expire on 2021-11-06
create dir '/dmdata/DAMENG' failed
File '' has already exist!
卸载过程
/dm8 目录下有一个uninstall.sh ,启动之后图形化卸载,一直下一步下一步就可以完成卸载
需要注意的是:卸载过程中,并不会删除数据文件
报错分析
在初始化数据库的时候报错如下:
实际上是在 实例初始化部分参数中,需要把所有的文件路径填好。
就像Oracle一样,一般安装的时候,不顺便初始化数据库,达梦应该也是这套路才对。
静默安装命令
./DMInstall.bin -q /opt/soft/dameng.xml
最后,贴上静默安装成功的配置文件
cat dameng.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>/dm8</INSTALL_PATH>
<!--是否初始化库,取值 Y/N、y/n,不允许为空。 -->
<INIT_DB>y</INIT_DB>
<!--数据库实例参数 -->
<DB_PARAMS>
<!--初始数据库存放的路径,不允许为空 -->
<PATH>/dm8/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>/dm8/data/DAMENG/dameng.ctl</CTL_PATH>
<!--初始数据库日志文件的路径,文件路径长度最大为 256 -->
<LOG_PATHS><LOG_PATH>/dm8/data/DAMENG/dameng1.redo</LOG_PATH><LOG_PATH>/dm8/data/DAMENG/dameng2.redo</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>1</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>Dameng123</SYSDBA_PWD>
<!--初始化时设置 SYSAUDITOR 的密码,默认为 SYSAUDITOR,长度在 9 到 48 个字符之间 -->
<SYSAUDITOR_PWD></SYSAUDITOR_PWD>
<!--初始化时设置 SYSSSO 的密码,默认为 SYSSSO,长度在 9 到 48 个字符之间,仅在安全版本下可见和可设置 -->
<SYSSSO_PWD>Dameng123</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>/tmp</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>
THE END !