一. 数据库的安装部署
- Linux下DM6\DM7数据库的安装部署
- 命令行安装
※按照数据库上线规范中数据库部署
安装规范
在进行工程实施前,需要项目负责人按照如下方式,完成操作系统的准备工作:
确保存储挂载到主机 df -h
mount /dev/sd* /db*
- 达梦程序挂载到/home/dmdba下,安装目录为/home/dmdba/dm/dmdbms,磁盘空间至少100G。
- 达梦数据文件挂载在/dbdata,数据文件目录为/dbdata/dmdata,磁盘空间大小根据项目阵列的到货时间来确定,如果阵列可以在2个月内部署,磁盘空间可以为200G,但如果不能确保阵列可以及时部署,磁盘空间至少500G。权限与组:dmdba:dinstall。
- 备份文件挂载在/dbbak,阵列部署时/dbdata和/dbbak磁盘容量以4:1分配,备份文件以“库名bak”分文件夹存放,如EMS库备份到emsbak目录下。权限与组:dmdba:dinstall。
- 归档文件挂载载/dbarch,归档文件存储在/dbarch/dmarch,容量在500GB到1TB之间。权限与组:dmdba:dinstall。
- 在/dbbak目录下建立binbak文件夹,用于存取每次更换版本后的旧版本,旧版本以“bin_更新日期”命名。
- 使用io_test工具测试数据文件所在磁盘的IO速度。一般,10s中至少要写150M以上。建议用户联系服务器厂家开启磁盘缓存。
服务器安装
安装准备
- 建立dmdba用户,数据库通过dmdba用户进行管理
创建安装用户组 groupadd dinstall mkdir /home/dmdba 创建安装用户 useradd -g dinstall -m -d /home/dmdba/dm -s /bin/bash dmdba 初始化用户密码,dmdba passwd dmdba |
- 切换到dmdba用户,添加环境变量,修改dmdba用户家目录下.bashrc文件(/home/dmdba/dm/.bashrc),添加
export PATH=$PATH:/sbin:/usr/sbin export PS1='[\u@\h \w]\$' |
使环境变量生效,执行命令:
source .bashrc
分别在root和dmdba用户的家目录下的.bashrc文件中增加:
ulimit -c unlimited
ulimit -n 65536
是环境变量生效:source .bashrc
- 设定安装程序临时目录
安装程序默认使用/tmp 目录作为安装程序的临时目录, 如果用户要通过环境变量DM_INSTALL_TMPDIR 指定安装程序临时目录,需先创建此目录,并确保 dmdba 系统用户对此目录有写入权限。 假设创建安装程序临时目录为/opt/tmp:
mkdir -p /opt/tmp
chown -R dmdba:dinstall /opt/tmp
chmod -R 777 /opt/tmp
安装达梦数据库应该使用 dmdba 系统用户,所以用户应该使用 dmdba 系统用户进行登录,或者使用 su - dmdba 命令切换到 dmdba 系统用户。 如果用户创建了安装程序的临时目录,可以设置环境变量 DM_INSTALL_TMPDIR 指定此目录为安装程序的临时目录:假设创建安装程序临时目录为/opt/tmp。
mount -o loop / dm7_ iso /opt/tmp
数据库安装
字符界面安装
- 切换为dmdba用户,上传安装文件到数据库服务器上,授予文件可执行权限
chown +x DMInstall.bin
- 使用dmdba用户,进行数据库安装
[dmdba@localhost ~]$export DM_INSTALL_TMPDIR=/opt/tmp/ [dmdba@localhost /home/dmdba/dm]$./DMInstall.bin -i Extract install files......... Welcome to DM Install Program Whether to input the path of Key File? (Y/y:Yes N/n:No) [Y/y]:Y Please Input the Path of the Key File [dm.key]:/home/dmdba/dm.key Whether to Set The TimeZone? (Y/y:Yes N/n:No) [Y/y]:Y Please Select the TimeZone [21]:21 Please Input the number of the Installation Type [1 Typical]:1 Please Input the install path [/home/dmdba/dm]:/home/dmdba/dm/dmdbms Please Confirm the install path? (Y/y:Yes N/n:No) [Y/y]:Y Confirm to Install? (Y/y:Yes N/n:No) [Y/y]:Y |
- 使用dmdba用户进行数据库初始化
赋予/dbdata、/dbbak和/dbarch目录dmdba用户权限:
chown -R dmdba:dinstall /dbdata /dbbak /dbarch
将磁盘阵列相应磁盘挂载到相应目录下,使用dminit工具进行数据初始化:
./dminit INI_FILE=/dbdata/dmdata/DAMENG/dm.ini PATH=/dbdata/dmdata extent_size=16 page_size=32 case_sensitive=y
配置文件修改
基本参数调整
将dm.ini文件拷贝到达梦安装目录bin目录下,修改参数,D5000系统修改配置参数,其他应用根据具体需求进行设置:
EXCLUDE_PKG_NAME = 1 #添加该参数,过滤包调用 MAX_SESSIONS = 500 EXPR_N_LEVEL = 1000 PWD_POLICY = 0 COMPATIBLE_MODE = 2 EXCLUDE_RESERVED_WORDS= over,context,frequence,interval,domain,precision,off,percent ENABLE_MONITOR = 0 #开启归档 ARCH_INI = 1 #硬件相关参数 BUFFER =5000 #使用内存,单位兆 MAX_BUFFER =5000 #最大使用内存,单位兆 MEMORY_POOL = 1024 WORKER_THREADS = 32 #CPU核数 IO_THR_GROUPS = 8 MAX_SESSION_STATEMENT = 20000 #针对某些系通需要修改添加参数 EXCLUDE_RESERVED_WORDS = over,context,frequence,interval,domain,precision,off,percent,object CTAB_SEL_WITH_CONS = 1 ENABLE_FAST_UPDATE = 1 DEC_CALC_MODE=1 DM6_TODATE_FMT=1 |
日志功能配置
2018年3月后的版本配置日志功能,一般使用sqllog.ini,生成文件名dmsql_服务名_时间.log
配置sqllog.ini文件,默认在data/DAMENG下
sqllog.ini用于sql日志的配置。 当把INI参数SVR_LOG置为1,才会打开SQL日志。
如果在服务器启动过程中,修改了sqllog.ini文件。修改之后的文件,只要调用过程
SP_REFRESH_SVR_LOG_CONFIG() 就会生效。
sqllog.ini的配置如下:
[SLOG_ALL] FILE_PATH =/dblog/dmlog --sql日志存放目录,根据现场环境修改 PART_STOR =1 SWITCH_MODE =1 SWITCH_LIMIT =10000 ASYN_FLUSH =1 FILE_NUM =100 ITEMS =0 SQL_TRACE_MASK =2:3:23:25 MIN_EXEC_TIME =0 USER_MODE =0 USERS = |
2018年3月之前的版本可用dm.ini中有关sql的参数配置
SQL_TRACE_MASK = 2:25 SVR_LOG_FILE_NUM = 200 SVR_LOG = 2 --0为关闭,1为打开,2为切换 SVR_LOG_SWITCH_COUNT = 200000 SVR_LOG_SYNC = 0 SVR_LOG_THREAD = 0 SVR_LOG_MIN_EXEC_TIME = 500 SVR_LOG_FILE_PATH= /dbbak/dm_audit_log_his01 #备机可以使用dm_audit_log_his02 |
由于配置到公用的存储设备,主备机的日志存储路径要进行区分,方便后续管理。另外日志尽量保留24小时以上。避免出现问题后续日志被覆盖。
归档功能配置
开启归档功能首先确保dm.ini中ARCH_INI = 1
dm.ini 文件中SYSTEM_PATH 指向目录下创建 dmarch.ini 加入如下内容
[ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = /dbarch/dmarch ARCH_FILE_SIZE = 128 ARCH_SPACE_LIMIT = 20480 |
当服务器上配置了DMHS 数据库备份 空间限制选项时要注意:
1.DMHS的归档清理选项要去掉。设置clear_flag=0 ,clear_interval=300。
2.ARCH_SPACE_LIMIT 尽量设置大一些,避免出现备份过程找不到归档的情况。
启动脚本修改
1. 套用脚本bin下service_template/DmServer ,cp到bin下改名dmserverd
修改安装目录下的dmserverd脚本:
svc_prog=DmServiceDMSERVER model=open path=/home/dmdba/dm/dmdbms/bin/dm.ini |
并将脚本拷贝到/etc/rc.d/init.d目录下,单机如果需要添加开机自启动,需要手动添加开机自启动。
在rc3.d和rc5.d目录下建立启动连接,分别在目录下执行命令:
ln -s /etc/rc.d/init.d/dmserverd S98dmserverd
在rc0.d和rc6.d目录下建立停止服务链接,分别在目录下执行:
ln -s /etc/rc.d/init.d/dmserverd K02dmserverd
2. /etc/ini.d/DMAD 改为dmapd cp到bin下
客户端配置文件修改
修改/etc/dm_svc.conf配置文件,添加参数:
char_chk=(0)
direct=(n)
dummy=(y)
其中,char_chk忽略字符检查,原有的表里面存储的汉字不完整,在不忽略的情况下无法导出。direct=(n)不使用快速装载,默认情况下使用快速装载,当出现违反唯一性约束的报错时,会导致主键(或唯一性约束)失效。dummy=(y)在导入或者导出时,如果文件存在,选择覆盖。