DM数据守护提供多种解决方案:
- 实时主备
- MPP主备
- 读写分离集群
实时主备由一个主库以及一个或者多个配置了实时(Realtime)归档的备库组成,其主要目的是保障数据库可用性,提高数据安全性。
实时主备系统中,主库提供完整的数据库功能,备库提供只读服务。
主库修改数据产生的Redo日志,通过实时归档机制,在写入联机Redo日志文件之前发送到备库,实时备库通过重演Redo日志与主库保持数据同步。
当主库出现故障时,备库在将所有Redo日志重演结束后,就可以切换为主库对外提供数据库服务。
实时主备实验
- 环境说明
本示例中组名为“GRP1",配置为实时主备,主库命名为“DM01”,备库命名为“DM02”。
配置环境说明
主机类型 | IP地址 | 实例名 | 操作系统 |
---|---|---|---|
主库 | 192.168.3.190(内部通信) 192.168.4.190(外部通信) |
DM01 | NeoKylin Linux Advanced Server 6 |
备库 | 192.168.3.191(内部通信) 192.168.4.191(外部通信) |
DM02 | NeoKylin Linux Advanced Server 6 |
监视 | 192.168.3.192 | NeoKylin Linux Advanced Server 6 |
端口规划
实例名 | PORT_NUM | DW_PORT | MAL_HOST | MAL_PORT | MAL_DW_PORT |
---|---|---|---|---|---|
DM01 | 5236 | 5239 | 192.168.3.190 | 5237 | 5238 |
DM02 | 5236 | 5239 | 192.168.3.191 | 5237 | 5238 |
- 同步数据
创建主备库的数据库相同,实例名不同。
主库:
[dmdba@localhost ~]$ dminit PATH=/dm7/data DB_NAME=DMSVR INSTANCE_NAME=DM01
注册服务:
[root@localhost ~]# /dm7/script/root/dm_service_installer.sh -t dmserver -i /dm7/data/DMSVR/dm.ini -p DM01
启动主库并备份:
SQL> backup database full backupset '/dm7/bak/DMSVR_full_01';
创建备库:
[dmdba@localhost ~]$ dminit PATH=/dm7/data DB_NAME=DMSVR INSTANCE_NAME=DM02
从主库传输备份文件到库
恢复备库:
[dmdba@localhost bin]$ ./dmrman CTLSTMT="RESTORE