达梦DMDSC+主备守护集群测试记录

一、安装计划

两节点DSC:

192.168.50.100       dbserver1

10.1.1.1

192.168.50.200       dbserver2

10.1.1.2

备库

192.168.50.99        STD

10.1.1.3

DSC两节点操作系统添加4块磁盘

/dev/sdb      2G

/dev/sdc      2G

/dev/sdd      10G

/dev/sde      10G

二、操作系统准备

1、VM虚拟机准备

--两个虚拟机添加共享磁盘,并在.vmx文件中添加以下配置参数

disk.locking="FALSE"

disk.EnableUUID = "TRUE"

diskLib.dataCacheMaxSize="0"

diskLib.dataCacheMaxReadAheadSize="0"

diskLib.DataCacheMinReadAheadSize="0"

diskLib.dataCachePageSize="4096"

diskLib.maxUnsyncedWrites="0"

scsi1:0.SharedBus="Virtual"

scsi1:1.SharedBus="Virtual"

scsi1:2.SharedBus="Virtual"

scsi1:3.SharedBus="Virtual"

scsi1:4.SharedBus="Virtual"

2、在共享磁盘上裸设备划分

vi /etc/udev/rules.d/60-raw.rules

ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N"

ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N"

ACTION=="add", KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"

udevadm trigger --type=devices --action=change

ll /dev/raw/raw*

3、登录dmdba用户安装

DMInstall.bin –i

步骤略

三、配置部署DMDSC集群

1、登录dmdba用户设置ASM磁盘组(单节点执行)

su - dmdba

dmasmcmd

listdisks /dev/raw

create dcrdisk '/dev/raw/raw1' 'dcr'

create votedisk '/dev/raw/raw2' 'vote'

create asmdisk '/dev/raw/raw3' 'LOG0'

create asmdisk '/dev/raw/raw4' 'DATA0'

##准备dmdcr_cfg.ini配置文件

【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            = CSS1

    DCR_EP_HOST            = 10.1.1.1

    DCR_EP_PORT            = 9341

[GRP_CSS]

    DCR_EP_NAME            = CSS2

    DCR_EP_HOST            = 10.1.1.2

    DCR_EP_PORT            = 9341 

[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            = ASM1

    DCR_EP_SHM_KEY         = 93360

    DCR_EP_SHM_SIZE        = 20

    DCR_EP_HOST            = 10.1.1.1

    DCR_EP_PORT            = 9351

    DCR_EP_ASM_LOAD_PATH   = /dev/raw

[GRP_ASM]

    DCR_EP_NAME            = ASM2

    DCR_EP_SHM_KEY         = 93361

    DCR_EP_SHM_SIZE        = 20

    DCR_EP_HOST            = 10.1.1.2

    DCR_EP_PORT            = 9351

    DCR_EP_ASM_LOAD_PATH   = /dev/raw

[GRP]

    DCR_GRP_TYPE           = DB

    DCR_GRP_NAME           = GRP_CRM

    DCR_GRP_N_EP           = 2

    DCR_GRP_DSKCHK_CNT     = 60

[GRP_CRM]

    DCR_EP_NAME            = CRM1

    DCR_EP_SEQNO       = 0

    DCR_EP_PORT        = 5236

    DCR_CHECK_PORT     = 9741

[GRP_CRM]

    DCR_EP_NAME            = CRM2

    DCR_EP_SEQNO       = 1

    DCR_EP_PORT        = 5236

    DCR_CHECK_PORT     = 9741

使用编辑好的 dmdcr_cfg.ini 配置文件初始化 dcrdisk 和 votedisk,并在 ASM 提示符执行以下命令:

dmasmcmd

init dcrdisk '/dev/raw/raw1' from '/dm8/dmdbms/dmdcr_cfg.ini' identified by '123456'

init votedisk '/dev/raw/raw2' from '/dm8/dmdbms/dmdcr_cfg.ini'

2、启动 DMCSS 服务(两节点)

【dmasvrmal.ini】

[MAL_INST1]

MAL_INST_NAME             = ASM1

MAL_HOST                  = 10.1.1.1

MAL_PORT                  = 7236

[MAL_INST2]

MAL_INST_NAME             = ASM2

MAL_HOST                  = 10.1.1.2

MAL_PORT                  = 7236

【dmdcr1.ini】

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH = /dm8/dmdbms/dmasvrmal.ini

DMDCR_SEQNO = 0

DMDCR_ASM_RESTART_INTERVAL =10

DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr  dcr_ini=/dm8/dmdbms/dmdcr1.ini

DMDCR_DB_RESTART_INTERVAL = 60

DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver  path=/dm8/dmdbms/crm1/dm.ini dcr_ini=/dm8/dmdbms/dmdcr1.ini

【dmdcr2.ini】

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH = /dm8/dmdbms/dmasvrmal.ini

DMDCR_SEQNO = 1

DMDCR_ASM_RESTART_INTERVAL =10

DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr  dcr_ini=/dm8/dmdbms/dmdcr2.ini

DMDCR_DB_RESTART_INTERVAL = 60

DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver  path=/dm8/dmdbms/crm2/dm.ini dcr_ini=/dm8/dmdbms/dmdcr2.ini

--两个节点启动dmcss服务,dmdba用户到数据库安装目录bin下执行以下命令:

dmcss dcr_ini=/dm8/dmdbms/dmdcr1.ini

dmcss dcr_ini=/dm8/dmdbms/dmdcr2.ini

3、创建 ASM 磁盘组(单节点)

dmasmtool dcr_ini=/dm8/dmdbms/dmdcr1.ini

create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'

create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

4、初始化共享存储集群数据库实例(单节点执行)

【dminit.ini】

db_name = CRM

system_path = +DMDATA/data

system = +DMDATA/data/CRM/system.dbf

system_size = 128

roll = +DMDATA/data/CRM/roll.dbf

roll_size = 128

main = +DMDATA/data/CRM/main.dbf

main_size = 128

ctl_path = +DMDATA/data/CRM/dm.ctl

ctl_size = 8

log_size = 1024

dcr_path = /dev/raw/raw1

dcr_seqno = 0

auto_overwrite = 1

[CRM1]

config_path    = /dm8/dmdbms/crm1

port_num     = 5236

mal_host     = 10.1.1.1

mal_port     = 9236

log_path     = +DMLOG/log/CRM1_log01.log

log_path     = +DMLOG/log/CRM1_log02.log

[CRM2]

config_path    = /dm8/dmdbms/crm2

port_num     = 5236

mal_host     = 10.1.1.2

mal_port     = 9236

log_path     = +DMLOG/log/CRM2_log01.log

log_path     = +DMLOG/log/CRM2_log02.log

--使用配置好的dminit控制文件执行命令:

cd /dm8/bin

./dminit control=/dm8/dmdbms/dminit.ini

5、注册服务(两节点)

#节点1

./dm_service_installer.sh -t dmcss -p css1 -dcr_ini /dm8/dmdbms/dmdcr1.ini

./dm_service_installer.sh -t dmserver -p CRM1 -dm_ini /dm8/dmdbms/crm1/dm.ini

#节点2

./dm_service_installer.sh -t dmcss -p css2 -dcr_ini /dm8/dmdbms/dmdcr2.ini

./dm_service_installer.sh -t dmserver -p CRM2 -dm_ini /dm8/dmdbms/crm2/dm.ini

6、开启归档

#节点1

alter database mount;

alter database archivelog;

alter database add archivelog 'type=local,dest=/dm8/dmdbms/crm1/arch_log,file_size=128,space_limit=10240';

alter database add archivelog 'type=remote,dest=crm2,type=remote,file_size=128,space_limit=10240,incoming_path=/dm8/dmdbms/crm2/arch_log';

alter database open;

#节点2

alter database mount;

alter database archivelog;

alter database add archivelog 'type=local,dest=/dm8/dmdbms/crm2/arch_log,file_size=128,space_limit=10240';

alter database add archivelog 'type=remote,dest=crm1,type=remote,file_size=128,space_limit=10240,incoming_path=/dm8/dmdbms/crm1/arch_log';

alter database open;

四、配置主备守护集群

1、DSC集群配置修改

(1)修改归档配置

#节点1

/dm8/dmdbms/crm1/dmarch.ini

#节点2

/dm8/dmdbms/crm2/dmarch.ini

--添加REALTIME归档

[ARCHIVE_REALTIME]

        ARCH_TYPE            = REALTIME

        ARCH_DEST            = STD

(2)修改dmmal.ini(三节点相同)

【dmmal.ini】

MAL_CHECK_INTERVAL = 5

MAL_CONN_FAIL_INTERVAL = 5

[mal_inst0]

    mal_inst_name  = CRM1

    mal_host       = 10.1.1.1

    mal_port       = 9236

    mal_inst_host  = 192.168.50.100

    mal_inst_port  = 5236

    mal_dw_port    = 52141

    mal_inst_dw_port = 33141

[mal_inst1]

    mal_inst_name  = CRM2

    mal_host       = 10.1.1.2

    mal_port       = 9236

    mal_inst_host  = 192.168.50.200

    mal_inst_port  = 5236

    mal_dw_port    = 52141

    mal_inst_dw_port = 33141

[mal_inst2]

    mal_inst_name = STD

    mal_host = 10.1.1.3

    mal_port = 9236

    mal_inst_host = 192.168.50.99

    mal_inst_port = 5236

    mal_dw_port = 52141

    mal_inst_dw_port = 33141

(3)修改dmwatcher.ini

#节点1

【dmwatcher.ini】

[GRP_RW]

    DW_TYPE           = GLOBAL

    DW_MODE           = MANUAL

    DW_ERROR_TIME     = 30

    INST_RECOVER_TIME = 60

    INST_ERROR_TIME   = 30

    INST_OGUID        = 453331

    INST_INI          = /dm8/dmdbms/crm1/dm.ini

    DCR_INI           = /dm8/dmdbms/dmdcr1.ini

    INST_AUTO_RESTART = 0

#节点2

【dmwatcher.ini】

[GRP_RW]

    DW_TYPE           = GLOBAL

    DW_MODE           = MANUAL

    DW_ERROR_TIME     = 30

    INST_RECOVER_TIME = 60

    INST_ERROR_TIME   = 30

    INST_OGUID        = 453331

    INST_INI          = /dm8/dmdbms/crm2/dm.ini

    DCR_INI           = /dm8/dmdbms/dmdcr2.ini

    INST_AUTO_RESTART = 0

(4)注册守护服务

#节点1

cd /dm8/script/root

./dm_service_installer.sh -t dmwatcher -p CRM1 -watcher_ini /dm8/dmdbms/dmwatcher.ini

#节点2

cd /dm8/script/root

./dm_service_installer.sh -t dmwatcher -p CRM2 -watcher_ini /dm8/dmdbms/dmwatcher.ini

(5)修改主备参数

--DSC两节点修改

disql SYSDBA/SYSDBA

alter database mount;

sp_set_oguid(453331);

alter database primary;

alter database open force;

(6)全量备份数据库

--关闭DSC两节点服务

su - dmdba

/dm8/bin/DmCSSServicecss1 stop

/dm8/bin/DmCSSServicecss2 stop

--修改DBserver启动参数

#节点1

vi /dm8/dmdbms/dmdcr1.ini

DMDCR_DB_RESTART_INTERVAL = 0

#节点2

vi /dm8/dmdbms/dmdcr2.ini

DMDCR_DB_RESTART_INTERVAL = 0

--使用脚本启动dmcss和asm服务

/dm8/bin/DmCSSServicecss1 start

/dm8/bin/DmCSSServicecss2 start

--在节点1上备份数据库

./dmrman use_ap=2 dcr_ini=/dm8/dmdbms/dmdcr1.ini

backup database '/dm8/dmdbms/crm1/dm.ini' full backupset '/dm8/backup';

(7)修改其他参数

#节点1

find /dm8/dmdbms/crm1/ -type f -name "dm.ini" | xargs sed -i 's/ALTER_MODE_STATUS               = 1/ALTER_MODE_STATUS               = 0/g'

find /dm8/dmdbms/crm1/ -type f -name "dm.ini" | xargs sed -i 's/ENABLE_OFFLINE_TS               = 1/ENABLE_OFFLINE_TS               = 2/g'

vi /dm8/dmdbms/dmdcr1.ini

DMDCR_DB_RESTART_INTERVAL = 30

#节点2

find /dm8/dmdbms/crm2/ -type f -name "dm.ini" | xargs sed -i 's/ALTER_MODE_STATUS               = 1/ALTER_MODE_STATUS               = 0/g'

find /dm8/dmdbms/crm2/ -type f -name "dm.ini" | xargs sed -i 's/ENABLE_OFFLINE_TS               = 1/ENABLE_OFFLINE_TS               = 2/g'

vi /dm8/dmdbms/dmdcr2.ini

DMDCR_DB_RESTART_INTERVAL = 30

--重启服务

/dm8/bin/DmCSSServicecss1 restart

/dm8/bin/DmCSSServicecss2 restart

2、备库STD配置修改

(1)初始化数据库

cd /dm8/bin

./dminit CONTROL=/dm8/dmdbms/dm_init.ini

(2)添加dmarch.ini和dmmal.ini参数文件

【dmarch.ini】

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = CRM1/CRM2

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /dm8/archlog/STD

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 10240

#dmmal.ini文件同DSC节点

(3)添加dmwatcher.ini参数文件

【dmwatcher.ini】

[GRP_RW]

    DW_TYPE           = GLOBAL

    DW_MODE           = MANUAL

    DW_ERROR_TIME     = 30

    INST_RECOVER_TIME = 60

    INST_ERROR_TIME   = 30

    INST_OGUID        = 453331

    INST_INI          = /dm8/data/STD/dm.ini

    INST_AUTO_RESTART = 0

(4)注册服务

cd /dm8/script/root

./dm_service_installer.sh -t dmwatcher -p STD -watcher_ini /dm8/data/STD/dmwatcher.ini

./dm_service_installer.sh -t dmserver -p STD -dm_ini /dm8/data/STD/dm.ini

(5)还原数据库

su - dmdba

/dm8/bin/dmrman CTLSTMT="restore database '/dm8/data/STD/dm.ini' from backupset '/dm8/backup/';"

/dm8/bin/dmrman CTLSTMT="recover database '/dm8/data/STD/dm.ini' update DB_MAGIC;"

(6)修改其他参数

/dm8/bin/DmServiceSTD start

disql SYSDBA/SYSDBA

alter database mount;

sp_set_oguid(453331);

alter database standby;

alter database open;

find /dm8/data/STD/ -type f -name "dm.ini" | xargs sed -i 's/MAL_INI                         = 0/MAL_INI                         = 1/g'

find /dm8/data/STD/ -type f -name "dm.ini" | xargs sed -i 's/ALTER_MODE_STATUS               = 1/ALTER_MODE_STATUS               = 0/g'

find /dm8/data/STD/ -type f -name "dm.ini" | xargs sed -i 's/ENABLE_OFFLINE_TS               = 1/ENABLE_OFFLINE_TS               = 2/g'

3、监视器

【dmmonitor.ini】

MON_DW_CONFIRM = 1

MON_LOG_PATH = /home/dmdba/dmdbms/log

MON_LOG_INTERVAL = 60

MON_LOG_FILE_SIZE = 32

MON_LOG_SPACE_LIMIT = 0

[GRP_RW]

 MON_INST_OGUID = 453331

 MON_DW_IP = 10.1.1.1:52141/10.1.1.2:52141

 MON_DW_IP = 10.1.1.3:52141

【dmcssm.ini】

CSSM_OGUID = 63635

CSSM_CSS_IP = 10.1.1.1:9341

CSSM_CSS_IP = 10.1.1.2:9341

CSSM_LOG_PATH =/home/dmdba/dmdbms/log

CSSM_LOG_FILE_SIZE = 1024

CSSM_LOG_SPACE_LIMIT = 1024

./dmcssm ini_path=/dm8/config/dmcssm.ini

./dmmonitor /dm8/config/dmmonitor.ini

更多技术内容请访问社区:https://eco.dameng.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值