sudo systemctl disable firewalld
sudo vi /etc/selinux/config
#修改如下内容
SELINUX=disabled
两台机器均执行以下内容,默认使用root用户:
#创建组
groupadd dinstall
#执行以下命令,新建用户 dmdba:
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
#执行以下命令,修改 dmdba 用户密码:
passwd dmdba
#输入密码并确认。
#执行以下命令,修改 dmdba 用户资源限制:
vim /etc/security/limits.conf
#文件末尾添加如下内容:
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft stack 65536
dmdba hard stack 65536
#执行以下命令,修改 dmdba 用户环境变量:
vi /home/dmdba/.bash_profile
#文件末尾添加如下内容:
export DM_HOME=/home/dmdba/dmdbms
export PATH=$PATH:$DM_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin
mkdir /home/dmdba/dmdbms/data
disk.locking="FALSE"
disk.EnableUUID="TRUE"
lsblk
fdisk /dev/sdb
然后输入n、p、1、回车、+1G完成第一块分区设置,完成后继续输入n、p、2、回车、+1G完成第二块分区设置,继续输入n、p、3、回车、+10G完成第三块分区设置,最后输入n、p、1、回车、回车完成第四块分区设置。 磁盘划分完毕,使用lsblk命令可以查看磁盘划分完毕;
这时登陆另一台虚拟机可以发现已划分完毕的磁盘。
4. 两台虚拟机都编辑文件
vim /etc/udev/rules.d/80-raw.rules
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=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"
至此,准备工作执行完毕
vi /home/dmdba/dmdbms/data/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
#按照自己两个节点的ip修改
DCR_EP_HOST = 192.168.253.153
DCR_EP_PORT = 9341
[GRP_CSS]
DCR_EP_NAME = CSS1
#按照自己两个节点的ip修改
DCR_EP_HOST = 192.168.253.154
DCR_EP_PORT = 9343
[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
#按照自己两个节点的ip修改
DCR_EP_HOST = 192.168.253.153
DCR_EP_PORT = 9349
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP_ASM]
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 10
#按照自己两个节点的ip修改
DCR_EP_HOST = 192.168.253.154
DCR_EP_PORT = 9351
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_CHECK_PORT = 9741
DCR_EP_PORT = 5238
[GRP_DSC]
DCR_EP_NAME = DSC1
DCR_EP_SEQNO = 1
DCR_CHECK_PORT = 9742
DCR_EP_PORT = 5238
cd /home/dmdba/dmdbms/bin
./dmasmcmd
ASM>create dcrdisk '/dev/raw/raw1' 'dcr'
ASM>create votedisk '/dev/raw/raw2' 'vote'
ASM>create asmdisk '/dev/raw/raw3' 'LOG0'
ASM>create asmdisk '/dev/raw/raw4' 'DATA0'
ASM>init dcrdisk '/dev/raw/raw1' from '/home/dmdba/dmdbms/data/dmdcr_cfg.ini' identified by 'DMdba123456'
ASM>init votedisk '/dev/raw/raw2' from '/home/dmdba/dmdbms/data/dmdcr_cfg.ini'
vi /home/dmdba/dmdbms/data/dmasvrmal.ini
[MAL_INST1]
MAL_INST_NAME = ASM0
#按照自己两个节点的ip修改
MAL_HOST = 192.168.253.153
MAL_PORT = 7236
[MAL_INST2]
MAL_INST_NAME = ASM1
#按照自己两个节点的ip修改
MAL_HOST = 192.168.253.154
MAL_PORT = 7237
vi /home/dmdba/dmdbms/data/dmdcr.ini #节点一
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/dmdbms/data/dmasvrmal.ini
#dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 20 #为0时不自动拉起
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dmdbms/data/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 20 #为0时不自动拉起
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dmdbms/data/dsc0_config/dm.ini dcr_ini=/home/dmdba/dmdbms/data/dmdcr.ini
vi /home/dmdba/dmdbms/data/dmdcr.ini #节点二
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/dmdbms/data/dmasvrmal.ini
#dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 1
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 20 #为0时不自动拉起
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dmdbms/data/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 20 #为0时不自动拉起
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dmdbms/data/dsc1_config/dm.ini dcr_ini=/home/dmdba/dmdbms/data/dmdcr.ini
至此,DSC配置完毕。
./dmcss DCR_INI=/home/dmdba/dmdbms/data/dmdcr.ini
注意观察两节点css、asm程序是否均正常启动,若未正常启动,则后续实例化数据库无法执行成功,未正常启动很有可能是配置文件中网络ip或其他地方设置错误,或者两节点未关闭防火墙或者selinux服务,或者两节点网络通信不正常,可逐一排查。
./dmasmtool DCR_INI=/home/dmdba/dmdbms/data/dmdcr.ini
ASM>create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
ASM>create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
vi /home/dmdba/dmdbms/data/dminit.ini
db_name = dsc
system_path = +DMDATA/data
system = +DMDATA/data/dsc/system.dbf
system_size = 128
roll = +DMDATA/data/dsc/roll.dbf
roll_size = 128
main = +DMDATA/data/dsc/main.dbf
main_size = 128
ctl_path = +DMDATA/data/dsc/dm.ctl
ctl_size = 8
log_size = 256
dcr_path = /dev/raw/raw1
dcr_seqno = 0
auto_overwrite = 1
page_size = 16
#以下两个密码可以自己调整
SYSDBA_PWD=DMdba123456
SYSAUDITOR_PWD=DMdba123456
[DSC0]
config_path = /home/dmdba/dmdbms/data/dsc0_config
port_num = 5238
#按照自己两个节点的ip修改
mal_host = 192.168.253.153
mal_port = 9340
log_path = +DMLOG/log/dsc0_log01.log
log_path = +DMLOG/log/dsc0_log02.log
[DSC1]
config_path = /home/dmdba/dmdbms/data/dsc1_config
port_num = 5238
#按照自己两个节点的ip修改
mal_host = 192.168.253.154
mal_port = 9341
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log
然后通过 dminit 初始化库
./dminit control=/home/dmdba/dmdbms/data/dminit.ini
以下截图为初始化成功,若报ASM连接错误,则排查集群CSS服务和ASM服务是否启动成功。
初始化后 data 目录下会生成 dsc0_config 和 dsc1_config 两个文件,将 dsc1_config 文件复制到节点二的 data 目录下 使用dmdba用户分别进入 $DM_HOME/bin,执行以下命令:
./dmserver /home/dmdba/dmdbms/data/dsc0_config/dm.ini dcr_ini=/home/dmdba/dmdbms/data/dmdcr.ini #节点一启动
./dmserver /home/dmdba/dmdbms/data/dsc1_config/dm.ini dcr_ini=/home/dmdba/dmdbms/data/dmdcr.ini #节点二启动
以下有两种方式查看 DSC 集群情况:
两个节点都需要操作,使用 root 用户执行,到数据库安装目录的 script/root 目录下:
#节点 1 执行以下命令
./dm_service_installer.sh -t dmcss -p css1 -dcr_ini /home/dmdba/dmdbms/data/dmdcr.ini
#节点 2 执行以下命令
./dm_service_installer.sh -t dmcss -p css2 -dcr_ini /home/dmdba/dmdbms/data/dmdcr.ini
#节点 1 执行以下命令
systemctl start DmCSSServicecss1
#节点 2 执行以下命令
systemctl start DmCSSServicecss2
3.相关命令
关闭数据库:监视器中执行 ep stop dsc
关闭 asm:监视器中执行 ep stop asm
关闭css:各节点关闭各自的 css 服务 systemctl stop DmCSSServicecss1/DmCSSServicecss2
启动 css: 各节点启动各自的 css 服务 systemctl start DmCSSServicecss1/DmCSSServicecss2
启动 asm:配置了自动拉起,等待 asm 自动启动
启动数据库:配置了自动拉起,等待数据库自动启动
vim /home/dmdba/dmdbms/data/dmcssm.ini
#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致
CSSM_OGUID = 63635
#配置所有 CSS 的连接信息,
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 192.168.253.153:9341
CSSM_CSS_IP = 192.168.253.154:9343
CSSM_LOG_PATH =/home/dmdba/dmdbms/log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32 MB
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
启动监视器,dmdba 用户执行,到数据库软件安装目录 bin 下执行以下命令:
./dmcssm ini_path=/home/dmdba/dmdbms/data/dmcssm.ini
然后输入show查看状态,确认集群状态正常