心跳网络方面:
① 集群间的心跳网络要走数据,最好走两个交换机,来实现冗余和负载均衡。
② 需要把服务器多个心跳网卡绑定为一个逻辑网卡来使用(比如bond方式)。
③ 交换机速度建议为万兆。
存储网络方面:
① 每台数据库服务器上必须有两块HBA卡连接光纤交换机,做冗余和负载均衡。
存储方面:
① 两台服务器都连接到同一个存储上(共享存储只需要映射到服务器端fdisk -l可以查看到就行,不需要格式化)。
② 节点1所在服务器单独挂存储,需要格式化好,用来备份数据等,文件系统建议使用xfs。
心跳网络方面:
① 关闭其中一台交换机或者模拟其中一条线路故障,是否能做到网络方面的冗余。
② 测试心跳网络的稳定性,会不会出现断连或者丢包等情况。
upadmin_plus show vlun
[root@node1 rules.d]# vi 88-dm-asmdevices.rules
KERNEL=="ultrapatha",SUBSYSTEM=="block",SYMLINK+="DMDATA",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/$name; mkdir -p /dev_DSC2; ln -sf /dev/DMDATA /dev_DSC2/DMDATA'"
KERNEL=="ultrapathc",SUBSYSTEM=="block",SYMLINK+="DMARCH01",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/$name; mkdir -p /dev_DSC2; ln -sf /dev/DMARCH01 /dev_DSC2/DMARCH01'"
KERNEL=="ultrapathb",SUBSYSTEM=="block",SYMLINK+="DMARCH02",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/$name; mkdir -p /dev_DSC2; ln -sf /dev/DMARCH02 /dev_DSC2/DMARCH02'"
KERNEL=="ultrapathg",SUBSYSTEM=="block",SYMLINK+="DMDCR",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/$name; mkdir -p /dev_DSC2; ln -sf /dev/DMDCR /dev_DSC2/DMDCR'"
KERNEL=="ultrapathd",SUBSYSTEM=="block",SYMLINK+="DMVOTE",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/$name; mkdir -p /dev_DSC2; ln -sf /dev/DMVOTE /dev_DSC2/DMVOTE'"
KERNEL=="ultrapathh",SUBSYSTEM=="block",SYMLINK+="DMREDO",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/$name; mkdir -p /dev_DSC2; ln -sf /dev/DMREDO /dev_DSC2/DMREDO'"
udevadm control --reload-rules
udevadm trigger --type=devices --action=change
[root@node1 rules.d]# ls -lL /dev_DSC2/
总用量 0
brw-rw---- 1 dmdba dinstall 251, 32 9月 9 12:36 DMARCH01
brw-rw---- 1 dmdba dinstall 251, 0 9月 9 12:36 DMARCH02
brw-rw---- 1 dmdba dinstall 251, 16 9月 9 12:36 DMDATA
brw-rw---- 1 dmdba dinstall 251, 80 9月 9 12:36 DMDCR
brw-rw---- 1 dmdba dinstall 251, 112 9月 9 12:36 DMREDO
brw-rw---- 1 dmdba dinstall 251, 48 9月 9 12:36 DMVOTE
[root@node2 rules.d]# cat 88-dm-asmdevices.rules
KERNEL=="ultrapathb",SUBSYSTEM=="block",SYMLINK+="DMDATA",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/$name; mkdir -p /dev_DSC2; ln -sf /dev/DMDATA /dev_DSC2/DMDATA'"
KERNEL=="ultrapatha",SUBSYSTEM=="block",SYMLINK+="DMARCH01",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/$name; mkdir -p /dev_DSC2; ln -sf /dev/DMARCH01 /dev_DSC2/DMARCH01'"
KERNEL=="ultrapathc",SUBSYSTEM=="block",SYMLINK+="DMARCH02",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/$name; mkdir -p /dev_DSC2; ln -sf /dev/DMARCH02 /dev_DSC2/DMARCH02'"
KERNEL=="ultrapathd",SUBSYSTEM=="block",SYMLINK+="DMDCR",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/$name; mkdir -p /dev_DSC2; ln -sf /dev/DMDCR /dev_DSC2/DMDCR'"
KERNEL=="ultrapathe",SUBSYSTEM=="block",SYMLINK+="DMVOTE",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/$name; mkdir -p /dev_DSC2; ln -sf /dev/DMVOTE /dev_DSC2/DMVOTE'"
KERNEL=="ultrapathf",SUBSYSTEM=="block",SYMLINK+="DMREDO",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/$name; mkdir -p /dev_DSC2; ln -sf /dev/DMREDO /dev_DSC2/DMREDO'"
udevadm control --reload-rules
udevadm trigger --type=devices --action=change
[root@node2 rules.d]# ls -lL /dev_DSC2/
总用量 0
brw-rw---- 1 dmdba dinstall 251, 32 9月 9 12:36 DMARCH01
brw-rw---- 1 dmdba dinstall 251, 0 9月 9 12:36 DMARCH02
brw-rw---- 1 dmdba dinstall 251, 16 9月 9 12:36 DMDATA
brw-rw---- 1 dmdba dinstall 251, 80 9月 9 12:36 DMDCR
brw-rw---- 1 dmdba dinstall 251, 112 9月 9 12:36 DMREDO
brw-rw---- 1 dmdba dinstall 251, 48 9月 9 12:36 DMVOTE
[root@~]# vi /etc/sysctl.conf
vm.numa_stat = 0
vm.overcommit_memory=0
vm.swappiness=1
#vm.min_free_kbytes=1153434
##core文件路径
kernel.core_pattern =/data/dmcore/core-%e-%p-%s
[root@~]# sysctl -p
[root@~]# ulimit -n 65536
[root@~]# chmod a+x /etc/security
[root@~]# chmod a+r /etc/security/limits.conf
[root@~]# vi /etc/security/limits.conf
dmdba soft data unlimited
dmdba hard data unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nproc 10240
dmdba hard nproc 10240
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft nice 0
dmdba hard nice 0
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft memlock unlimited
dmdba hard memlock unlimited
[root@~]# vi /etc/security/limits.d/90-nproc.conf
* soft nproc 65536
* hard nproc 65536
[root@~]# vi /etc/profile
ulimit -SHn 65536
[root@~]# vi /etc/systemd/system.conf
DefaultLimitFSIZE=unlimited
DefaultLimitDATA=unlimited
DefaultLimitCORE=unlimited
DefaultLimitNOFILE=65536
DefaultLimitAS=unlimited
DefaultLimitNPROC=10240
DefaultLimitNICE=0
[root@localhost]# vi /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so
##关闭防火墙
[root@~]# systemctl stop firewalld
##关闭开机自启
[root@~]# systemctl disable firewalld
[root@~]# vi /etc/sysconfig/selinux
SELINUX = disabled
##临时关闭 swap 分区,重启后失效
[root@~]# swapoff -a
##永久关闭 swap 分区,重启后生效
[root@~]# sed -ri 's/.*swap.*/#&/' /etc/fstab
su - dmdba
vi .bash_profile
export DM_HOME="/home/dmdba/dmdbms"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
永久关闭 transparent_hugepage
1.查看透明大页设置:
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
说明已启用透明大页
2.vi /etc/default/grub文件,配置如下参数(标红部分):
GRUB_CMDLINE_LINUX="resume=/dev/sda1 splash=silent quiet showopts crashkernel=113M,high crashkernel=72M,low transparent_hugepage=never"
3.查询是UEFI-based机器还是BIOS-based的机器
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
是 UEFI-based 的机器,请执行:
grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
为方便后期维护时分析问题,建议安装perf、gdb、nmon、pstack等工具包具体列表如下:
工具包名称 备注
perf 系统性能分析工具
gdb gdb调试工具
gcc gcc编译工具
pstack 打印正在运行的进程的栈跟踪信息
nmon 系统性能分析工具
unixODBC 连接数据库的组件(后用于dblink)
zip 数据库压缩工具
tar 数据库压缩工具
telnet 远程登录协议/工具,连接远程主机的指定端口
netstat 查看端口、连接、监听状态
nc(netcat) 端口探测、端口监听、网络传输小工具
ethtool 查询和配置网卡参数(速率、双工模式)
tcpdump 网络抓包工具,排查网络。
traceroute 追踪路由,查网络从本机到目标经过哪些节点
net-tools 网络工具集
sysstat 包含 iostat、mpstat、pidstat、sar 工具包
iostat 查看磁盘 I/O 使用率、读写速度
iotop 按进程实时查看磁盘 I/O使用情况
strace 跟踪系统进程,查程序崩溃、卡住、权限问题
libaio 异步 I/O 运行库,数据库加速必备
libaio-devel 异步 I/O 开发库,用于编译依赖异步I/O的程序
unixODBC-devel ODBC 开发包,第三方程序连数据库用
vim 终端文本编辑器
java JDK 运行环境,运行 Java 程序
[root@~]# groupadd dinstall -g 2001
[root@~]# useradd -g dinstall -u 1001 -s /bin/bash -m -d /home/dmdba dmdba
[root@~]# passwd dmdba
[root@~]# <输入密码>
[root@~]# <再次输入密码>
备注:dmdba密码以现场要求为准。
规划好安装以及数据目录,安装数据库及初始化实例。
主备库(A/B节点):
[root@ ~]# mkdir -p /home/dmdba/dmdbms
[root@ ~]# mkdir -p /data/dsc/sqllog
[root@ ~]# mkdir -p /data/dmcore
[root@ ~]# mkdir -p /dmbak/dsc/
[root@ ~]# chown dmdba.dinstall -R /dmbak;chmod 775 /data -R
严禁使用root用户安装数据库及数据库相关操作。必须使用dmdba用户执行安装以及数据库相关操作。
数据库安装路径:/home/dmdba/dmdbms
[dmdba@~]# /opt/soft/DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]:C
解压安装程序..........
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:N
是否设置时区? (Y/y:是 N/n:否) [Y/y]:Y
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯兰堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [21]:21
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 1010M
请选择安装目录 [/home/dmdba/dmdbms]:/home/dmdba/dmdbms
可用空间: 11G
是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否) [Y/y]:Y
安装前小结
安装位置: /home/dmdba/dmdbms
所需空间: 1010M
可用空间: 11G
版本信息: 企业版
有效日期: 2020-12-25
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):Y
2020-12-24 21:52:38
[INFO] 安装达梦数据库...
2020-12-24 21:52:39
[INFO] 安装 基础 模块...
2020-12-24 21:52:48
[INFO] 安装 服务器 模块...
2020-12-24 21:52:48
[INFO] 安装 客户端 模块...
2020-12-24 21:52:56
[INFO] 安装 驱动 模块...
2020-12-24 21:52:58
[INFO] 安装 手册 模块...
2020-12-24 21:53:00
[INFO] 安装 服务 模块...
2020-12-24 21:53:02
[INFO] 移动ant日志文件。
2020-12-24 21:53:03
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh
安装结束
[root@~]# /home/dmdba/dmdbms/ script/root/root_installer.sh
移动 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目录
修改服务器权限
创建DmAPService服务
Created symlink from /etc/systemd/system/multiuser.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service
创建服务(DmAPService)完成
启动DmAPService服务
[dmdba@~]# vi /home/dmdba/dsc/config/dmdcr_cfg.ini
DCR_N_GRP = 3
DCR_VTD_PATH = /dev_DSC2/DMVOTE
DCR_OGUID = 45333
[GRP] #新建一个GROUP 组与节点配置段
DCR_GRP_TYPE = CSS #组类型(CSS/ASM/DB)
DCR_GRP_NAME = GRP_CSS #组名
DCR_GRP_N_EP = 2 #组内节点个数
DCR_GRP_DSKCHK_CNT = 30 #磁盘心跳容错时间,单位:秒
[GRP_CSS]
DCR_EP_NAME = CSS0 #CSS节点名
DCR_EP_HOST = 192.168.10.1 #心跳地址
DCR_EP_PORT = 5636 #CSS端口
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.10.2
DCR_EP_PORT = 5637
[GRP]
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = GRP_ASM
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 30
[GRP_ASM]
DCR_EP_NAME = ASM0 #ASM节点名,和dmasvrmal的MAL_INST_NAME一致
DCR_EP_SHM_KEY = 93360 #共享内存标识
DCR_EP_SHM_SIZE = 1024 #共享内存大小
DCR_EP_HOST = 192.168.10.1 #心跳地址
DCR_EP_PORT = 5736 #ASM端口
DCR_EP_ASM_LOAD_PATH = /dev_DSC2
[GRP_ASM]
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 1024
DCR_EP_HOST = 192.168.10.2
DCR_EP_PORT = 5737
DCR_EP_ASM_LOAD_PATH = /dev_DSC2
[GRP]
DCR_GRP_TYPE = DB
DCR_GRP_NAME = GRP_DSC
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 30
[GRP_DSC]
DCR_EP_NAME = KYDSC1 #实例名,和dm.ini的INSTANCE_NAME一致
DCR_EP_SEQNO = 0 #组内序号,不能重复
DCR_EP_PORT = 5238 #实例端口,和dm.ini的PORT_NUM一致
DCR_CHECK_PORT = 5836 #DCR检查端口
[GRP_DSC]
DCR_EP_NAME = KYDSC2
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5238
DCR_CHECK_PORT = 5837
[dmdba@~]# chmod +x /home/dmdba/dsc/config/dmdcr_cfg.ini
[dmdba@~]# /home/dmdba/dmdbms/bin/dmasmcmd
create dcrdisk '/dev_DSC2/DMDCR' 'DCR'
create votedisk '/dev_DSC2/DMVOTE' 'VOTE'
create asmdisk '/dev_DSC2/DMDATA' 'DATA'
create asmdisk '/dev_DSC2/DMREDO' 'DMREDO'
create asmdisk '/dev_DSC2/DMARCH01' 'ARCH1'
create asmdisk '/dev_DSC2/DMARCH02' 'ARCH1'
init dcrdisk '/dev_DSC2/DMDCR' from '/home/dmdba/dsc/config/dmdcr_cfg.ini' identified by 'Dameng123'
init votedisk '/dev_DSC2/DMVOTE' from '/home/dmdba/dsc/config/dmdcr_cfg.ini'
[dmdba@~]# vi /home/dmdba/dsc/config/dmasvrmal.ini
[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 192.168.10.1 #心跳地址
MAL_PORT = 5936 #MAL监听端口
[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 192.168.10.2
MAL_PORT = 5937
[dmdba@~]# vi /home/dmdba/dsc/config/dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH = /home/dmdba/dsc/config/dmasvrmal.ini
DMDCR_SEQNO = 0
DMDCR_AUTO_OPEN_CHECK = 30
DMDCR_ASM_TRACE_LEVEL = 2
#DMDCR_LINK_CHECK_IP = 192.168.1.4
#DMDCR_ASM_RESTART_INTERVAL = 60 #CSS认定ASM故障重启的时间
#DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dsc/config/dmdcr.ini
#DMDCR_DB_RESTART_INTERVAL = 60 #CSS认定DSC故障重启的时间
#DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dsc/config/dsc0_config/dm.ini dcr_ini=/home/dmdba/dsc/config/dmdcr.ini
[dmdba@~]# vi /home/dmdba/dsc/config/dmdcr.ini
DMDCR_PATH = /dev_DSC2/DMDCR
DMDCR_MAL_PATH = /home/dmdba/dsc/config/dmasvrmal.ini
DMDCR_SEQNO = 1
DMDCR_AUTO_OPEN_CHECK = 30
DMDCR_ASM_TRACE_LEVEL = 2
#DMDCR_LINK_CHECK_IP = 192.168.1.4
#DMDCR_ASM_RESTART_INTERVAL = 60
#DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dsc/config/dmdcr.ini
#DMDCR_DB_RESTART_INTERVAL = 60
#DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dsc/config/kydsc2_config/dm.ini dcr_ini=/home/dmdba/dsc/config/dmdcr.ini
注意:当前为手动拉起A机器和B机器的ASM和DMSERVER服务。待集群配置完成后,再修改为自动拉起(删除dmdcr.ini中红色井号)。
如果配置了 DMDCR_LINK_CHECK_IP, 需要为 DMSERVER 、DMASMSVR(非 DMASM 镜像)和 DMASMSVRM(DASM 镜像)赋予创建 raw socket 的权限来完成联通功能。使用 ROOT 权限执行以下语句分别进行赋权:
#DMSERVER 权限:
sudo setcap cap_net_raw,cap_net_admin=eip /home/dmdba/dmdbms/bin/dmserver
#DMASMSVR 权限:
sudo setcap cap_net_raw,cap_net_admin=eip /home/dmdba/dmdbms/bin/dmasmsvr
#DMASMSVRM 权限:
sudo setcap cap_net_raw,cap_net_admin=eip /home/dmdba/dmdbms/bin/dmasmsvrm
#其中,/home/dmdba/dmdbms/bin 为 dmserver、dmasmsvr、dmasmsvrm 所在目录
[dmdba@~]# /home/dmdba/dmdbms/bin/dmcss DCR_INI=/home/dmdba/dsc/config/dmdcr.ini
...
DMCSS IS READY
[dmdba@~]# /home/dmdba/dmdbms/bin/dmasmsvr DCR_INI=/home/dmdba/dsc/config/dmdcr.ini
...
the ASM server is Ready.
[dmdba@ky1 ~]$ /home/dmdba/dmdbms/bin/dmasmtool DCR_INI=/home/dmdba/dsc/config/dmdcr.ini
dmasmtool V8
ASM>lsdg
total 2 groups......
1 disk_group:
name: VOTE
id: 125
au_size: 1.00 MB
extent_size: 4
total_size: 10.00 GB
free_size: 9.98 GB
total_file_num: 2
2 disk_group:
name: DCR
id: 126
au_size: 1.00 MB
extent_size: 4
total_size: 10.00 GB
free_size: 9.98 GB
total_file_num: 2
Used time: 1.814(ms).
ASM> create diskgroup 'DMLOG' asmdisk '/dev_DSC2/DMREDO'
ASM> create diskgroup 'DMARCH' asmdisk '/dev_DSC2/DMARCH01'
ASM> create diskgroup 'DMDATA' asmdisk '/dev_DSC2/DMDATA'
[dmdba@~]# vi /home/dmdba/dsc/config/dminit.ini
db_name = kydsc
system_path = +DMDATA/data
main = +DMDATA/data/dsc/main.dbf
main_size = 128
roll = +DMDATA/data/dsc/roll.dbf
roll_size = 128
system = +DMDATA/data/dsc/system.dbf
system_size = 128
ctl_path = +DMDATA/data/dsc/dm.ctl
ctl_size = 10
log_size = 4096
dcr_path = /dev_DSC2/DMDCR
dcr_seqno = 0
PAGE_SIZE = 32
EXTENT_SIZE = 32
CASE_SENSITIVE = Y
CHARSET = 0
SYSDBA_PWD = Dameng123
SYSAUDITOR_PWD = Dameng123
[DSC1]
config_path = /home/dmdba/dsc/config/dsc1_config
port_num = 5238
mal_host = 192.168.10.1
mal_port = 6136
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log
[DSC2]
config_path = /home/dmdba/dsc/config/dsc2_config
port_num = 5238
mal_host = 192.168.10.2
mal_port = 6137
log_path = +DMLOG/log/dsc2_log01.log
log_path = +DMLOG/log/dsc2_log02.log
--初始化实例
[dmdba@~]# /home/dmdba/dmdbms/bin/dminit control=/home/dmdba/dsc/config/dminit.ini
dminit V8
db version: 0x7000d
file dm.key not found, use default license!
License will expire on 2027-07-17
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: +DMLOG/log/dsc1_log01.log
log file path: +DMLOG/log/dsc1_log02.log
log file path: +DMLOG/log/dsc2_log01.log
log file path: +DMLOG/log/dsc2_log02.log
write to dir [+DMDATA/data/dsc].
create dm database success. 2026-09-09 13:38:01
--拷贝文件
[dmdba@ky1 config]$ scp -r /home/dmdba/dsc/config/dsc2_config dmdba@192.168.1.2:/home/dmdba/dsc/config/
--修改dm.ini
[dmdba@~]# vi /home/dmdba/dsc/config/dsc1_config/dm.ini
ARCH_INI = 1
INSTANCE_NAME = DSC1
--创建dmarch.ini
[dmdba@ky1 dsc1_config]$ cat dmarch.ini
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMARCH/DSC1/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 102400
ARCH_HANG_FLAG = 0
ARCH_FLUSH_BUF_SIZE = 32
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC2
ARCH_INCOMING_PATH = +DMARCH/DSC2/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 102400
ARCH_HANG_FLAG = 0
ARCH_FLUSH_BUF_SIZE = 32
--修改dm.ini
[dmdba@~]# vi /home/dmdba/dsc/config/dsc2_config/dm.ini
ARCH_INI = 1
INSTANCE_NAME = dsc2
--创建dmarch.ini
[dmdba@node2 dsc2_config]$ cat dmarch.ini
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMARCH/dsc2/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 102400
ARCH_HANG_FLAG = 0
ARCH_FLUSH_BUF_SIZE = 32
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = dsc1
ARCH_INCOMING_PATH = +DMARCH/dsc1/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 102400
ARCH_HANG_FLAG = 0
ARCH_FLUSH_BUF_SIZE = 32
[dmdba@~]# /home/dmdba/dmdbms/bin/dmserver /home/dmdba/dsc/config/kydsc1_config/dm.ini dcr_ini=/home/dmdba/dsc/config/dmdcr.ini
[dmdba@~]# /home/dmdba/dmdbms/bin/dmserver /home/dmdba/dsc/config/kydsc2_config/dm.ini dcr_ini=/home/dmdba/dsc/config/dmdcr.ini
sp_set_para_value(2,'GRANT_SCHEMA',2);
SP_SET_PARA_VALUE(2,'WORKER_THREADS',64);
SP_SET_PARA_VALUE(2,'IO_THR_GROUPS',32);
SP_SET_PARA_VALUE(2,'GEN_SQL_MEM_RECLAIM',0);
SP_SET_PARA_VALUE(2,'MAX_OS_MEMORY', 100);
SP_SET_PARA_VALUE(2,'MEMORY_POOL', 2000);
SP_SET_PARA_VALUE(2,'MEMORY_N_POOLS', 59);
SP_SET_PARA_VALUE(2,'MEMORY_TARGET', 41000);
SP_SET_PARA_VALUE(2,'BUFFER', 163000);
SP_SET_PARA_VALUE(2,'BUFFER_POOLS', 101);
SP_SET_PARA_VALUE(2,'RECYCLE', 17000);
SP_SET_PARA_VALUE(2,'RECYCLE_POOLS', 97);
SP_SET_PARA_VALUE(2,'FAST_POOL_PAGES', 10000);
SP_SET_PARA_VALUE(2,'FAST_ROLL_PAGES', 3000);
SP_SET_PARA_VALUE(2,'TASK_THREADS', 16);
SP_SET_PARA_VALUE(2,'DSC_INSERT_LOCK_ROWS', 0);
SP_SET_PARA_VALUE(2,'MEMORY_MAGIC_CHECK', 1);
SP_SET_PARA_VALUE(1,'HJ_BUF_GLOBAL_SIZE', 42000);
SP_SET_PARA_VALUE(1,'HJ_BUF_SIZE', 512);
SP_SET_PARA_VALUE(1,'HAGR_BUF_GLOBAL_SIZE',26000);
SP_SET_PARA_VALUE(1,'HAGR_BUF_SIZE', 512);
SP_SET_PARA_VALUE(2,'SORT_FLAG',1);
SP_SET_PARA_VALUE(2,'SORT_BLK_SIZE',2);
SP_SET_PARA_VALUE(2,'SORT_BUF_SIZE', 50);
SP_SET_PARA_VALUE(2,'SORT_BUF_GLOBAL_SIZE', 42000);
SP_SET_PARA_VALUE(2,'RLOG_POOL_SIZE', 2048);
SP_SET_PARA_VALUE(2,'CACHE_POOL_SIZE', 2048);
SP_SET_PARA_VALUE(2,'DICT_BUF_SIZE', 1024);
SP_SET_PARA_VALUE(2,'VM_POOL_TARGET', 8192);
SP_SET_PARA_VALUE(2,'SESS_POOL_TARGET', 8192);
SP_SET_PARA_VALUE(2,'USE_PLN_POOL', 1);
SP_SET_PARA_VALUE(2,'ENABLE_MONITOR', 1);
SP_SET_PARA_VALUE(2,'SVR_LOG', 0);
SP_SET_PARA_VALUE(2,'TEMP_SIZE', 1024);
SP_SET_PARA_VALUE(2,'TEMP_SPACE_LIMIT', 102400);
SP_SET_PARA_VALUE(2,'MAX_SESSIONS', 5100);
SP_SET_PARA_VALUE(2,'MAX_SESSION_STATEMENT', 20000);
SP_SET_PARA_VALUE(2,'PK_WITH_CLUSTER', 0);
SP_SET_PARA_VALUE(2,'ENABLE_ENCRYPT',0);
SP_SET_PARA_VALUE(2,'OLAP_FLAG',2);
SP_SET_PARA_VALUE(2,'OPTIMIZER_MODE',1);
SP_SET_PARA_VALUE(2,'ADAPTIVE_NPLN_FLAG',0);
SP_SET_PARA_VALUE(2,'MONITOR_INDEX_FLAG',2);
SP_SET_PARA_VALUE(2,'ENABLE_CREATE_BM_INDEX_FLAG',0);
SP_SET_PARA_VALUE(2,'PARALLEL_PURGE_FLAG',1);
SP_SET_PARA_VALUE(2,'PARALLEL_POLICY',2);
SP_SET_PARA_DOUBLE_VALUE(2,'UNDO_RETENTION',900);
SP_SET_PARA_VALUE(2,'UNDO_EXTENT_NUM',16);
SP_SET_PARA_VALUE(2,'ENABLE_INJECT_HINT',1);
SP_SET_PARA_VALUE(2,'BTR_SPLIT_MODE',1);
SP_SET_PARA_VALUE(2,'FAST_LOGIN',1);
SP_SET_PARA_VALUE(2,'ENABLE_MONITOR_BP',0);
SP_SET_PARA_VALUE(1,'SLCT_OPT_FLAG',0);
SP_SET_PARA_VALUE(2,'ENABLE_FREQROOTS',0);
SP_SET_PARA_VALUE(2,'BUFFER_MODE',1);
SP_SET_PARA_VALUE(2,'FAST_RW_LOCK',2);
SP_SET_PARA_VALUE(2,'MULTI_PAGE_GET_NUM',1);
SP_SET_PARA_VALUE(2,'PRELOAD_SCAN_NUM',0);
SP_SET_PARA_VALUE(2,'PRELOAD_EXTENT_NUM',0);
SP_SET_PARA_VALUE(2,'DSC_N_POOLS',59);
SP_SET_PARA_VALUE(2,'DSC_HALT_SYNC',0);
SP_SET_PARA_VALUE(2,'DSC_N_CTLS',50000);
SP_SET_PARA_VALUE(2,'DSC_ENABLE_MONITOR',0);
SP_SET_PARA_VALUE(2,'TRX_DICT_LOCK_NUM',5);
SP_SET_PARA_VALUE(2,'DIRECT_IO',1);
注意参数:(详见管理员手册)
COMPATIBLE_MODE(异构数据库兼容):2:Oracle 3:SQLServer 4:Mysql
将SVR_LOG参数调整为1
SP_SET_PARA_VALUE(1,'SVR_LOG',1);
sqllog.ini配置参考:
BUF_TOTAL_SIZE = 1024000 #SQLs Log Buffer Total Size(K)(1024~1024000)
BUF_SIZE = 10240 #SQLs Log Buffer Size(K)(50~102400)
BUF_KEEP_CNT = 20 #SQLs Log buffer keeped count(1~100)
PARAMS_DELAY = 0 #SQLs Log param data whether report delay(0~2)
[SLOG_ALL]
FILE_PATH = /data/sqllog/dsc
PART_STOR = 0
SWITCH_MODE = 2
SWITCH_LIMIT = 512
ASYNC_FLUSH = 1
FILE_NUM = 50
ITEMS = 0
SQL_TRACE_MASK = 1
MIN_EXEC_TIME = 0
USER_MODE = 0
USERS =
EXECTIME_PREC_FLAG = 0
[SLOG_ERROR]
SQL_TRACE_MASK = 23
FILE_PATH = ../log
[SLOG_DDL]
SQL_TRACE_MASK = 3
[SLOG_LONG_SQL]
SQL_TRACE_MASK = 25
MIN_EXEC_TIME = 60000
[root@~]# cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmcss -dcr_ini /home/dmdba/dsc/config/dmdcr.ini -p CSS
./dm_service_installer.sh -t dmasmsvr -dcr_ini /home/dmdba/dsc/config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dsc/config/kydsc1_config/dm.ini -dcr_ini /home/dmdba/dsc/config/dmdcr.ini -y DmASMSvrServiceASM.service -p DSCDB
[root@~]# cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmcss -dcr_ini /home/dmdba/dsc/config/dmdcr.ini -p CSS
./dm_service_installer.sh -t dmasmsvr -dcr_ini /home/dmdba/dsc/config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dsc/config/kydsc2_config/dm.ini -dcr_ini /home/dmdba/dsc/config/dmdcr.ini -y DmASMSvrServiceASM.service -p DSCDB
备注:删除服务
[root@~]# /home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmCSSServiceCSS
[root@~]# /home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmASMSvrServiceASM
[root@~]# /home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceKY
[dmdba@ config]$ cat dmdcr.ini
DMDCR_PATH = /dev_DSC2/DCR
DMDCR_MAL_PATH = /home/dmdba/dsc/config/dmasvrmal.ini
DMDCR_SEQNO = 1
DMDCR_AUTO_OPEN_CHECK = 30
DMDCR_ASM_TRACE_LEVEL = 2
#DMDCR_LINK_CHECK_IP = 192.168.1.4
DMDCR_ASM_RESTART_INTERVAL = 60
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dsc/config/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 60
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dsc/config/dsc1_config/dm.ini dcr_ini=/home/dmdba/dsc/config/dmdcr.in
[dmdba@~]# vi /home/dmdba/dmdbms/bin/dmcssm.ini
CSSM_OGUID = 45333
CSSM_CSS_IP = 192.168.10.1:5636
CSSM_CSS_IP = 192.168.10.2:5637
CSSM_LOG_PATH = /home/dmdba/dsc/dmcssmlog
CSSM_LOG_FILE_SIZE = 512
CSSM_LOG_SPACE_LIMIT = 2048
[root@~]#/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmcssm -cssm_ini /home/dmdba/dsc/config/dmcssm.ini -p DSC
备注:删除服务
[root@~]# /home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmCSSMonitorServiceDSC
命令 含义
show 查看所有组的信息
show config 查看dmdcr_cfg.ini 的配置信息
show monitor 查看当前连接到主 CSS 的所有监视器信息
[dmdba@~]# /home/dmdba/dmdbms/bin/DmCSSMonitorServiceDSC start
前台启动:
[dmdba@~]#/home/dmdba/dmdbms/bin/dmcssm INI_PATH=/home/dmdba/dmdbms/bin/dmcssm.ini
启动:A/B机器CSS
A/B机器:
[dmdba@~]# /home/dmdba/dmdbms/bin/DmCSSServiceCSS start
说明:CSS启动后30秒自动拉起ASM,60秒自动拉起DMSERVER。
停止: A/B机器DMSERVER→A/B机器ASM→A/B机器CSS
A/B机器:[dmdba@~]# /home/dmdba/dmdbms/bin/DmServiceDB stop
A/B机器:[dmdba@~]# /home/dmdba/dmdbms/bin/DmASMSvrServiceASM stop
A/B机器:[dmdba@~]# /home/dmdba/dmdbms/bin/DmCSSServiceCSS stop
说明:
1)DSC正常停库必须2节点同时停止,根据目前脚本配置,CSS启动后30秒自动拉起ASM,60秒自动拉起DMSERVER,所以停止DMSERVER和ASM后,要尽快停止CSS,避免被自动拉起。
2) ASM服务在任意节点停止,2个节点的ASM服务都会停止,为了保险起见,可以两边都执行停止命令。
3)服务全部停止后,要检查后台进程是否全部停止。
--注意:开归档、备份路径:/dmbak
每周六1点一次全备,除每周六外每天1点增备,备份保留7天
call SP_INIT_JOB_SYS(0);
call SP_INIT_JOB_SYS(1);
call SP_CREATE_JOB('full_dele',1,0,'',0,0,'',0,'全备执行成功执行删除操作');
call SP_JOB_CONFIG_START('full_dele');
call SP_ADD_JOB_STEP('full_dele', 'fullbak', 6, '05000000/dmbak', 3, 1, 0, 0, '/dmbak/fullbak.log', 1);
call SP_ADD_JOB_STEP('full_dele', 'delebak', 0, 'CALL SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/dmbak'');
CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'',sysdate-15);', 1, 1, 0, 0, '/dmbak/fullbak.log', 1);
CALL SP_JOB_STEP_SET_NEXT_STEP('full_dele', 'fullbak', 'delebak', NULL);
call SP_ADD_JOB_SCHEDULE('full_dele', 'full_sche', 1, 2, 1, 64, 0, '01:00:00', NULL, '2025-05-28 22:00:00', NULL, '');
call SP_JOB_CONFIG_COMMIT('full_dele');
call SP_JOB_SET_SCHEMA('full_dele', 'SYSDBA');
全备压缩5,增备压缩2,全备执行成功执行删除操作,增备执行失败执行一次全备
call SP_CREATE_JOB('increbak',1,0,'',0,0,'',0,'增备执行失败执行一次全备');
call SP_JOB_CONFIG_START('increbak');
call SP_ADD_JOB_STEP('increbak', 'increbak', 6, '12000000/dmbak|/dmbak', 1, 3, 0, 0, '/dmbak/incbak.log', 1);
call SP_ADD_JOB_STEP('increbak', 'ink_full_bak', 6, '05000000/dmbak', 0, 0, 0, 0, NULL, 0);
CALL SP_JOB_STEP_SET_NEXT_STEP('increbak', 'increbak', NULL, 'ink_full_bak');
call SP_ADD_JOB_SCHEDULE('increbak', 'increbak', 1, 2, 1, 63, 0, '01:00:00', NULL, '2025-05-28 22:00:00', NULL, '');
call SP_JOB_CONFIG_COMMIT('increbak');
call SP_JOB_SET_SCHEMA('increbak', 'SYSDBA');
Linux环境:dm_svc.conf放在应用服务器/etc目录下。
Windows32环境:dm_svc.conf放在应用服务器System32目录下。
Windows64环境:dm_svc.conf放在应用服务器System32和SysWOW64目录下。
[root@~]# vi /etc/dm_svc.conf
TIME_ZONE=(480)
LANGUAGE=(cn)
DSC=(192.168.1.1:5238,192.168.1.2:5238)
[DSC]
CLUSTER=(DSC)
EP_SELECTOR=(1)
AUTO_RECONNECT=(2)
SWITCH_TIMES=(10)
SWITCH_INTERVAL=(300)
SWITCH_INTERVAL=(300)
<DRIVER>dm.jdbc.driver.DmDriver</DRIVER>
<URL>jdbc:dm://DSC</URL>
文章
阅读量
获赞
