DSC+DW自动安装工具

server/2024/9/24 5:30:02/

DSC+DW自动安装工具

本次进行DSC+DW的自动安装工具的使用,这里先安装一份两节点的DSC集群。

1.前期准备

1.1环境准备

  • 数据库安装
    • 两个节点上都得安装好DM数据库,暂时不用初始化实例,版本、安装路径都要一致
  • 操作系统
    • 两个都是使用的CentOS7

1.2端口规划

实例名DB_INST_PORTDB_MAL_PORTDCR_CHECK_PORTASM_MAL_PORTASM_DCR_EP_PORTCSS_DCR_EP_PORTMAL_DW_PORTMAL_INST_DW_PORT
DSC152361246125612661276128635672176
DSC252361246125612661276128635672176

1.3服务器规划

实例名公网IP内网IP安装路径
DSC1192.168.19.13010.10.10.7/home/dmdba/config_dsc
DSC2192.168.19.13710.10.10.4/home/dmdba/config_dsc

1.4共享磁盘规划

  • 这里可以参考 https://blog.csdn.net/weixin_44559140/article/details/125365230?spm=1001.2014.3001.5502 文章。

2.自动化工具部署

2.1上传部署工具

  • 上传到第一个节点上,解压,并将所属用户修改为dmdba

2.2配置文件dm8_dsc.conf

  • 打开dm8_dsc.conf,修改相应的内容

    #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启动程序,输入配置文件进行部署执行

    [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,并插入数据,提交

    SQL> 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

    SQL> select * from test;
    

    在这里插入图片描述

自此,使用自动安装工具进行DSC集群搭建成功!

参考

  • 达梦在线服务平台-- https://eco.dameng.com/document/dm/zh-cn/pm/index.html
  • 参考文章-- https://blog.csdn.net/weixin_45260302/article/details/126828310

http://www.ppmy.cn/server/115578.html

相关文章

Debian 包管理工具apt使用

apt基本用法 apt(Advanced Package Tool)是Debian及其衍生发行版(如Ubuntu、Linux Mint等)中非常强大的软件包管理系统。它允许用户从远程仓库安装、更新、升级、配置和卸载软件包。除了我们已经讨论过的卸载软件包的功能外&…

STM32-UART配置注释

void MX_USART1_UART_Init(void) { /* USER CODE BEGIN USART1_Init 0 */ // 这里是用户代码的开始部分,可以在这里添加任何初始化之前的自定义代码 // 但在这个例子中,它是空的 /* USER CODE END USART1_Init 0 */ /* 配置USART1的硬件参数 */ …

Windows下Python和PyCharm的应用(二)__快捷键方式的设定

前言 程序写久了,难免会形成自己的编程习惯。比如对某一套快捷键的使用,已经形成了肌肉记忆。 为了方便快捷键的使用,可以在PyCharm中设置自己喜欢的快捷键。 我比较习惯于微软Visual Studio的快捷键设置。(因为早些年VC开发用的…

13款常用AI编程工具

AI编程工具的选择和使用,主要取决于具体的项目需求、编程语言、以及AI任务的类型(如机器学习、自然语言处理、计算机视觉等)。下面是一些广泛使用的AI编程工具合集,涵盖了从开发、训练、到部署的各个环节: Jupyter Not…

AnyChart 数据可视化框架

AnyChart 数据可视化框架 AnyChart 是一个灵活的 JavaScript(HTML5、SVG、VML)图表框架,适合任何需要数据可视化的解决方案。 目录 下载并安装开始插件将 AnyChart 与 TypeScript 结合使用将 AnyChart 与 ECMAScript 6 结合使用技术集成贡献…

Linux进程间通信——人工实现管道,深度学习管道接口、特性、情况

前言:本节内容仍是管道, 上节内容我们学习了管道的原理。 这节内容将在原理的基础上, 讲解管道的编程, 特性,应用等等。 下面开始我们的学习吧。 ps:本节内容需要了解一些管道的原理, 希望友友们…

Ubuntu基本命令的熟悉和使用

Ubuntu基本命令的熟悉和使用 宣传一下自己的博客Ubuntu基本命令的熟悉和使用 为区分命令输入和返回,采用将终端的输出完全复制的策略 六个常用的终端命令 本篇仅介绍最常用的几个文件操作指令,对于其他的指令在使用时会补充介绍 序号命令对应英文作用01lslist查看当前文件夹…

sqlserver常用的sql命令

查看当前用户查看当前用户 select system_user检查SQL Agent是否开启 IF EXISTS ( SELECT TOP 1 1 FROM sys.sysprocesses WHERE program_name SQLAgent - Generic Refresher ) SELECT Running ELSE SELECT Not Running查看是否做了镜像 selecta.database_id,a.name 数据库…