注册
部署DSC
专栏/技术分享/ 文章详情 /

部署DSC

不夜侯 2026/07/24 62 0 0
摘要

虚拟机共享磁盘准备(VMware)

DSC1服务器一共创建四个磁盘,大小分别为1G(DCR),1G(VOTE),2G(RLOG),8G(DATA)。操作如下:
关闭虚拟机–>编辑虚拟机设置–>添加–>硬盘–>SCSI–>创建新的虚拟磁盘–>1G-立即分配-存储为单个文件–>选择存放位置以及改名–>完成。
DSC2服务器需要基于DSC1服务器创建的四个磁盘进行添加,操作如下:
关闭虚拟机–>编辑虚拟机设置–>添加–>硬盘–>SCSI–>使用现有的虚拟磁盘(选择服务器1里刚刚创建的虚拟磁盘)–>浏览选择磁盘–>完成。
image.png

虚拟机配置文件修改

找到虚拟机安装位置,编辑101虚拟机的参数文件101.vmx和102虚拟机的参数文件102.vmx:
添加以下内容

diskLib.dataCacheMaxSize=0
diskLib.dataCacheMaxReadAheadSize=0
diskLib.dataCacheMinReadAheadSize=0
diskLib.dataCachePageSize=4096
diskLib.maxUnsyncedWrites = "0"
disk.locking = "FALSE"
scsi0.sharedBus ="virtual"
disk.EnableUUID = "TRUE"

image.png

Udev绑定

查看磁盘

fdisk -l

image.png

查看磁盘的UUID

单个查
/usr/lib/udev/scsi_id -g -u /dev/sdb 

多个一起查
for i in  b c d e;
do
echo  /dev/sd$i
/usr/lib/udev/scsi_id -g -u /dev/sd$i
done

image.png

通过UUID绑定磁盘

vi /etc/udev/rules.d/88-dmdevices.rules

KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29faa8c82c76da31c80c2c19981", SYMLINK+="ASMDISK/dmdcr",OWNER="dmdba", GROUP="dmdba",MODE="0660"
KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2997c0c650aeb0b2e8bdae2ec7d", SYMLINK+="ASMDISK/dmvote",OWNER="dmdba", GROUP="dmdba",MODE="0660"
KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c297af19c3bb49109f50c50ad0cf", SYMLINK+="ASMDISK/dmredo",OWNER="dmdba", GROUP="dmdba",MODE="0660"
KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29f797c1e1ca49d856ab9c86fdb", SYMLINK+="ASMDISK/dmdata",OWNER="dmdba", GROUP="dmdba",MODE="0660"

生效

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

查看

ls -l /dev/ASMDISK

image.png

安装

修改临时安装目录

mkdir -p /home/dmdba/dm_tmp
# 设置环境变量
export DM_INSTALL_TMPDIR=/home/dmdba/dm_tmp

安装
./DMInstall.bin  -i

开始DMDSC部署

配置dmdcr_cfg.ini

su dmdba
mkdir  /data/dm8/dmdbms/config
vim  /data/dm8/dmdbms/config/dmdcr_cfg.ini
DCR_N_GRP                       = 3
DCR_VTD_PATH                    =/dev/ASMDISK/dmvote
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.247.137
        DCR_EP_PORT             = 11286
[GRP_CSS]
        DCR_EP_NAME             = CSS1
        DCR_EP_HOST             = 192.168.247.139
        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          = 93360
        DCR_EP_SHM_SIZE         = 10
        DCR_EP_HOST             = 192.168.247.137
        DCR_EP_PORT             = 11276
        DCR_EP_ASM_LOAD_PATH    =/dev/ASMDISK
[GRP_ASM]
        DCR_EP_NAME             = ASM1
        DCR_EP_SHM_KEY          = 93361
        DCR_EP_SHM_SIZE         = 10
        DCR_EP_HOST             = 192.168.247.139
        DCR_EP_PORT             = 11276
        DCR_EP_ASM_LOAD_PATH    =/dev/ASMDISK
        
[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 = 5237
        DCR_CHECK_PORT = 11256
[GRP_DSC]
        DCR_EP_NAME             = DSC1
        DCR_EP_SEQNO = 1
        DCR_EP_PORT = 5237
        DCR_CHECK_PORT = 11257

初始化磁盘

在任意节点配置执行

cd /data/dm8/dmdbms/bin
./dmasmcmd
create dcrdisk '/dev/ASMDISK/dmdcr' 'DMDCR'
create votedisk '/dev/ASMDISK/dmvote' 'DMVOTE'
create asmdisk '/dev/ASMDISK/dmredo' 'DMREDO'
create asmdisk '/dev/ASMDISK/dmdata' 'DMDATA'
init dcrdisk '/dev/ASMDISK/dmdcr' from '/data/dm8/dmdbms/config/dmdcr_cfg.ini' identified by 'Dameng123'
init votedisk '/dev/ASMDISK/dmvote' from '/data/dm8/dmdbms/config/dmdcr_cfg.ini'

配置dmasvrmal.ini

两台服务器都配置dmasvrmal.ini

su dmdba
vim /data/dm8/dmdbms/config/dmasvrmal.ini
[MAL_INST1]
    MAL_INST_NAME              = ASM0
    MAL_HOST                    = 192.168.247.137
    MAL_PORT                    = 11266
[MAL_INST2]
    MAL_INST_NAME              = ASM1
    MAL_HOST                    = 192.168.247.139
    MAL_PORT                    = 11266

配置dmdcr.ini

DSC1使用dmdba用户配置dmdcr.ini

vim /data/dm8/dmdbms/config/dmdcr.ini
DMDCR_PATH     =/dev/ASMDISK/dmdcr
DMDCR_MAL_PATH =/data/dm8/dmdbms/config/dmasvrmal.ini  
DMDCR_SEQNO   = 0

#DMDCR_ASM_RESTART_INTERVAL = 30
#DMDCR_ASM_STARTUP_CMD      = /data/dm8/dmdbms/bin/DmASMSvrServiceASM start
#DMDCR_DB_RESTART_INTERVAL  = 60
#DMDCR_DB_STARTUP_CMD       = /data/dm8/dmdbms/bin/DmServiceDMS start
#DMDCR_ASM_RESTART_INTERVAL = 30
#DMDCR_ASM_STARTUP_CMD = /dmdbms/bin/dmasmsvr DCR_INI=/dmdbms/config/dmdcr.ini

#DMDCR_DB_RESTART_INTERVAL = 60
#DMDCR_DB_STARTUP_CMD = /dmdbms/bin/dmserver PATH=/dmdbms/dmdata/dsc0_config/dm.ini 
#DCR_INI=/data/dm8/dmdbms/config/dmdcr.ini

DSC2使用dmdba用户配置dmdcr.ini(注意DCR_SEQNO)

DMDCR_PATH     =/dev/ASMDISK/dmdcr
DMDCR_MAL_PATH =/data/dm8/dmdbms/config/dmasvrmal.ini  
DMDCR_SEQNO   = 1

DMDCR_ASM_RESTART_INTERVAL = 30
DMDCR_ASM_STARTUP_CMD      = /data/dm8/dmdbms/bin/DmASMSvrServiceASM start
DMDCR_DB_RESTART_INTERVAL  = 60
DMDCR_DB_STARTUP_CMD       = /data/dm8/dmdbms/bin/DmServiceDMS start

#DMDCR_ASM_RESTART_INTERVAL = 30
#DMDCR_ASM_STARTUP_CMD = /dmdbms/bin/dmasmsvr DCR_INI=/dmdbms/config/dmdcr.ini

#DMDCR_DB_RESTART_INTERVAL = 60
#DMDCR_DB_STARTUP_CMD = /dmdbms/bin/dmserver PATH=/dmdbms/dmdata/dsc0_config/dm.ini 
#DCR_INI=/data/dm8/dmdbms/config/dmdcr.ini

两台服务器都使用root用户注册CSS和ASM服务

 /data/dm8/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /data/dm8/dmdbms/config/dmdcr.ini -p CSS
/data/dm8/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /data/dm8/dmdbms/config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM

两台服务器分别顺序启动CSS、ASM服务

Su dmdba
DSC1服务器:

/data/dm8/dmdbms/bin/DmCSSServiceCSS start

DSC2服务器:

/data/dm8/dmdbms/bin/DmCSSServiceCSS start

DSC1服务器:

/data/dm8/dmdbms/bin/DmASMSvrServiceASM start

DSC2服务器:

/data/dm8/dmdbms/bin/DmASMSvrServiceASM start

创建DMASM磁盘组

任一机器,dmdba用户执行

/data/dm8/dmdbms/bin/dmasmtool  DCR_INI=/data/dm8/dmdbms/config/dmdcr.ini
create diskgroup 'DM_REDO' asmdisk '/dev/ASMDISK/dmredo'
create diskgroup 'DM_DATA' asmdisk '/dev/ASMDISK/dmdata'

初始化数据库

DSC1服务器配置dminit.ini用于数据库初始化

[dmdba@dsc1 ~]$ vi /data/dm8/dmdbms/config/dminit.ini
        #注意REDO文件大小和数量
[dmdba@dsc1 ~]$ cat /data/dm8/dmdbms/config/dminit.ini
db_name                  = DSC
  system_path              = +DM_DATA/DATA
  main                     = +DM_DATA/DATA/DSC/main.dbf
  main_size                = 128
  roll                     = +DM_DATA/DATA/DSC/roll.dbf
  roll_size                = 128
  system                   = +DM_DATA/DATA/DSC/system.dbf
  system_size              = 128
  ctl_path                 = +DM_DATA/DATA/DSC/dm.ctl
  ctl_size                 = 8
  log_size                 = 256
  dcr_path                 = /dev/ASMDISK/dmdcr
  dcr_seqno                = 0
  auto_overwrite           = 1
  PAGE_SIZE                = 32
  EXTENT_SIZE                  = 32
  CASE_SENSITIVE           = Y
  CHARSET                  = 0
  BLANK_PAD_MODE           = 1
  SYSDBA_PWD               = *
  SYSAUDITOR_PWD            = *
[DSC0]
  config_path              = /data/dm8/dmdbms/config/db0_config
  port_num                 = 5237
  mal_host                 = 192.168.247.137  #心跳地址
  mal_port                 = 11246
  log_path                 = +DM_REDO/log/db0_log01.log
  log_path                 = +DM_REDO/log/db0_log02.log
  log_path                 = +DM_REDO/log/db0_log03.log
[DSC1]
  config_path              = /data/dm8/dmdbms/config/db1_config
  port_num                 = 5237
  mal_host                 = 192.168.247.139 #心跳地址
  mal_port                 = 11246
  log_path                 = +DM_REDO/log/db1_log01.log
  log_path                 = +DM_REDO/log/db1_log02.log
  log_path                 = +DM_REDO/log/db1_log03.log

DSC1服务器初始化数据库

/data/dm8/dmdbms/bin/dminit control=/data/dm8/dmdbms/config/dminit.ini

image.png

从DSC1服务器将配置文件传输到DSC2

注:初始化数据库完成之后,将31节点上生成的dsc1_config文件拷贝到32的/dmdbms/dmdata目录下,然后将31上/dmdbms/dmdata目录下的dsc1_config文件夹删除掉。

scp -r /data/dm8/dmdbms/config/db1_config/ dmdba@192.168.247.131:/data/dm8/dmdbms/config

从DSC1服务器将配置文件传输到DSC2

注:初始化数据库完成之后,将31节点上生成的dsc1_config文件拷贝到32的/dmdbms/dmdata目录下,然后将31上/dmdbms/dmdata目录下的dsc1_config文件夹删除掉。

scp -r /data/dm8/dmdbms/config/db1_config/ dmdba@192.168.247.131:/data/dm8/dmdbms/config

配置dmcssm.ini

两台服务器均配置此参数文件

vim /data/dm8/dmdbms/config/dmcssm.ini
CSSM_OGUID                 = 45331    #端口要和dmdcr_cfg.ini对的上
CSSM_CSS_IP                = 192.168.247.131:5337
CSSM_CSS_IP                = 192.168.247.131:5337
CSSM_LOG_PATH              = /data/dm8/dmdbms/log
CSSM_LOG_FILE_SIZE         = 256
CSSM_LOG_SPACE_LIMIT       = 2048

开启归档

配置DSC1归档

修改DSC1数据库的配置文件

vim /data/dm8/dmdbms/config/db0_config/dm.ini
        #修改ARCH_INI的值为1(默认值为0)

配置DSC1的归档

vim /data/dm8/dmdbms/config/db0_config/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DM_DATA/DSC0/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 102400
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH = +DM_DATA/DSC1/arch
ARCH_FILE_SIZE = 1024

配置DSC2归档

修改DSC2数据库的配置文件

vim /data/dm8/dmdbms/config/db1_config/dm.ini
        #修改ARCH_INI的值为1(默认值为0)

配置DSC2的归档(注意路径的区别)

vim /data/dm8/dmdbms/config/db1_config/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DM_DATA/DSC1/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 102400
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_INCOMING_PATH = +DM_DATA/DSC0/arch
ARCH_FILE_SIZE = 1024

注册DMSERVER服务

DSC1基于DMASMSvrServiceASM.service注册DMSERVER服务

/data/dm8/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /data/dm8/dmdbms/config/db0_config/dm.ini -dcr_ini /data/dm8/dmdbms/config/dmdcr.ini -y DmASMSvrServiceASM.service -p DMS

DSC2基于DMASMSvrServiceASM.service注册DMSERVER服务

/data/dm8/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /data/dm8/dmdbms/config/db1_config/dm.ini -dcr_ini /data/dm8/dmdbms/config/dmdcr.ini -y DmASMSvrServiceASM.service -p DMS

调整DCR配置,设置自动启动服务

配置dmdcr.ini
vim /data/dm8/dmdbms/config/dmdcr.ini #解开后四行注释

DMDCR_ASM_RESTART_INTERVAL = 30
DMDCR_ASM_STARTUP_CMD      = /data/dm8/dmdbms/bin/DmASMSvrServiceASM start
DMDCR_DB_RESTART_INTERVAL  = 60
DMDCR_DB_STARTUP_CMD       = /data/dm8/dmdbms/bin/DmServiceDMS start

通过监视器查看服务状态

./DmServiceDMS start
/data/dm8/dmdbms/bin/dmcssm ini_path=/data/dm8/dmdbms/config/dmcssm.ini
show
image.png
登录数据库

./disql SYSDBA/'"*"'@192.168.247.130:5237

业务读写共享测试(最直观验证集群共享)

  1. DSC0(192.168.247.130)执行建表插入
CREATE TABLE TEST_DSC(id INT,name VARCHAR(20));
INSERT INTO TEST_DSC VALUES(1,'DSC集群测试');
COMMIT;
SELECT * FROM TEST_DSC;
  1. 新开窗口登录 DSC1(192.168.247.131)查询
SELECT * FROM TEST_DSC;
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服