DSC+DW自动安装工具
本次进行DSC+DW的自动安装工具的使用,这里先安装一份两节点的DSC集群。
1.前期准备
1.1环境准备
数据库安装
- 两个节点上都得安装好DM数据库,暂时不用初始化实例,版本、安装路径都要一致
操作系统
- 两个都是使用的CentOS7
1.2端口规划
实例名 | DB_INST_PORT | DB_MAL_PORT | DCR_CHECK_PORT | ASM_MAL_PORT | ASM_DCR_EP_PORT | CSS_DCR_EP_PORT | MAL_DW_PORT | MAL_INST_DW_PORT |
---|---|---|---|---|---|---|---|---|
DSC1 | 5236 | 1246 | 1256 | 1266 | 1276 | 1286 | 3567 | 2176 |
DSC2 | 5236 | 1246 | 1256 | 1266 | 1276 | 1286 | 3567 | 2176 |
1.3服务器规划
实例名 | 公网IP | 内网IP | 安装路径 |
---|---|---|---|
DSC1 | 192.168.19.130 | 10.10.10.7 | /home/dmdba/config_dsc |
DSC2 | 192.168.19.137 | 10.10.10.4 | /home/dmdba/config_dsc |
1.4共享磁盘规划
2.自动化工具部署
2.1上传部署工具
- 上传到第一个节点上,解压,并将所属用户修改为dmdba
2.2配置文件dm8_dsc.conf
-
打开dm8_dsc.conf,修改相应的内容
shell#groupadd dinstall #useradd -m -s /bin/bash -g dinstall dmdba #passwd dmdba #配置文件 [GLOBAL] DM_PATH = /home/dmdba/dmdbms #指dmdbms的安装路径,如/home/dmdba/dmdbms DB_PATH = /home/dmdba/config_dsc #DSC 节点的目录,里面存放控制文件、配置文件等 TEMP_PATH = #DSC 临时表空间目录,里面存放节点的临时表空间;若该值为空,则表示临时表空间存储在ASM上。 ARCH_PATH = /home/dmdba/dmdsc/dmarch/CNDT #本地归档、远程归档路径。当ARCH_INI_OPEN=1时指DSC的本地归档。当ARCH_INI_OPEN=3时,指备机DW的归档 BAK_PATH = /home/dmdba/dmdsc/dmbak/CNDT #DSC 节点数据库备份的默认路径 DCR_ASM_PATH = /dev/raw/raw1 #操作系统绑定的dcr路径,建议三层路径,第二层路径名称独立不重复 VOTE_ASM_PATH = /dev/raw/raw2 #操作系统绑定的vote路径,建议三层路径,第二层路径名称独立不重复 LOG_ASM_PATH = /dev/raw/raw3 #操作系统绑定的redo日志路径,对应磁盘组DMLOG,建议三层路径,第二层路径名称独立不重复 DATA_ASM_PATH = /dev/raw/raw4 #操作系统绑定的数据库数据文件路径,对应磁盘组DMDATA,建议三层路径,第二层路径名称独立不重复 ARCH_ASM_PATH = /dev/raw/raw4 #操作系统绑定的本地归档存储路径,只有ARCH_INI_OPEN=2/3时生效,其对应的磁盘组DMARCH,如值与DATA_ASM_PATH完全一致,归档将存储在磁盘组DMDATA上。 [ARCH] ARCH_INI_OPEN = 2 #是否开启DSC节点的本地归档,0不开启,1开启本地归档且放在本地,2开启本地归档且放在ASM,3:DSC+备机,并且dsc归档放在asm上。 ARCH_SPACE_LIMIT = 10240 #单个节点的本地归档或远程归档的大小空间限制,如是4节点DSC,则需要预留4*ARCH_SPACE_LIMIT的空间。 SSH_PORT = 22 #远程Linux服务器的ssh端口号,一般为22,某些客户出于安全考虑,会更改ssh的默认连接端口 [DSC_DMINIT] #初始化DSC实例的一些参数 DB_NAME = CNDT #实例名称 SYS_PATH = data #在ASM存储中的数据文件路径,注意大小写 SYSTEM_SIZE = 1024 #SYSTEM.dbf的大小 ROLL_SIZE = 10000 #Roll表空间的大小 MAIN_SIZE = 1024 #MAIN表空间的大小 CTL_SIZE = 8 #dm.ctl文件的大小 LOG_SIZE = 2048 #redo文件的大小,搭建集群完成后,通过17步骤扩大集群的redo文件到log_size大小。 AUTO_OVERWRITE = 1 #ASM中的同名文件是否覆盖 PAGE_SIZE = 16 #初始化实例时的页大小 EXTENT_SIZE = 16 #初始化实例时的簇大小 DB_SYSDBA_PWD = 1314520dsy #初始化数据库时的SYSDBA密码,包括后续修改SYSDBA密码后的一些运维操作 DB_INIT_PARA = CASE_SENSITIVE=1,UNICODE_FLAG=0 #其它初始化参数,需要什么参数按格式增加即可,多个参数以逗号隔开 [DSC_CONF] DCR_OGUID = 240830 #DCR的oguid,取6位数字即可,常用规律为当前日期 [DSC_PORT] #搭建集群时所用到的各个端口号 DB_INST_PORT = 5236 #DSC实例端口号,端口号建议4位 DB_MAL_PORT = 1246 #DSC实例的MAL通信端口号,端口号建议4位 DCR_CHECK_PORT = 1256 #DCR 检查端口号。检查实例是否活动的时候用,各实例不能冲突,故该端口会随着实例自动+1,端口号建议4位 ASM_MAL_PORT = 1266 #ASM 通信的端口号,端口号建议4位 ASM_DCR_EP_PORT = 1276 #ASM 节点 TCP 监听端口。各实例不能冲突,故该端口会随着实例自动+1,端口号建议4位 CSS_DCR_EP_PORT = 1286 #CSS 节点 TCP 监听端口,端口号建议4位 [DSC_TIME] #DSC集群一些心跳故障认证时间 DB_DCR_GRP_DSKCHK_CNT = 57 #心跳,DSC DB 故障认定时间 ASM_DCR_GRP_DSKCHK_CNT = 61 #心跳,DSC ASM 故障认定时间 CSS_DCR_GRP_DSKCHK_CNT = 65 #心跳,DSC CSS 故障认定时间 DMDCR_ASM_RESTART_INTERVAL = 71 #DMCSS 认定 DMASM 节点故障重启的时间间隔(取值 0~86400s),0则不会执行拉起 DMDCR_DB_RESTART_INTERVAL = 0 #DMCSS 认定 DMDSC 节点故障重启的时间间隔(取值 0~86400s),0则不会执行拉起 DMDCR_AUTO_OPEN_CHECK = 111 #指定时间内如果节点实例未启动,DMCSS 会自动将节点踢出集群环境,单位为秒 MAL_CHECK_INTERVAL = 87 #MAL 链路检测时间间隔,取值范围(0s-1800s)为了防止误判,DMDSC 集群中,建议将配置值>= DB_DCR_GRP_DSKCHK_CNT。 MAL_CONN_FAIL_INTERVAL = 33 #判定 MAL 链路断开的时间,取值范围(2s-1800s) [ASM] DCR_EP_SHM_KEY = 42424 #共享内存标识,不同实例的该值不一样,故该端口会随着实例自动+1 DCR_EP_SHM_SIZE = 200 #共享内存大小 ASM_DCR_PWD = 1314520dsy #初始化DCR时的密码 [DataWatcher] #该组参数只有在ARCH_INI_OPEN=3时生效,表示搭建DSC+单机备机 DW_PATH = /home/dmdba/dmdbms #备机的DM路径 DATA_PATH = /home/dmdba/dmdbms/data/DSC #备机数据库数据文件路径,根据实际修改,但要确保该目录只为该集群所用。 MAL_DW_PORT = 3567 #dmmal.ini中的MAL_DW_PORT端口,用于集群中所有守护进程、监视器的通信,端口号建议4位 MAL_INST_DW_PORT = 2176 #DM8的参数,数据守护4.0,端口号建议4位 DB_OGUID = 1000 #建议修改#OGUID,代表集群的唯一标识,表示数据库的OGUID DW_TYPE = REALTIME #搭建的集群类型:即时归档:TIMELY;实时归档:REALTIME,如无特殊需求,建议用REALTIME DW_MODE = MANUAL #集群的故障切换模式:自动切换(AUTO),非自动切换(MANUAL) ASYNC_NODE = 1 #异步备机的数量,取值0-8。始终从最后的NODE为异步备机,如只有2NODE,则表示1主1异步备机。 AUTO_RESTART = 1 #实例自动重启,1表示自动重启,0表示不自动重启,仅针对备机有效,对DSC无效 INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间 INST_ERROR_TIME = 120 #本地数据库故障认定时间 DW_ERROR_TIME = 120 #远程主(备)机守护进程故障认定时间 ARCH_WAIT_APPLY = 0 #高性能模式为0,事务强一致模式为1 ARCH_FLUSH_BUF_SIZE = 0 #写本地归档时,合并rlog为多少M再写。202009月度版才支持,之前版本该值需要设置为0. [MAIL]#一般不用改参数,以128GB内存为例 MAL_SYS_BUF_SIZE=6000 MAL_BUF_SIZE=3000 MAL_VPOOL_SIZE=5000 MAL_COMPRESS_LEVEL=0 #各节点配置 [DSC1] DSC_MAL_HOST = 10.10.10.7 #内网IP DSC_INST_HOST = 192.168.19.130 #外网IP DSC_INST_UID = dmdba DSC_INST_PWD = 1314520dsy [DSC2] DSC_MAL_HOST = 10.10.10.4 DSC_INST_HOST = 192.168.19.137 DSC_INST_UID = dmdba DSC_INST_PWD = 1314520dsy #[NODE]、[MONITOR]在ARCH_INI_OPEN=3时生效,表示搭建DSC+单机备机 [NODE1] DB_MAL_HOST = 10.10.10.2 #内网IP DB_INST_HOST = 192.168.19.139 #外网IP DB_INST_UID = dmdba DB_INST_PWD = 1314520dsy [NODE2] DB_MAL_HOST = 10.10.10.8 DB_INST_HOST = 192.168.19.142 DB_INST_UID = dmdba DB_INST_PWD = 1314520dsy [MONITOR] #确认监视器,需要独立的机器 MON_MAL_HOST = 192.168.18.21 #内网IP MON_INST_HOST = 192.168.104.21 #外网IP MON_INST_UID = dmdba MON_INST_PWD = hust44001
2.3部署过程
-
使用Python启动程序,输入配置文件进行部署执行
shell[dmdba@192 4_dm8_dsc_dw]$ python dm8_dsc.py 请输入配置文件: dm8_dsc.conf 部署集群:2节点DSC环境,本地归档存储在ASM。 DM8_DSC>
-
执行步骤h查看帮助信息
-
执行步骤01,SSH连接各机器
- 这里注意,输入完01后弹出(y/n)不要输入任何东西;在完成后再输入一次01才算是成功连接
-
执行步骤02,测试网络互通
-
执行步骤03,搭建DSC
-
报错:启动服务器失败
-
原因:这里我发现是在创建数据库时,ROLL表空间创建失败
- 然后我去配置文件看了下,是我给ROLL表空间的空间太大,直接超过了磁盘的大小,所以创建失败。
-
解决方法:调整ROLL表空间大小,给到适量的大小即可,然后重新执行步骤03
- 成功启动
-
-
-
执行步骤07,一键关闭集群
-
执行步骤06,一键启动集群(这么做是看集群是否真的配置好了,不至于关了之后就用不了了)
-
执行步骤q退出部署工具
3.测试集群功能可用性
-
在节点DSC1中创建表test,并插入数据,提交
SQLSQL> create table test(id number ,name varchar2(20)); SQL> insert into test values(1,'dmdsc'); SQL> insert into test values(2,'dmdw'); SQL> commit;
-
在节点DSC2中查询表test
SQLSQL> select * from test;
自此,使用自动安装工具进行DSC集群搭建成功!