注册
极简版dm主备搭建
培训园地/ 文章详情 /

极简版dm主备搭建

恐怖平衡 2025/07/25 45 0 0
  1. 主库关闭,修改dm.ini
    ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
    ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
    MAL_INI = 1 #打开 MAL 系统
    ARCH_INI = 1 #打开归档配置
    INSTANCE_NAME = DMSVR01

  2. 备份
    进入dmrman
    backup database '/dm8/data/DAMENG/dm.ini' backupset '/dm8/backup/FULLDB';

  3. 复制备份到备机
    scp -r /dm8/backup/FULLDB dmdba@192.168.8.3:/dm8/backup/

  4. 在备机还原数据库
    RMAN> restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup/fullbak';
    RMAN> recover database '/dm8/data/DAMENG/dm.ini' update db_magic;

  5. 拷贝几个ini文件到备机,修改dm.ini的INSTANCE_NAME和dmarch.ini的ARCH_DEST
    scp dmmal.ini dmdba@192.168.88.2:/dm8/data/TEST/
    scp dmarch.ini dmdba@192.168.88.2:/dm8/data/TEST/
    scp dmwatcher.ini dmdba@192.168.88.2:/dm8/data/TEST/

  6. 在主节点启动到MOUNT状态
    dmserver dm.ini mount
    sp_set_oguid(8888);
    alter database primary;
    select oguid, mode$ from v$instance;

  7. 在备节点启动到MOUNT状态
    dmserver dm.ini mount
    sp_set_oguid(8888);
    alter database standby;
    select oguid, mode$ from v$instance;

  8. 启动主库的数据守护
    dmwatcher dmwatcher.ini
    show

  9. 启动备库的数据守护
    dmwatcher dmwatcher.ini
    show

至此收据守护搭建完成,但是还没有监视器,接下来搭建监视器

在监视器节点编辑dmmonitor.ini(MON_DW_CONFIRM=0为非确认监视器,1为确认监视器)
MON_DW_CONFIRM = 1
MON_LOG_PATH = /dm8/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP1]
MON_INST_OGUID = 8888
MON_DW_IP = 192.168.88.2:15238
MON_DW_IP = 192.168.88.3:15238

启动监视器
dmmonitor /dm8/data/dmmonitor.ini

最后注册服务
cd /dm8/dmdbms/script/root
./dm_service_installer.sh -t dmserver -p DM02 -dm_ini /dm8/data/DAMENG/dm.ini
./dm_service_installer.sh -t dmwatcher -p DM02 -watcher_ini /dm8/data/DAMENG/dmwatcher.ini
./dm_service_installer.sh -t dmmonitor -p DMMON -monitor_ini /dm8/data/DAMENG/dmmonitor.ini

=================================================
mal.ini配置文件 (主备配置相同)
MAL_CHECK_INTERVAL = 5 #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定MAL链路断开的时间
[MAL_INST1]
MAL_INST_NAME = DM01 #实例名,和dm.ini中的INSTANCE_NAME一致
MAL_HOST = 192.168.88.2 #MAL系统监听TCP连接的IP地址
MAL_PORT = 15236 #MAL系统监听TCP连接的端口
MAL_INST_HOST = 192.168.88.2 #实例的对外服务IP地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的PORT_NUM一致
MAL_DW_PORT = 15238 #实例本地的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 5238 #实例监听守护进程TCP连接的端口

[MAL_INST2]
MAL_INST_NAME = DMSERVER02
MAL_HOST = 192.168.88.3
MAL_PORT = 15236
MAL_INST_HOST = 192.168.88.3
MAL_INST_PORT = 5236
MAL_DW_PORT = 15238
MAL_INST_DW_PORT = 5238

=================================================
dmarch.ini主备的归档配置不同,其他都相同
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DM02 #实时归档目标实例名(主机和备份配置不同,配置向备机同步)

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dm8/data/DAMENG/arch #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位Mb,0表示无限制,范围1024~4294967294M

=================================================
dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10
#远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 8888 #守护系统唯一OGUID值(这里要和数据库的OGUID一致,OGUID是写入控制文件的)
INST_INI = /dm8/data/DAMENG/dm.ini #dm.ini配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /dm8/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服