DSC+主备+异步备库搭建

DSC+主备+异步备库搭建

本次在DSC的基础上进行主备集群+异步备库的搭建,实现DSC+主备+异步备库的集合。

这里DMDSC集群是看做一个数据库服务(即DSC集群内的都叫主库),备库是一个单机实例

环境配置

服务器配置

在这里插入图片描述

端口配置

实例名PORT_NUMMAL_INST_DW_PORTMAL_HOSTMAL_PORTMAL_DW_PORT
DSC15236456710.10.10.792363567
DSC25236456810.10.10.492363568
DSC_beiku5236456910.10.10.292363569
DSC_yibu5236457010.10.10.892363570

操作系统及数据库配置

  • 操作系统:CentOS7.9
  • 数据库:dm8_20240408_x86_rh7_64

配置DMDSC主库环境

DMDSC搭建

  • 这里参考:http://t.csdnimg.cn/M8kSE
  • 搭建完之后,正常退出DMDSC集群的两个dmserver节点实例,不需要退出dmcss和dmasmsvr

配置dmarch.ini

  • 分别编辑两个DMDSC节点的dmarch.ini文件,增加本地归档和远程归档。

    • 配置DSC1的dmarch.ini文件

      vi /home/dmdba/config/dsc1/dmarch.ini 
      
      • 内容:

        ARCH_LOCAL_SHARE = 1
        
        [ARCHIVE_LOCAL1]
        	ARCH_TYPE = LOCAL 
        	ARCH_DEST = +DMDATA/DSC/DSC1/arch
        	ARCH_FILE_SIZE = 128 
        	ARCH_SPACE_LIMIT = 0 
        	
        [ARCHIVE_REMOTE]
        	ARCH_TYPE = REMOTE
        	ARCH_DEST = DSC1
        	ARCH_FILE_SIZE = 128
        	ARCH_SPACE_LIMIT = 0 
        	ARCH_INCOMING_PATH = +DMDATA/DSC/DSC2/arch
        

        在这里插入图片描述

    • 配置DSC2的dmarch.ini文件

      vi /home/dmdba/config/dsc2/dmarch.ini 
      
      • 内容如下:

        ARCH_LOCAL_SHARE = 1
        
        [ARCHIVE_LOCAL1]
        	ARCH_TYPE = LOCAL
        	ARCH_DEST = +DMDATA/DSC/DSC2/arch
        	ARCH_FILE_SIZE = 128
        	ARCH_SPACE_LIMIT = 0
        	
        [ARCHIVE_REMOTE]
        	ARCH_TYPE = REMOTE
        	ARCH_DEST = DSC0
        	ARCH_FILE_SIZE = 128
        	ARCH_SPACE_LIMIT = 0
        	ARCH_INCOMING_PATH = +DMDATA/DSC/DSC1/arch
        

        在这里插入图片描述

配置dm.ini

  • 分别编辑两个DMDSC节点的dm.ini文件,打开归档参数

    ARCH_INI = 1
    

    在这里插入图片描述

备份DMDSC库

  • 重启两个DMDSC集群的dmserver实例,然后再正常退出,便于后续校验日志连续型时使用

  • 启用dmrman

    ./dmrman use_ap=2 dcr_ini=/home/dmdba/config/dmdcr.ini
    
  • 脱机备份DMDSC集群

    BACKUP DATABASE '/home/dmdba/config/dsc1/dm.ini' FULL BACKUPSET  '/home/dmdba/config/dsc1/bak/db_full_bak_for_DSC';
    

    在这里插入图片描述

    • 将备份拷贝到单机备库上

      scp -r bak/ 192.168.19.139:/home/dmdba/dmbak
      

      在这里插入图片描述

配置主备库环境

初始化备库

  • 启动dmrman,使用DMDSC库的备份集还原恢复到单节点备库

    ##启动dmrman
    ./dmrman use_ap=2
    
    ##还原备份
    RMAN>RESTORE DATABASE '/home/dmdba/dmdbms/data/DSC/dm.ini' FROM BACKUPSET '/home/dmdba/dmbak/bak/db_full_bak_for_DSC';
    
    RMAN>RECOVER DATABASE '/home/dmdba/dmdbms/data/DSC/dm.ini' FROM BACKUPSET '/home/dmdba/dmbak/bak/db_full_bak_for_DSC';
    
    RMAN>RECOVER DATABASE '/home/dmdba/dmdbms/data/DSC/dm.ini' UPDATE DB_MAGIC;
    

    在这里插入图片描述

配置dm.ini

​ 依次配置DSC主库所有节点和单节点备库的dm.ini

  • 配置DSC1节点的dm.ini文件
    • 主要修改的内容如下:

      ##实例名,建议使用“组名_守护环境_序号”的命名方式,总长度不能超过16
      
      INSTANCE_NAME = DSC1
      
      PORT_NUM = 5236  ##数据库实例监听端口
      
      DW_INACTIVE_INTERVAL = 60 ##接收守护进程消息超时时间
      
      ALTER_MODE_STATUS = 0 ##不允许手工方式修改实例模式/状态/OGUID
      
      ENABLE_OFFLINE_TS = 2 ##不允许备库OFFLINE表空间
      
      MAL_INI = 1 ##打开MAL系统
      
      ARCH_INI = 1 ##打开归档配置
      
      RLOG_SEND_APPLY_MON = 64 ##统计最近64次的日志发送信息
      

      在这里插入图片描述

      • 我这里使用CONSOLE工具,这里展示一个就好,其他的都是一样查找之后进行修改
  • 配置DSC2的dm.ini文件
    • 主要的配置内容:

      INSTANCE_NAME = DSC2
      
      PORT_NUM = 5236
      
      DW_INACTIVE_INTERVAL = 60
      
      ALTER_MODE_STATUS = 0
      
      ENABLE_OFFLINE_TS = 2
      
      MAL_INI = 1
      
      ARCH_INI = 1
      
      RLOG_SEND_APPLY_MON = 64
      
  • 配置单机备库DSC_beiku的dm.ini文件
    • 主要的内容:

      INSTANCE_NAME = DSC_beiku
      
      PORT_NUM = 5236
      
      DW_INACTIVE_INTERVAL = 60
      
      ALTER_MODE_STATUS = 0
      
      ENABLE_OFFLINE_TS = 2
      
      MAL_INI = 1
      
      ARCH_INI = 1
      
      RLOG_SEND_APPLY_MON = 64
      

配置dmmal.ini文件

  • 在DMDSC集群的dmmal.ini基础上,增加备库DSC_beiku的配置顶

    • 所有实例的dmmal.ini文件内容一致,配置完后直接复制到对应的目录就行

      MAL_CHECK_INTERVAL = 30 ##MAL链路检测时间间隔
      MAL_CONN_FAIL_INTERVAL = 10 ##判定MAL链路断开的时间
      
      
      [MAL_INST0]
      		MAL_INST_NAME = DSC1 ##实例名,和dm.ini中的INSTANCE_NAME一致
      		MAL_HOST = 10.10.10.7 ##MAL系统监听TCP连接的IP地址
      		MAL_PORT = 9236 ##MAL系统监听TCP连接的端口
      		MAL_INST_HOST = 192.168.19.130 ##实例的对外服务IP地址
      		MAL_INST_PORT = 5236 ##实例的对外服务端口,和dm.ini中的PORT_NUM一致
      		MAL_DW_PORT = 3567 ##实例本地的守护进程监听TCP连接的端口
      		MAL_INST_DW_PORT = 4567 ##实例监听守护进程TCP连接的端口
      
      
      [MAL_INST1]
      		MAL_INST_NAME = DSC2 ##实例名,和dm.ini中的INSTANCE_NAME一致
      		MAL_HOST = 10.10.10.4 ##MAL系统监听TCP连接的IP地址
      		MAL_PORT = 9236 ##MAL系统监听TCP连接的端口
      		MAL_INST_HOST = 192.168.19.137
      		MAL_INST_PORT = 5236
      		MAL_DW_PORT = 3568
      		MAL_INST_DW_PORT = 4568
      
      
      [MAL_INST2]
      		MAL_INST_NAME = DSC_BEIKU
      		MAL_HOST = 10.10.10.2
      		MAL_PORT = 9236
      		MAL_INST_HOST = 192.168.19.139
      		MAL_INST_PORT = 5236
      		MAL_DW_PORT = 3569
      		MAL_INST_DW_PORT = 4569
      

      在这里插入图片描述

配置dmarch.ini

再次编辑各个节点的 dmarch.ini 文件,增加实时归档配置

  • 修改DSC1的dmarch.ini文件
    vi /home/dmdba/config/dsc1
    
    • 内容:

      ARCH_LOCAL_SHARE = 1
      
      [ARCHIVE_LOCAL1]
      	ARCH_TYPE = LOCAL 
      	ARCH_DEST = +DMDATA/DSC/DSC1/arch
      	ARCH_FILE_SIZE = 128 
      	ARCH_SPACE_LIMIT = 0 
      
      [ARCHIVE_REMOTE]
      	ARCH_TYPE = REMOTE
      	ARCH_DEST = DSC2
      	ARCH_FILE_SIZE = 128
      	ARCH_SPACE_LIMIT = 0 
      	ARCH_INCOMING_PATH = +DMDATA/DSC/DSC2/arch
      
      [ARCHIVE_REALTIME]
      	ARCH_TYPE = REALTIME
      	ARCH_DEST = DSC_BEIKU
      

      在这里插入图片描述

  • 修改DSC2的dmarch.ini文件
    vi /home/dmdba/config/dsc2
    
    • 内容:

      ARCH_LOCAL_SHARE = 1
      
      [ARCHIVE_LOCAL1]
      	ARCH_TYPE = LOCAL
      	ARCH_DEST = +DMDATA/DSC/DSC2/arch
      	ARCH_FILE_SIZE = 128
      	ARCH_SPACE_LIMIT = 0
      
      [ARCHIVE_REMOTE]
      	ARCH_TYPE = REMOTE
      	ARCH_DEST = DSC1
      	ARCH_FILE_SIZE = 128
      	ARCH_SPACE_LIMIT = 0
      	ARCH_INCOMING_PATH = +DMDATA/DSC/DSC1/arch
      
      [ARCHIVE_REALTIME]
      ARCH_TYPE = REALTIME
      ARCH_DEST = DSC_BEIKU
      

      在这里插入图片描述

  • 修改DSC_beiku的dmarch.ini文件
    vi /home/dmdba/dmdbms/data/DSC
    
    • 内容:

      [ARCHICE_LOCAL1]
      	ARCH_TYPE = LOCAL
      	ARCH_DEST = /home/dmdba/dmdbms/data/DSC/arch
      	ARCH_FILE_SIZE = 128
      	ARCH_SPACE_LIMIT = 0
      
      [ARCHIVE_REALTIME1]
      	ARCH_TYPE = REALTIME
      	ARCH_DEST = DSC1/DSC2
      

      在这里插入图片描述

配置dmwatcher.ini文件

依次配置每个节点实例的 dmwatcher.ini 文件

注意:

DMDSC 集群各节点实例的自动拉起是由各自本地的 dmcss 执行的,不是由守护进程执行,如果要打开 DMDSC 集群的自动拉起,需要再去配置 dmdcr.ini 中的自动拉起参数。

  • 配置DSC1的dmwatcher.ini文件
    • 位置

      vi /home/dmdba/config/dsc1/dmwatcher.ini
      
    • 内容:

      [GRP1]
      	DW_TYPE = GLOBAL ##全局守护类型
      	DW_MODE = MANUAL ##手动切换模式
      	DW_ERROR_TIME = 60 ##远程守护进程故障认定时间
      	INST_RECOVER_TIME = 60 ##主库守护进程启动恢复的间隔时间
      	INST_ERROR_TIME = 35 ##本地实例故障认定时间
      	INST_INI = /home/dmdba/config/dsc1/dm.ini  ##dm.ini配置文件路径
      	DCR_INI = /home/dmdba/config/dmdcr.ini  ##dmdcr.ini配置文件路径
      	INST_OGUID = 1000 ##守护系统唯一OGUID值
      	INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver ##命令行方式启动
      	INST_AUTO_RESTART = 0 ##关闭实例的自动启动功能
      	RLOG_SEND_THRESHOLD = 0 ##指定主库发送日志到备库的时间阈值,默认关闭
      	RLOG_APPLY_THRESHOLD = 0 ##指定备库重演日志的时间阈值,默认关闭
      

      在这里插入图片描述

  • 配置DSC2的dmwatcher.ini文件
    • 位置

      vi /home/dmdba/config/dsc2/dmwatcher.ini
      
    • 内容:

      [GRP1]
      	DW_TYPE = GLOBAL
      	DW_MODE = MANUAL
      	DW_ERROR_TIME = 60
      	INST_RECOVER_TIME = 60
      	INST_ERROR_TIME = 35
      	INST_INI = /home/dmdba/config/dsc2/dm.ini
      	DCR_INI = /home/dmdba/config/dmdcr.ini
      	INST_OGUID = 1000
      	INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
      	INST_AUTO_RESTART = 0
      	RLOG_SEND_THRESHOLD = 0
      	RLOG_APPLY_THRESHOLD = 0
      

      在这里插入图片描述

  • 配置DSC_beiku的dmwatcher.ini文件
    • 位置

      vi /home/dmdba/dmdbms/data/DSC/dmwatcher.ini
      
    • 内容:

      [GRP1]
          DW_TYPE = GLOBAL
          DW_MODE = MANUAL
          DW_ERROR_TIME = 60
          INST_RECOVER_TIME = 60
          INST_ERROR_TIME = 35
          INST_INI = /home/dmdba/dmdbms/data/DSC/dm.ini
          INST_OGUID = 1000
          INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
          INST_AUTO_RESTART = 0 ##对单节点,如果需要打开自动拉起功能,将此配置修改为1即可
          RLOG_SEND_THRESHOLD = 0
          RLOG_APPLY_THRESHOLD = 0
      

配置dmmonitor.ini

  • 在备库上添加监视器,放在/home/dmdba/dmdbms/data目录下

        MON_LOG_PATH = /home/dmdba/dmdbms/data/log
        MON_LOG_INTERVAL = 60
        MON_LOG_FILE_SIZE = 64
        MON_LOG_SPACE_LIMIT = 0
        MON_DW_CONFIRM = 0
    
    [GRP1]
        MON_INST_OGUID = 1000
        MON_DW_IP = 10.10.10.7:3567/10.10.10.4:3568
        MON_DW_IP = 10.10.10.2:3569
    

在这里插入图片描述

启动主备库

启动主库

  • 启动DMDSC集群的两个dmserver实例(注意实例要使用Mount方式启动

    • DSC1启动实例:

      ./dmserver path=/home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini mount
      

      在这里插入图片描述

    • DSC2启动实例:

      ./dmserver path=/home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini mount
      

      在这里插入图片描述

    • 报错处理:这里我遇到错误:Local instance isDSC cluster,need configure remote archive!

      在这里插入图片描述

      • 原因:未开启归档

      • 解决方法:需要开启归档配置

        alter database mount;
        alter database archivelog;
        alter database add archivelog 'DEST=/home/dmdba/dmarch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=102400';
        alter database add archivelog 'DEST=dsc1, TYPE=REMOTE, FILE_SIZE=1024, SPACE_LIMIT=102400, INCOMING_PATH=/home/dmdba/remote_arch';
        alter database open;
        
        • 先要启动好实例,再用disql工具连接进行归档配置
    • 报错:Remote/local archive path is equal to local/remote archive path of the other node,please check ini configure and try again!

      在这里插入图片描述

      • 原因:两个节点的归档配置文件上的本地和远程归档路径没有相互对应
      • 解决方法:对比两个节点的dmarch.ini文件,要节点1的本地归档的路径能与节点2的远程归档路径对应

启动单节点备库

  • 使用服务的方式启动

    DmServiceDSC_beiku start mount
    

    在这里插入图片描述

设置OGUID

  • 主库:

    • 连接DSC集群任意节点,我这里使用DSC1节点,设置DMDSC的主库OGUID值

      SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
      
      SQL>SP_SET_OGUID(1000);
      
      SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
      

      在这里插入图片描述

  • 备库:

    • 连接单节点备库,设置OGUID

      SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
      
      SQL>SP_SET_OGUID(1000);
      
      SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
      

      在这里插入图片描述

修改主备模式

  • 主库:

    • 连接DSC集群任意节点,同样是DSC1节点,修改DMDSC库为Primary模式

      SQL>ALTER DATABASE PRIMARY;
      

      在这里插入图片描述

  • 备库:

    • 连接单节点备库,修改备库为 Standby 模式

      SQL>ALTER DATABASE STANDBY;
      

      在这里插入图片描述

启动守护进程

  • 主库:

    • 启动DMDSC集群的所有守护进程(2个)

      ./dmwatcher /home/dmdba/config/dsc1/dmwatcher.ini
      
      ./dmwatcher /home/dmdba/config/dsc2/dmwatcher.ini
      

      在这里插入图片描述

      在这里插入图片描述

  • 备库:

    • 启动备库的守护进程:

      ./dmwatcher /home/dmdba/dmdbms/data/DAMENG/dmwatcher.ini
      

启动监视器

  • 在备库上利用配置好的dmmonitor.ini启动监视器

    ./dmmonitor path=/home/dmdba/dmdbms/data/DAMENG/dmmonitor.ini
    

    在这里插入图片描述

  • DMDSC集群上也有自己的监视器,需要时也可以启动

    ./dmcssm ini_path=/home/dmdba/config/dmcssm.ini
    

    在这里插入图片描述

  • 在监视器上使用show命令查看集群状态

    在这里插入图片描述

    • 这里DSC1的实例没有启动起来,但是可以看出,DSC集群中一个节点出现故障不会影响整个主备集群

至此,在DSC集群的基础上添加实时备库的部署就完成了。

配置异步备库

数据准备

  • 数据备份

    • 同样的在数据库脱机情况下,使用dmrman工具进行脱机备份

      ./dmrman use_ap=2 dcr_ini=/home/dmdba/config/dmdcr.ini
      RMAN>BACKUP DATABASE '/home/dmdba/config/dsc1/dm.ini' FULL BACKUPSET '/home/dmdba/config/dsc1/bak/db_full_bak2_for_DSC';
      RMAN>EXIT
      

      在这里插入图片描述

  • 数据还原

    • 将备份文件拷贝到异步备库DSC_yibu上,然后进行初始化库、还原操作

      ##在DSC主库上进行拷贝
      scp -r /home/dmdba/config/dsc1/bak/db_full_bak2_for_DSC/ dmdba@192.168.19.142:/home/dmdba/dmbak
      
      #回到备机DW_LC,打开dmrman进行还原恢复
      ./dmrman use_ap=2
      RESTORE DATABASE '/home/dmdba/dmdbms/data/DSC/dm.ini' FROM BACKUPSET '/home/dmdba/dmbak/db_full_bak2_for_DSC';
      RECOVER DATABASE '/home/dmdba/dmdbms/data/DSC/dm.ini' FROM BACKUPSET '/home/dmdba/dmbak/db_full_bak2_for_DSC';
      RECOVER DATABASE '/home/dmdba/dmdbms/data/DSC/dm.ini' UPDATE DB_MAGIC;
      

      在这里插入图片描述

配置dm.ini

  • DSC集群、实时备库
    • 前面已经配置好了很多参数了,这里只用再配置一个即可

      TIMER_INI = 1 
      

      在这里插入图片描述

  • 异步备库
    • 异步备库需要配置的就比较多

      INSTANCE_NAME = DSC_yibu
      PORT_NUM = 5236 ##数据库实例监听端口
      ALTER_MODE_STATUS = 0 ##不允许手工方式修改实例模式/状态/OGUID
      ENABLE_OFFLINE_TS = 2 ##不允许备库OFFLINE表空间
      MAL_INI = 1 ##打开MAL系统
      ARCH_INI = 1 ##打开归档配置
      

配置dmmal.ini

  • 所有的实例的dmmal.ini配置文件都是一样的内容,这里因为有了异步备库的加入,所以需要在之前的基础上添加异步备库的相关配置信息

    • 增加的内容:

      [MAL_INST3]
          MAL_INST_NAME = DSC_yibu
          MAL_HOST = 10.10.10.8  ##MAL系统监听TCP连接的IP地址
          MAL_PORT = 9236 ##MAL系统监听TCP连接的端口
          MAL_INST_HOST = 192.168.19.142  ##实例的对外服务IP地址
          MAL_INST_PORT = 5236 ##实例的对外服务端口,和dm.ini中的PORT_NUM一致
          MAL_DW_PORT = 3670 ##实例对应的守护进程监听TCP连接的端口
          MAL_INST_DW_PORT = 4570 ##实例监听守护进程TCP连接的端口
      

      在这里插入图片描述

配置dmarch.ini

  • DSC集群、实时备库
    • 在之前的基础上,增加异步备库的归档配置

      [ARCHIVE_ASYNC]
      	ARCH_TYPE = ASYNC ##异步归档
      	ARCH_DEST = DSC_yibu ##异步归档目标实例名
      	ARCH_TIMER_NAME = RT_TIMER ##定时器名称,和dmtimer.ini中的名称一致
      

      在这里插入图片描述

  • 异步备库
    • 异步备库未配置dmarch.ini,这里进行添加配置

      ##添加dmarch.ini
      vi /home/dmdba/dmdbms/data/DSC/dmarch.ini
      
      ##配置信息:
      [ARCHIVE_LOCAL1]
      	ARCH_TYPE = LOCAL ##本地归档类型
      	ARCH_DEST = /home/dmdba/dmdbms/data/DSC/arch ##本地归档文件路径
      	ARCH_FILE_SIZE = 128 ##单位Mb,本地单个归档文件最大值
      	ARCH_SPACE_LIMIT = 0 ##单位Mb,0表示无限制
      

      在这里插入图片描述

配置dmtimer.ini

  • 这和配置文件只需在DSC集群和实时备库上进行配置,用于定时触发实例发送归档日志到异步备库。

    • 放置位置:

      ##DSC1
      vi /home/dmdba/config/dsc1/dmtimer.ini
      
      ##DSC2
      vi /home/dmdba/config/dsc2/dmtimer.ini
      
      ##DSC_beiku
      vi /home/dmdba/dmdbms/data/DSC/dmtimer.ini
      
    • 配置内容:

      [RT_TIMER] ##和dmarch.ini中的ARCH_TIMER_NAME一致
      	TYPE = 2
      	FREQ_MONTH_WEEK_INTERVAL = 1
      	FREQ_SUB_INTERVAL = 0
      	FREQ_MINUTE_INTERVAL = 0
      	START_TIME = 17:30:00
      	END_TIME = 17:31:00
      	DURING_START_DATE = 2016-02-11 17:36:09
      	DURING_END_DATE = 9999-12-31 23:59:59
      	NO_END_DATE_FLAG = 1
      	DESCRIBE = RT TIMER
      	IS_VALID = 1
      

      在这里插入图片描述

配置dmwatcher.ini

  • 这里DSC集群和实时备库已经配置好了,所以只需要配置异步备库的dmwatcher.ini就好

    [GRP1]
    	DW_TYPE = LOCAL ##本地守护类型
    	DW_MODE = MANUAL ##故障手动切换模式
    	DW_ERROR_TIME = 10 ##远程守护进程故障认定时间
    	INST_ERROR_TIME = 10 ##本地实例故障认定时间
    	INST_OGUID = 1000 ##守护系统唯一OGUID值
    	INST_INI = /home/dmdba/dmdbms/data/DSC/dm.ini ##dm.ini配置文件路径
    	INST_AUTO_RESTART = 1 ##打开实例的自动启动功能
    	INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver ##命令行方式启动
    

    在这里插入图片描述

启动主备库

启动DSC集群主库

  • 同样,使用mount方式启动

    ./dmserver path=/home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini mount
    
    ./dmserver path=/home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini mount
    

    在这里插入图片描述

启动实时备库

  • 使用mount方式启动

    ./dmserver /home/dmdba/dmdbms/data/DSC/dm.ini mount
    

    在这里插入图片描述

启动异步备库

  • 使用mount方式启动

    ./DmServiceDSC_yibu start mount
    

    在这里插入图片描述

设置OGUID与备库模式

  • 前面已经给DSC集群和实时备库设置过了,所以这里只用给异步备库设置就行

    ##在bin目录下登录disql
    ./disql SYSDBA/SYSDBA
    
    ##修改内容
    SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
    SQL>SP_SET_OGUID(1000);
    SQL>ALTER DATABASE STANDBY;
    SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
    

    在这里插入图片描述

启动守护进程及监视器

  • 启动守护进程
    • DSC1:

      ./dmwatcher /home/dmdba/config/dsc1/dmwatcher.ini
      
    • DSC2:

      ./dmwatcher /home/dmdba/config/dsc2/dmwatcher.ini
      
    • DSC_beiku:

      ./dmwatcher /home/dmdba/dmdbms/data/DSC/dmwatcher.ini
      
    • DSC_yibu:

      ./dmwatcher /home/dmdba/dmdbms/data/DSC/dmwatcher.ini
      

      在这里插入图片描述

  • 启动监视器
    • 在实时备库DSC_beiku上

      ./dmmonitor path=/home/dmdba/dmdbms/data/dmmonitor.ini
      
    • 使用show命令来查看当前集群的状态

      在这里插入图片描述

      • 可以看到,DSC集群、实时备库、异步备库都启动了
  • 报错集结

    • 启动监视器查看集群情况时,未出现异步备库的相关信息

    • 原因:异步备库的主机上没有关闭防火墙,导致无法进行相关的链接通信

    • 解决方法:关闭防火墙和SELinux

      • 关闭防火墙:

        systemctl status firewalld.service
        systemctl stop firewalld.service
        systemctl disable firewalld.service
        
      • 关闭SELinux

        getenforce
        vi /etc/selinux/config     
        # 进入文件后修改 SELINUX = disabled
        # 保存退出文件
        reboot
        

参考

  • 达梦在线服务平台-- https://eco.dameng.com/document/dm/zh-cn/pm/dsc-build.html
  • 17
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是点云ISS、3DSC、SAC-IA、ICP的代码示例: 1. ISS 特征提取 ```c++ pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); pcl::PointCloud<pcl::Normal>::Ptr normals(new pcl::PointCloud<pcl::Normal>); pcl::search::KdTree<pcl::PointXYZ>::Ptr tree(new pcl::search::KdTree<pcl::PointXYZ>); pcl::ISSKeypoint3D<pcl::PointXYZ, pcl::PointXYZ> iss_detector; iss_detector.setSearchMethod(tree); iss_detector.setSalientRadius(6 * resolution); iss_detector.setNonMaxRadius(4 * resolution); iss_detector.setThreshold21(0.975); iss_detector.setThreshold32(0.975); iss_detector.setMinNeighbors(5); iss_detector.setInputCloud(cloud); iss_detector.compute(*keypoints); ``` 2. 3DSC 特征描述 ```c++ pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); pcl::PointCloud<pcl::ShapeContext1980>::Ptr descriptors(new pcl::PointCloud<pcl::ShapeContext1980>); pcl::ShapeContext3DEstimation<pcl::PointXYZ, pcl::ShapeContext1980> desc_est; pcl::search::KdTree<pcl::PointXYZ>::Ptr tree(new pcl::search::KdTree<pcl::PointXYZ>); desc_est.setInputCloud(keypoints); desc_est.setInputNormals(normals); desc_est.setSearchMethod(tree); desc_est.setRadiusSearch(4 * resolution); desc_est.compute(*descriptors); ``` 3. SAC-IA 平面拟合 ```c++ pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); pcl::ModelCoefficients::Ptr coefficients(new pcl::ModelCoefficients); pcl::PointIndices::Ptr inliers(new pcl::PointIndices); pcl::SACSegmentation<pcl::PointXYZ> seg; seg.setOptimizeCoefficients(true); seg.setModelType(pcl::SACMODEL_PLANE); seg.setMethodType(pcl::SAC_RANSAC); seg.setMaxIterations(1000); seg.setDistanceThreshold(0.01); seg.setInputCloud(cloud); seg.segment(*inliers, *coefficients); ``` 4. ICP 点云配准 ```c++ pcl::PointCloud<pcl::PointXYZ>::Ptr cloud1(new pcl::PointCloud<pcl::PointXYZ>); pcl::PointCloud<pcl::PointXYZ>::Ptr cloud2(new pcl::PointCloud<pcl::PointXYZ>); pcl::PointCloud<pcl::PointXYZ>::Ptr aligned(new pcl::PointCloud<pcl::PointXYZ>); pcl::IterativeClosestPoint<pcl::PointXYZ, pcl::PointXYZ> icp; icp.setInputSource(cloud1); icp.setInputTarget(cloud2); icp.setMaxCorrespondenceDistance(0.05); icp.setMaximumIterations(50); icp.setTransformationEpsilon(1e-8); icp.setEuclideanFitnessEpsilon(1); icp.align(*aligned); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值