dmwatch守护进程
dmwmon监视器
主库发送实时归档
# 部署DM数据守护的网络环境:
-2台服务器(主备机)
-1台服务器(监视器)
外部网络
#开始部署--环境规划如下
数据守护节点规划:
zb1 192.168.136.132 ---主机 GRP1_RT_01
zb2 192.168.136.133 ---备机 GRP1_RT_03
zb3 192.168.136.134 ---监视器
数据守护端口规划:
./disql sysdba/Dameng123@localhost:5246
数据库名 实例名 PORT_NUM MAL_INST_DW_PORT MAL_HOST MAL_PORT MAL_DW_PORT
GRP1_RT_01 GRP1_RT_01 5246 45101 192.168.136.132 55101 65101
GRP1_RT_03 GRP1_RT_03 5246 45121 192.168.136.133 55121 65121
Dameng123
----先初始化主备库实例,dbca建库,注意名称
或者命令行初始化命令如下:
#图形化创建实例即可
主库(IP: 192.168.136.132 实例名:GRP1_RT_01):
./dminit path=/dm9/data DB_NAME=GRP1_RT_01 INSTANCE_NAME=GRP1_RT_01 PAGE_SIZE=8 EXTENT_SIZE=16 LOG_SIZE=500 CASE_SENSITIVE=Y SYSDBA_PWD=dameng123
备库(IP: 192.168.136.133 实例名:GRP1_RT_03):
./dminit path=/dm9/data DB_NAME=GRP1_RT_03 INSTANCE_NAME=GRP1_RT_03 PAGE_SIZE=8 EXTENT_SIZE=16 LOG_SIZE=500 CASE_SENSITIVE=Y SYSDBA_PWD=dameng123
--注意 dbca初始化数据库,在初始化过程中会注册数据库服务。如果用命令初始化需要自己手动注册服务,命令如下:
主库:
/dm9/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_01 -dm_ini /dm9/data/GRP1_RT_01/dm.ini
备库:
/dm9/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_03 -dm_ini /dm9/data/GRP1_RT_03/dm/.ini
--主备两台实例关掉 dmdba
./DmServiceGRP1_RT_01 stop
./DmServiceGRP1_RT_03 stop
--对主机进行备份:dmdba
./dmrman CTLSTMT="BACKUP DATABASE '/dm9/data/GRP1_RT_01/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dm9/backup/BACKUP_FILE_01'"
或者bin下 ./dmrman执行双引号中内容即可
--从主传到备
备创建 /dm9/backup
scp /dm9/backup/BACKUP_FILE_01/* 192.168.136.133:/dm9/backup
--在备上进行恢复
./dmrman CTLSTMT="RESTORE DATABASE '/dm9/data/GRP1_RT_03/dm.ini' FROM BACKUPSET '/dm9/backup'"
./dmrman CTLSTMT="RECOVER DATABASE '/dm9/data/GRP1_RT_03/dm.ini' FROM BACKUPSET '/dm9/backup'"
./dmrman CTLSTMT="RECOVER DATABASE '/dm9/data/GRP1_RT_03/dm.ini' UPDATE DB_MAGIC"
--------主库primary配置------------
/dm9/data/GRP1_RT_01/dm.ini
----------
INSTANCE_NAME = GRP1_RT_01
PORT_NUM = 5246
DW_INACTIVE_INTERVAL = 60
ALTER_MODE_STATUS = 0 #不允许手工修改模式
ENABLE_OFFLINE_TS = 2 #不允许备库offline表空间
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
---------------
新建 dmmal.ini
------------
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01
MAL_HOST = 192.168.136.132
MAL_PORT = 55101
MAL_INST_HOST = 192.168.136.132
MAL_INST_PORT = 5246
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_03
MAL_HOST = 192.168.136.133
MAL_PORT = 55121
MAL_INST_HOST = 192.168.136.133
MAL_INST_PORT = 5246
MAL_DW_PORT = 65121
MAL_INST_DW_PORT = 45121
------------------
新建 dmarch.ini #归档配置 (注:arch_dest备机写主机实例,主机写备机实例)
------------
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_03 #写备机实例
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm9/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
-------------------------
dmwatcher.ini #守护进程
----------------
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO #生产中一般设定为手动,防止网络波动导致切换
DW_ERROR_TIME = 10 #故障认定时间 最好60,比告警高一点
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 453331 #标识,和备库一致
INST_INI = /dm9/data/GRP1_RT_01/dm.ini #主库
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm9/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
# 启动主库
./dmserver /dm9/data/GRP1_RT_01/dm.ini mount
或者
cd /dm9/bin
./DmServiceGRP1_RT_01 mount
#此时再开一个窗口查看主库和修改配置
----------------
[dmdba@zb1 bin]$ ./disql sysdba/Dameng123@localhost:5246
服务器[localhost:5246]:处于普通配置状态
登录使用时间 : 6.770(ms)
disql V8
SQL>
----------------
修改主库的模式和设置oguid。
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(453331);
SQL>alter database primary;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
[dmdba@zb1 bin]$ ./disql sysdba/Dameng123@localhost:5246
服务器[localhost:5246]:处于主库配置状态
登录使用时间 : 3.355(ms)
disql V8
SQL>
-------------------------备库standby配置----------------------
standby
-----------
/dm9/data/GRP1_RT_03/dm.ini
-----------
INSTANCE_NAME = GRP1_RT_03
PORT_NUM = 5246
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
--------------
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01
MAL_HOST = 192.168.136.132
MAL_PORT = 55101
MAL_INST_HOST = 192.168.136.132
MAL_INST_PORT = 5246
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_03
MAL_HOST = 192.168.136.133
MAL_PORT = 55121
MAL_INST_HOST = 192.168.136.133
MAL_INST_PORT = 5246
MAL_DW_PORT = 65121
MAL_INST_DW_PORT = 45121
---------------
dmarch.ini (注:arch_dest备机写主机实例,主机写备机实例)
---------------
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_01 #写主库
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm9/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
-----------------
dmwatcher.ini
-----------------
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 453331
INST_INI = /dm9/data/GRP1_RT_03/dm.ini #备库
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm9/bin/dmserver
RLOG_APPLY_THRESHOLD = 0
以 Mount 方式启动备库
./dmserver /dm9/data/GRP1_RT_03/dm.ini mount
或者
cd /dm9/bin
./DmServiceGRP1_RT_03 mount
./disql sysdba/Dameng123@localhost:5246
设置备库模式和oguid值
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(453331);
SQL>alter database standby;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
[root@zb2 bin]# ./disql sysdba/Dameng123@localhost:5246
服务器[localhost:5246]:处于备库配置状态
登录使用时间 : 13.195(ms)
disql V8
--启主备库的守护进程
启主库守护进程
[dmdba@/dm9/bin]#./dmwatcher /dm9/data/GRP1_RT_01/dmwatcher.ini
DMWATCHER[4.0] V8
DMWATCHER[4.0] IS READY
启备库守护进程
[dmdba@/dm9/bin]#./dmwatcher /dm9/data/GRP1_RT_03/dmwatcher.ini
DMWATCHER[4.0] V8
DMWATCHER[4.0] IS READY
# 配置监视器 zb3主机 dmdba用户,新建一个/dm9/mon目录存放
[dmdba@zb3 mon]$ cat dmmonitor.ini
MON_DW_CONFIRM = 1 # 1为确认模式(故障自动切换),0为监控模式(不自动切换)
MON_LOG_PATH = /dm9/data/log
MON_LOG_INTERVAL = 60 #记录日志间隔时间
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP1] #主备数据库的组名 ,可监控多个组
MON_INST_OGUID = 453331
MON_DW_IP = 192.168.136.132:65101
MON_DW_IP = 192.168.136.133:65121
--启动监视器查看监视状态
[dmdba@zb3 bin]$ ./dmmonitor /dm9/mon/dmmonitor.ini
--注册监视器服务(也可以不注册)
/dm9/script/root/dm_service_installer.sh -t dmmonitor -p ITSM_DB -monitor_ini /dm9/dmmonitor.ini
-- 注意守护进程注册服务(否则进程还得前台运行)考试最好执行下
注册主库的守护进程 必须root执行
[root@~]# /dm9/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dm9/data/GRP1_RT_01/dmwatcher.ini
注册备库的守护进程
[root@~]# /dm9/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dm9/data/GRP1_RT_03/dmwatcher.ini
#--在备上进行恢复
#启动监视器显示主备机实例状态,show查看详情
#关闭监视器
实时主备集群关闭有顺序要求:
1、关闭监视器
2、关闭备库守护进程 dmwatcher.ini
3、关闭主库守护进程 dmwatcher.ini
4、关闭主库实例
5、关闭备库实例
监视器:监控数据守护系统
管理数据守护系统
确认状态信息
发起故障自动接管命令----确认模式
文章
阅读量
获赞