【达梦数据守护搭建全过程及碰到的问题】

达梦数据守护搭建全过程及碰到的问题

最近参加了DCP的培训,在这里将在培训中的学到的数据守护搭建过程及碰到的问题做个总结

1、服务器

思路:先创建一台麒麟V10虚拟机,安装好DM之后,直接克隆出另外两台。

(1)创建虚拟机

​ 具体步骤不再这里写了,需注意以下几点

  • 不建议选择Ubuntu,可能出现无网卡的情况,导致虚拟机无法通信。

    我这里选择了Centos 8 64位,但是无法安装VMware Tools,可以尝试其它

  • 网络的话我选择的是NAT模式

  • 麒麟需在右下角手动选择网卡,一般默认名称为ens33

(2)安装达梦

​ 略。这个已有详细步骤的博文了,就不多说了。我这里的使用dmdba用户,安装路径为 /dm8,

(3)克隆

​ 虚拟机上右键—>管理—>克隆即可

2、数据库实例

服务器类型ip数据库名实例名PORT_NUMMAL_INST_DW_PORTMAL_PORTMAL_DW_PORT
主机192.168.70.129DAMENGDMSERVER015236451015510165101
备机192.168.70.130DAMENGDMSERVER025236451215512165121
监视192.168.70.131
  • 如上在主机、备机中分别创建实例及数据库。
  • 数据库名一致,实例名不同。
  • 数据库存储路径为/dm8/data

3、主库

1、停止服务

cd /dm8/bin
./DmServiceDAMENG stop 

2、备份

su dmdba
mkdir /dm8/backup
cd /dm8/bin
./dmrman 
RMAN> BACKUP DATABASE '/dm8/data/DAMENG/dm.ini' FULL TO FULL_BACK BACKUPSET '/dm8/backup/FULL_BACK'

3、将文件发送给备机

scp -r /dm8/backup/FULL_BACK 192.168.70.130:/dm8/backup

4、配置文件修改、添加

  1. dm.ini

    vim /dm8/data/DAMENG/dm.ini
    # 确认以下参数
    
    INSTANCE_NAME = DMSERVER01 
    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
    
  2. dmmal.ini

    vim /dm8/data/DAMENG/dmmal.ini
    # 添加下面内容
    
    MAL_CHECK_INTERVAL = 5
    MAL_CONN_FAIL_INTERVAL = 5
    [MAL_INST1] 
    MAL_INST_NAME = DMSERVER01 
    MAL_HOST = 192.168.70.129
    MAL_PORT = 55101
    MAL_INST_HOST = 192.168.70.129
    MAL_INST_PORT = 5236
    MAL_DW_PORT = 65101
    MAL_INST_DW_PORT = 45101
    [MAL_INST2] 
    MAL_INST_NAME = DMSERVER02 
    MAL_HOST = 192.168.70.130 
    MAL_PORT = 55121 
    MAL_INST_HOST = 192.168.70.130
    MAL_INST_PORT = 5236 
    MAL_DW_PORT = 65121 
    MAL_INST_DW_PORT = 45121
    
  3. dmarch.ini

    vim /dm8/data/DAMENG/dmarch.ini
    # 添加下面内容 
    # 注意:第三行填写的是备机的服务名  同理,备机需填写主机的服务名
    
    [ARCHIVE_REALTIME] 
    ARCH_TYPE = REALTIME
    ARCH_DEST = DMSERVER02
    [ARCHIVE_LOCAL1] 
    ARCH_TYPE = LOCAL
    ARCH_DEST = /dm8/arch 
    ARCH_FILE_SIZE = 128
    ARCH_SPACE_LIMIT = 0
    
  4. dmwatcher.ini

    vim /dm8/data/DAMENG/dmwatcher.ini
    # 添加下面内容
    
    [DAMENG] 
    DW_TYPE = GLOBAL
    DW_MODE = AUTO 
    DW_ERROR_TIME = 10 
    INST_RECOVER_TIME = 60 
    INST_ERROR_TIME = 10 
    INST_OGUID = 453331 
    INST_INI = /dm8/data/DAMENG/dm.ini  
    INST_AUTO_RESTART = 1
    INST_STARTUP_CMD = /dm8/bin/dmserver 
    RLOG_SEND_THRESHOLD = 0  
    RLOG_APPLY_THRESHOLD = 0 
    

5、修改参数

(1)数据库切换为mount模式 可以通过disql或管理工具

  • disql

    cd /dm8/bin
    ./disql SYSDBA/SYSDBA
    
  • 管理工具

    在数据库上右键–>管理服务器 ---->系统管理

(2)执行以下sql

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
sp_set_oguid(453331); -- 这个参数可以自己设置,但是要保证主备一致
alter database primary;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

4、备库

1、停止服务

cd /dm8/bin
./DmServiceDAMENG stop 

2、还原

cd /dm8/bin
./dmrman 
RMAN> RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/backup'
RMAN> RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/backup' 
RMAN> RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC

3、配置文件修改、添加

  1. dm.ini

    vim /dm8/data/DAMENG/dm.ini
    # 确认以下参数
    
    INSTANCE_NAME = DMSERVER02 
    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
    
  2. dmmal.ini

    vim /dm8/data/DAMENG/dmmal.ini
    # 添加下面内容
    
    MAL_CHECK_INTERVAL = 5
    MAL_CONN_FAIL_INTERVAL = 5
    [MAL_INST1] 
    MAL_INST_NAME = DMSERVER01 
    MAL_HOST = 192.168.70.129
    MAL_PORT = 55101
    MAL_INST_HOST = 192.168.70.129
    MAL_INST_PORT = 5236
    MAL_DW_PORT = 65101
    MAL_INST_DW_PORT = 45101
    [MAL_INST2] 
    MAL_INST_NAME = DMSERVER02 
    MAL_HOST = 192.168.70.130 
    MAL_PORT = 55121 
    MAL_INST_HOST = 192.168.70.130
    MAL_INST_PORT = 5236 
    MAL_DW_PORT = 65121 
    MAL_INST_DW_PORT = 45121
    
  3. dmarch.ini

    vim /dm8/data/DAMENG/dmarch.ini
    # 添加下面内容 
    # 注意:第三行填写的是主机的服务名  同理,备机需填写主机的服务名
    
    [ARCHIVE_REALTIME] 
    ARCH_TYPE = REALTIME
    ARCH_DEST = DMSERVER01
    [ARCHIVE_LOCAL1] 
    ARCH_TYPE = LOCAL
    ARCH_DEST = /dm8/arch 
    ARCH_FILE_SIZE = 128
    ARCH_SPACE_LIMIT = 0
    
  4. dmwatcher.ini

    vim /dm8/data/DAMENG/dmwatcher.ini
    # 添加下面内容
    
    [DAMENG] 
    DW_TYPE = GLOBAL
    DW_MODE = AUTO 
    DW_ERROR_TIME = 10 
    INST_RECOVER_TIME = 60 
    INST_ERROR_TIME = 10 
    INST_OGUID = 453331 
    INST_INI = /dm8/data/DAMENG/dm.ini  
    INST_AUTO_RESTART = 1
    INST_STARTUP_CMD = /dm8/bin/dmserver 
    RLOG_SEND_THRESHOLD = 0  
    RLOG_APPLY_THRESHOLD = 0 
    

4、修改参数

同主库

(1)数据库切换为mount模式 可以通过disql或管理工具

  • disql

    cd /dm8/bin
    ./disql SYSDBA/SYSDBA
    
  • 管理工具

    在数据库上右键–>管理服务器 ---->系统管理

(2)执行以下sql

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
sp_set_oguid(453331); -- 这个参数可以自己设置,但是要保证主备一致
alter database primary;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

5、守护进程启动

在主备机均执行下面命令,主机先执行,备机后执行

cd /dm8/bin
./dmwatcher /dm8/data/DAMENG/dmwatcher.ini

6、监视器

(1)创建监视文件

vim /dm8/dmmonitor.ini
#添加下面内容
MON_DW_CONFIRM = 1 
MON_LOG_PATH = /dm8/data/log  
MON_LOG_INTERVAL = 60 
MON_LOG_FILE_SIZE = 32 
MON_LOG_SPACE_LIMIT = 0 
[DAMENG] 
MON_INST_OGUID = 453331  
MON_DW_IP = 192.168.70.129:65101 
MON_DW_IP = 192.168.70.130:65121

(2)启动

cd /dm8/bin	
./dmmonitor /dm8/dmmonitor.ini

7、注册服务

将数据守护服务、监控服务注册到系统。

(1)数据守护

主备都要执行注册,主机先执行,备机后执行

cd /dm8/script/root
./dm_service_installer.sh -t dmwatcher -p DMWATCHER -watcher_ini /dm8/data/DAMENG/dmwatcher.ini

(2)监控服务

cd /dm8/script/root
./dm_service_installer.sh -t dmmonitor -p DMMONITOR -monitor_ini /dm8/dmmonitor.ini

8、启动顺序

  • 启动主库实例(mount)
  • 启动备库实例(mount)
  • 启动主库守护进程
  • 启动备库守护进程
  • 启动监视器

问题

1、主备数据库不一致

启动监视器后,发现主备一直是在mount的状态,没有被守护进程拉起到open状态,查看最后两个lsn信息,发现主备不一致。

最后将主库重新备份,备机通过这个备份还原。

然后通过以下顺序启动,可以看到,主备均变为OPEN状态

  • 启动主库实例(mount)
  • 启动备库实例(mount)
  • 启动主库守护进程
  • 启动备库守护进程
  • 启动监视器

不一致实际在启动主备实例(mount)时就可以看到,会打印输出信息。

2、OGUID

在执行 sp_set_oguid(453331); 要保证主备都设置,且设置的一致。

在出现上面问题1后,将备库重新还原,但忘记重新设置 OGUID,也导致了主备一致mount。

3、重启顺序

  1. 关闭监视器
  2. 关闭主库守护进程
  3. 关闭备库守护进程
  4. 关闭主库实例
  5. 关闭备库实例
  6. 启动主库实例(mount)
  7. 启动备库实例(mount)
  8. 启动主库守护进程
  9. 启动备库守护进程
  10. 启动监视器
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值