1 环境准备
读写分离数据库(自动切要求页大小32K,簇大小32K,日志换模式),大小2048,字符集UTF8,大小写不敏感必须使用以下端口进行配置:5236 5237 5238 5239。
实例名 TEST1 TEST2
2 配置 TEST1 机器
初始化实例
启动服务
开启归档
[dmdba@~]$ /opt/dmdbms/bin/disql SYSDBA/SYSDBA@192.168.95.128:5236
SQL> ALTER DATABASE MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=/opt/dmdbms/data/DAMENG/arch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
SQL> ALTER DATABASE OPEN;
备份数据
SQL> BACKUP DATABASE BACKUPSET '/opt/dmdbms/data/DAMENG/bak/BACKUP_FILE';
修改 dm.iniSQL> SP_SET_PARA_VALUE (2,'PORT_NUM',5236);
SQL> SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);
SQL> SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0);
SQL> SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);
SQL> SP_SET_PARA_VALUE (2,'MAL_INI',1);
SQL> SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);
修改 dmarch.ini
SQL> SP_SET_PARA_VALUE (2,'PORT_NUM',5236);
SQL> SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);
SQL> SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0);
SQL> SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);
SQL> SP_SET_PARA_VALUE (2,'MAL_INI',1);
SQL> SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);
创建dmmal.ini
创建 dmwatcher.ini
拷贝备份文件到TEST2中
注册服务
3 配置TEST2 机器
跟TEST1一样创建实例
/opt/dmdbms/bin/dminit PATH=/opt/dmdbms/data/ INSTANCE_NAME=TEST2 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048
从TEST1中恢复数据
[dmdba@~]$ /opt/dmdbms/bin/dmrman CTLSTMT="RESTORE DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmdbms/data/DAMENG/bak/BACKUP_FILE'"
[dmdba@~]$ /opt/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmdbms/data/DAMENG/bak/BACKUP_FILE'"
[dmdba@~]$ /opt/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' UPDATE DB_MAGIC"
替换 dmarch.ini
配置 dm.ini、dmmal.ini 和 dmwatcher.ini
配置dm.ini
配置 dmmal.ini 和 dmwatcher.ini
此项与TEST1中参数相同
注册服务
创建 dmmonitor.ini
创建完成后注册服务
启动守护进程
/opt/dmdbms/bin/DmWatcherServiceWatcher start
启动监视器
/opt/dmdbms/bin/DmMonitorServiceMonitor start
启停及重启集群
4 dm_svc.conf 配置
设置读写分离比例为30
其中RW_PERCENT表示读写分离分发比例,有效值范围 0~100,主库占所有事物数的比例。可以根据主备库的实际压力来设定