一、绑定磁盘(两节点执行)
ACTION=="add",KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",KERNEL=="sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",KERNEL=="sdb3",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add",KERNEL=="sdb4",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add",KERNEL=="sdb5",RUN+="/bin/raw /dev/raw/raw4 %N"
KERNEL=="raw[1-5]", OWNER="dmdba", GROUP="dinstall", MODE="660"
2.使规则生效
partprobe /dev/sdb
##通知系统分区表的变化
/sbin/udevadm trigger --type=devices --action=change
##完成裸设备绑定
/sbin/udevadm control --reload
##重新加载udev rule
systemctl restart systemd-udev-trigger.service
3.查看是否生效
blockdev --getsize64 /dev/asm-dmdcr
blockdev --getsize64 /dev/asm-dmvote
blockdev --getsize64 /dev/asm-dmlog
blockdev --getsize64 /dev/asm-dmdata
blockdev --getsize64 /dev/asm-dmarch
二、配置DCR文件(两节点执行)
创建DSC目录
mkdir /opt/dmdbms/dsc_config
编写文件内容
vim /opt/dmdbms/dsc_config/dmdcr_cfg.ini
DCR_N_GRP = 3
DCR_VTD_PATH = /dev/raw/raw2
DCR_OGUID = 63635
[GRP]
DCR_GRP_TYPE = CSS
DCR_GRP_NAME = GRP_CSS
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_CSS]
DCR_EP_NAME = CSS0
DCR_EP_HOST = 192.168.1.10
DCR_EP_PORT = 11286
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.1.11
DCR_EP_PORT = 11286
[GRP]
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = GRP_ASM
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_ASM]
DCR_EP_NAME = ASM0
DCR_EP_SHM_KEY = 42424
DCR_EP_SHM_SIZE = 1024
DCR_EP_HOST = 192.168.1.10
DCR_EP_PORT = 11276
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP_ASM]
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 1024
DCR_EP_HOST = 192.168.1.11
DCR_EP_PORT = 11277
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP]
DCR_GRP_TYPE = DB
DCR_GRP_NAME = GRP_DSC
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_DSC]
DCR_EP_NAME = DSC0
DCR_EP_SEQNO = 0
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 11256
[GRP_DSC]
DCR_EP_NAME = DSC1
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 11257
三、初始化磁盘组(节点一执行)
进入bin目录下
./dmasmcmd
create dcrdisk '/dev/raw/raw1' 'DCR'
create votedisk '/dev/raw/raw2' 'VOTE'
init dcrdisk '/dev/raw/raw1' from '/opt/dmdbms/dsc_config/dmdcr_cfg.ini' identified by 'hust4400'
init votedisk '/dev/raw/raw2' from '/opt/dmdbms/dsc_config/dmdcr_cfg.ini'
create asmdisk '/dev/raw/raw3' 'DATA'
create asmdisk '/dev/raw/raw4' 'LOG'
create asmdisk '/dev/raw/raw5' 'ARCH'
四、配置AMS的MAL系统文件(两节点执行)
在/opt/dmdbms/dsc_config目录下新建dmasvrmal.ini
vim /opt/dmdbms/dsc_config/dmasvrmal.ini
[MAL_INST0]
MAL_INST_NAME = ASM0
MAL_HOST = 192.168.1.10
MAL_PORT = 11266
[MAL_INST1]
MAL_INST_NAME = ASM1
MAL_HOST = 192.168.1.11
MAL_PORT = 11266
五、配置dmdcr文件(两节点执行,不同)
节点一
vim /opt/dmdbms/dsc_config/dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH = /opt/dmdbms/dsc_config/dmasvrmal.ini
DMDCR_SEQNO = 0
DMDCR_ASM_RESTART_INTERVAL = 30
DMDCR_ASM_STARTUP_CMD = /opt/dmdbms/bin/DmASMSvrServiceASM start
DMDCR_DB_RESTART_INTERVAL = 60
DMDCR_DB_STARTUP_CMD = /opt/dmdbms/bin/DmServiceDSC start
DMDCR_AUTO_OPEN_CHECK = 111
DMDCR_ASM_TRACE_LEVEL = 2
节点二
vim /opt/dmdbms/dsc_config/dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH = /opt/dmdbms/dsc_config/dmasvrmal.ini
DMDCR_SEQNO = 1
DMDCR_ASM_RESTART_INTERVAL = 30
DMDCR_ASM_STARTUP_CMD = /opt/dmdbms/bin/DmASMSvrServiceASM start
DMDCR_DB_RESTART_INTERVAL = 60
DMDCR_DB_STARTUP_CMD = /opt/dmdbms/bin/DmServiceDSC start
DMDCR_AUTO_OPEN_CHECK = 111
DMDCR_ASM_TRACE_LEVEL = 2
六、配置dmarch.ini文件(两节点执行,不同)
双重本地归档,最大化保证归档连续性,ASM 正常情况下,本地归档永远是连续的,所以将本
地归档一份留在本地,一份放在 ASM 中。
节点一
vim /opt/dmdbms/dsc_config/dmarch.ini
ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1
ARCH_LOCAL_SHARE_CHECK=0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMARCH/ARCH/DSC0/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 204800
ARCH_FLUSH_BUF_SIZE = 32
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH = +DMARCH/ARCH/DSC1/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 204800
ARCH_FLUSH_BUF_SIZE = 32
[ARCHIVE_LOCAL2]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmarch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 409600
ARCH_FLUSH_BUF_SIZE = 32
节点二
vim /opt/dmdbms/dsc_config/dmarch.ini
ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1
ARCH_LOCAL_SHARE_CHECK=0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMARCH/ARCH/DSC1/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 204800
ARCH_FLUSH_BUF_SIZE = 32
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_INCOMING_PATH = +DMARCH/ARCH/DSC0/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 204800
ARCH_FLUSH_BUF_SIZE = 32
[ARCHIVE_LOCAL2]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmarch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 409600
ARCH_FLUSH_BUF_SIZE = 32
七、启动DMCSS、DMASM服务(两节点执行)
启动DMCSS
cd /opt/dmdbms/bin
节点一
./dmcss DCR_INI=/opt/dmdbms/dsc_config/dmdcr.ini
节点二
./dmcss DCR_INI=/opt/dmdbms/dsc_config/dmdcr.ini
启动DMASMSVR
cd /opt/dmdbms/bin
节点一
./dmasmsvr DCR_INI=/opt/dmdbms/dsc_config/dmdcr.ini
节点二
./dmasmsvr DCR_INI=/opt/dmdbms/dsc_config/dmdcr.ini
八、用dmasmtool创建DMASM磁盘组(任一节点)
cd /opt/dmdbms/bin
./dmasmtool DCR_INI=/opt/dmdbms/dsc_config/dmdcr.ini
执行下列语句创建DMASM磁盘组(注意磁盘名称需要与配置文件相同)
#创建日志磁盘组
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
#创建数据磁盘组
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
#创建归档磁盘组
create diskgroup 'DMARCH' asmdisk '/dev/raw/raw5'
九、用dminit初始化DB环境(任一节点)
vim /opt/dmdbms/dsc_config/dminit.ini
DB_NAME = DSC
SYSTEM_PATH = +DMDATA/data
SYSTEM = +DMDATA/data/SYSTEM.dbf
SYSTEM_SIZE = 1024
ROLL = +DMDATA/data/ROLL.dbf
ROLL_SIZE = 10000
MAIN = +DMDATA/data/MAIN.dbf
MAIN_SIZE = 1024
CTL_PATH = +DMDATA/data/dm.ctl
CTL_SIZE = 8
LOG_SIZE = 2048
DCR_PATH = /dev/raw/raw1
DCR_SEQNO = 0
AUTO_OVERWRITE = 1
PAGE_SIZE = 32
EXTENT_SIZE = 32
BLANK_PAD_MODE = 1
CHARSET = 1
CASE_SENSITIVE = 0
LENGTH_IN_CHAR = 1
[DSC0]
CONFIG_PATH = /opt/dmdbms/dsc_config/DSC0
PORT_NUM = 5236
MAL_HOST = 192.168.1.10
MAL_PORT = 11246
LOG_PATH = +DMLOG/DSC0_LOG01.log
LOG_PATH = +DMLOG/DSC0_LOG02.log
[DSC1]
CONFIG_PATH = /opt/dmdbms/dsc_config/DSC1
PORT_NUM = 5236
MAL_HOST = 192.168.1.11
MAL_PORT = 11246
LOG_PATH = +DMLOG/DSC1_LOG01.log
LOG_PATH = +DMLOG/DSC1_LOG02.log
在当前节点执行初始化DB命令
cd /opt/dmdbms/bin
./dminit control=/opt/dmdbms/dsc_config/dminit.ini
十、启动数据库
首先,将初始化实例后在节点 一 机器上/opt/dmdbms/dsc_config 下生成的 DSC1 目录拷贝到 节点二
机器相同目录下,节点一 和 和节点二 各自修改 DSC0 和 DSC1 文件夹下 dm.ini 的 ARCH_INI=1,将之前各自配置的
dmarch.ini, 节点一放到本机 DSC0 文件夹下, 节点二放到本机 DSC1 文件夹下。
1.将DSC1拷贝到节点二相同目录
2.修改dm.ini中的ARCH_INI = 1
3.将dmarch.ini放到各自目录下,即节点一放在本机的DSC0,节点二放在本机的DSC1
4.启动dmserver服务(两节点执行)
cd /opt/dmdbms/bin
节点一
./dmserver /opt/dmdbms/dsc_config/DSC0/dm.ini dcr_ini=/opt/dmdbms/dsc_config/dmdcr.ini
节点二
./dmserver /opt/dmdbms/dsc_config/DSC1/dm.ini dcr_ini=/opt/dmdbms/dsc_config/dmdcr.ini
十一、配置监视器及创建服务
在第三台节点进行监视器配置,配置 cssm.ini 放在/opt/dmdbms/bin 下,内容如下:
vim /opt/dmdbms/bin/cssm.ini
CSSM_OGUID = 63635
CSSM_CSS_IP = 192.168.1.10:11286
CSSM_CSS_IP = 192.168.1.11:11286
CSSM_LOG_PATH =/opt/dmdbms/log
CSSM_LOG_FILE_SIZE = 1024
CSSM_LOG_SPACE_LIMIT = 0
启动监视器(使用dmdba)
cd /opt/dmdbms/bin
./dmcssm ini_path=cssm.ini
show
确认集群状态正常
另起一个窗口登录集群任意一个节点,检查状态是否正常。
停止集群
在监视器界面执行:
ep stop GRP_DSC
--确定停库的过程中没有报错
ep stop GRP_ASM
--确定停 ASM 的过程中没有报错
确认数据库和 ASM 服务器均已停止,继续停 DMCSS 进程
在集群两个节点之前打开的./dmcss DCR_INI=/dm/dmdbms/dsc_config/dmdcr.ini 的窗口中 exit 回
车即可退出前台启动的整个集群
十二、配置服务
节点一创建服务
创建 CSS 服务
./dm_service_installer.sh -t dmcss -dcr_ini /opt/dmdbms/dsc_config/dmdcr.ini -p CSS
创建 ASM 服务
./dm_service_installer.sh -t dmasmsvr -dcr_ini /opt/dmdbms/dsc_config/dmdcr.ini -y
DmCSSServiceCSS.service -p ASM
创建 DSC 服务
./dm_service_installer.sh -t dmserver -dm_ini /opt/dmdbms/dsc_config/DSC0/dm.ini
-dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC
节点二创建服务
创建 CSS 服务
./dm_service_installer.sh -t dmcss -dcr_ini /opt/dmdbms/dsc_config/dmdcr.ini -p CSS
创建 ASM 服务
./dm_service_installer.sh -t dmasmsvr -dcr_ini /opt/dmdbms/dsc_config/dmdcr.ini -y
DmCSSServiceCSS.service -p ASM
创建 DSC 服务
./dm_service_installer.sh -t dmserver -dm_ini /opt/dmdbms/dsc_config/DSC1/dm.ini
-dcr_ini /opt/dmdbms/dsc_config/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC
十三、配置core生成规则
vim /etc/sysctl.conf 添加如下两行内容:
kernel.core_pattern=/opt/core/core-%t-%e-%p-%c.core
kernerl.core_uses_pid=1
sysctl -p
##生效
后续出现 core 问题,可以在/dm/core 文件夹下寻找并进行 gdb 调试
可通过 coredumpctl dump
查看 core 相关信息
十四、定时备份
执行步骤与主备集群一致,需要注意的点是
1.在管理工具中执行
call SF_BAKSET_BACKUP_DIR_ADD('DISK','/data/dmbak');
##文件夹名称根据实际环境配置
2.删除备份时时的sql语句为
call SF_BAKSET_BACKUP_DIR_ADD('DISK','/data/dmbak');
CALL SP_DB_BAKSET_REMOVE_BATCH('DISK',NOW() -15);
十五、配置服务名
vim /etc/dm_svc.conf
TIME_ZONE=(480)
LANGUAGE=(cn)
DSC=(192.168.1.10:5236,192.168.1.11:5236)
[DSC]
CLUSTER=(DSC)
SWITCH_TIMES=(20)
SWTICH_INTERVAL=(2000)
LOGIN_DSC_CTRL=(1)
LOGIN_ENCRYPT=(0)
备份还原
1.备份
mkdir -p /data/dmbak
##root 创建备份集文件夹
chown -R dmdba:dinstall /data/dmbak
#授权,务必保证 dmdba 有备份集文件夹读写权限)
su - dmdba
cd /opt/dmdbms/bin
./disql SYSDBA/SYSDBA@LOCALHOST:5237 (通过 disql 登陆节点)
进入后执行:
call SF_BAKSET_BACKUP_DIR_ADD('DISK','/data/dmbak'); (添加备份路径)
BACKUP DATABASE FULL BACKUPSET '/data/dmbak/TEST'; (全库备份)
备份完毕后会在/data/dmbak 下生成 TEST 文件夹
2.还原
su - dmdba
cd /opt/dmdbms/bin
./dmcssm ini_path=cssm.ini
执行 ep stop grp_dsc 停止集群的 dsc 实例服务,保证节点 css 和 asm 服务正常
登录任意一个集群节点进行还原恢复
su - dmdba
cd /opt/dmdbms/bin
./dmrman dcr_ini=/opt/dmdbma/dsc_config/dmdcr.ini
执行
restore database '/opt/dmdbms/dsc_config/DSC1/dm.ini' from backupset '/data/dmbak/TEST';
recover database '/opt/dmdbms/dsc_config/DSC1/dm.ini' from backupset '/data/dmbak/TEST';
recover database '/opt/dmdbms/dsc_config/DSC1/dm.ini' update db_magic;
3.监视器节点上
su - dmdba
cd /dm/dmdbms/bin
./dmcssm ini_path=cssm.ini
执行 ep startup grp_dsc 启动集群实例
启停服务顺序
启停服务
启动顺序:集群启动一般情况下只需要启动两端节点 CSS 服务即可,service DmCSSServiceCSS
start,其会自动拉起 ASM 和 DSC 实例,顺序为 CSS-ASM-DSC。
停止服务
停止顺序:建议使用 dmdba 用户前台打开 dmcssm 监视器,执行 ep stop grp_dsc 停止实例,再
ep stop grp_asm 停止 asm,最后 dsc 所有节点手动执行 service DmCSSServiceCSS stop 进行两端
CSS 服务的停止,本身监视器就需要依赖 CSS 所以不可以再监视器中停止 CSS,顺序为 DSC-ASM-CSS
搭建DSC总体流程
--》》安装数据库/opt/dmdbms
创建/opt/dmdbms/dsc_config,在此目录下创建
--》》dmdcr_cfg.ini (两节点内容相同)
--》》初始化磁盘组 (一个节点上操作)
--》》dmasvrmal.ini (两节点内容相同)
--》》dmdcr.ini (DMDCR_SEQNO:节点一为0,节点二为1)
--》》dmarch.ini (两节点内容不同)
启动DMCSS、DMASM服务
--》》./dmcss DCR_INI=/opt/dmdbms/dsc_config/dmdcr.ini (两节点都执行)
--》》./dmasmsvr DCR_INI=/opt/dmdbms/dsc_config/dmdcr.ini (两节点都执行)
创建磁盘组(一个节点执行)
--》》./dmasmtool DCR_INI=/opt/dmdbms/dsc_config/dmdcr.ini
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
create diskgroup 'DMARCH' asmdisk '/dev/raw/raw5'
初始化DB环境(只在一个节点执行)
--》》创建dminit.ini
--》》./dminit control=/opt/dmdbms/dsc_config/dminit.ini
将①的DSC1拷贝到②
修改两边dm.ini中的ARCH_INI为1
将两边的dmarch.ini拷贝到各自实例目录下(DSC0、DSC1)
启动服务:
./dmserver /opt/dmdbms/dsc_config/DSC0/dm.ini dcr_ini=/opt/dmdbms/dsc_config/dmdcr.ini
配置监视器
配置cssm.ini放在bin目录下
--》》./dmcssm ini_path=cssm.ini (务必使用dmdba)
show检查状态并登录进行操作测试
成功启动后创建服务:./dm_service_installer.sh -t dmcssm -cssm_ini /dm/dmdbms/bin/cssm.ini -p CSSM
关闭集群
在监视器中:ep stop GRP_DSC 停库
ep stop GRP_ASM 停ASM服务
停止DMCSS服务:
在集群两个节点之前打开的./dmcss DCR_INI=/opt/dmdbms/dsc_config/dmdcr.ini 的窗口中 exit 回车即可退出前台启动的整个集群
创建服务
节点一:
--》》创建 CSS 服务 :
./dm_service_installer.sh -t dmcss -dcr_ini /opt/dmdbms/dsc_config/dmdcr.ini -p CSS
--》》创建 ASM 服务
./dm_service_installer.sh -t dmasmsvr -dcr_ini /opt/dmdbms/dsc_config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM
--》》创建 DSC 服务
./dm_service_installer.sh -t dmserver -dm_ini /opt/dmdbms/dsc_config/DSC0/dm.ini
-dcr_ini /opt/dmdbms/dsc_config/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC
节点二:将上面DSC0改为DSC1即可
授权
chown -R dmdba:dinstall /dm/dmdbms /dmarch /dmbak /dev/raw/raw*
启动服务
两节点再按顺序后台启动服务即可
cd /dm/dmdbms/bin
./DmCSSServiceCSS start
./DmASMSvrServiceASM start
./DmServiceDSC start
启动监视器服务
service DmCSSMonitorServiceCSSM start
--两节点只需启动DmCSSServiceCss即可。ASM与DSC实例会自动拉起
进入监视器查看:./dmcssm ini_path=cssm.ini
配置服务名
TIME_ZONE=(480)
LANGUAGE=(cn)
DSC=(1.1.1.1:5237,1.1.1.2:5237)
[DSC]
CLUSTER=(DSC)
SWITCH_TIME=(20)
SWITCH_INTERVAL=(2000)
LOGIN_DSC_CRTL=(1)
LOGIN_ENCRYPT=(0)
文章
阅读量
获赞