主库主机IP: 192.168.80.10
备库主机IP: 192.168.80.11
监控器主机IP: 192.168.80.11
数据库名 实例名 PORT_NUM MAL_INST_DW_PORT MAL_HOST MAL_PORT MAL_DW_PORT
DM01 DMSVR01 5236 45101 192.168.80.10 55101 65101
DM01 DMSVR02 5236 45121 192.168.80.10 55121 65121
主备机关闭防火墙
systemctl stop firewalld.service
主库操作
dmdba: 使用dbca.sh创建数据库
/dm8/bin/dminit path=/dm8/data DB_NAME=DM01 instance_name=DMSVR01 port_num=5246 SYSDBA_PWD=Dameng123 SYSAUDITOR_PWD=Dameng123
root:创建systemd服务
/dm8/script/root/dm_service_installer.sh -t dmserver -p DMSVR01 -dm_ini /dm8/data/DM01/dm.ini
root:启动主库
systemctl start DmServiceGRP1_RT_01.service
dmdba:确认主库可以访问
/dm8/bin ./disql sysdba/Dameng123:5246
root:关闭实例准备冷备份
systemctl stop DmServiceGRP1_RT_01
dmdba:创建 /dm8/backup 目录
mkdir -p /dm8/backup
cd /dm8/bin
dmrman CTLSTMT="BACKUP DATABASE '/dm8/data/DMDW/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dm8/backup/'"
备份文件传输到备机,修改备机文件属组
scp -r * root@192.168.80.11:/dm8/backup
修改主库/dm8/data/DMDW/dm.ini, 注意@所在行参数为需要更改数值
/dm8/data/DMDW/dm.ini
INSTANCE_NAME = GRP1_RT_01
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
添加/dm8/data/DMDW/dmmal.ini
vi /dm8/data/DMDW/dmmal.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01
MAL_HOST = 192.168.80.10
MAL_PORT = 55101
MAL_INST_HOST = 192.168.80.10
MAL_INST_PORT = 5246
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 192.168.80.11
MAL_PORT = 55121
MAL_INST_HOST = 192.168.80.11
MAL_INST_PORT = 5246
MAL_DW_PORT = 65121
MAL_INST_DW_PORT = 45121
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_02
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
root:创建systemd服务
/dm8/script/root/dm_service_installer.sh -t dmwatcher -p DMWATCHER -watcher_ini /dm8/data/DMDW/dmwatcher.ini -m mount -p GRP1_RT_01
root用户启动实例,并转换到mount状态
查询数据库状态 select STATUS$ from V$INSTANCE;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(453331); --主备的数据库uid必须保持一致
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
SQL>alter database primary;
备机操作
备库:
dmdba: 使用dbca.sh创建数据库
/dm8/bin/dminit path=/dm8/data DB_NAME=DMDW instance_name=GRP1_RT_02 port_num=5246 SYSDBA_PWD=Dameng123 SYSAUDITOR_PWD=Dameng123
root:创建systemd服务
/dm8/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_02 -dm_ini /dm8/data/DMDW/dm.ini
启动DMAP service
DmAPService start - 注意如果在restore时报不能与dmap服务通信, 需要重启此服务
/dm8/bin/dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/DMDW/dm.ini' FROM BACKUPSET '/dm8/backup'"
/dm8/bin/dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DMDW/dm.ini' FROM BACKUPSET '/dm8/backup'"
/dm8/bin/dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DMDW/dm.ini' UPDATE DB_MAGIC"
修改备库/dm8/data/DMDW/dm.ini
INSTANCE_NAME = GRP1_RT_02
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
添加/dm8/data/DMDW/dmmal.ini
vi /dm8/data/DMDW/dmmal.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01
MAL_HOST = 192.168.80.10
MAL_PORT = 55101
MAL_INST_HOST = 192.168.80.10
MAL_INST_PORT = 5246
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 192.168.80.11
MAL_PORT = 55121
MAL_INST_HOST = 192.168.80.11
MAL_INST_PORT = 5246
MAL_DW_PORT = 65121
MAL_INST_DW_PORT = 45121
添加/dm8/data/DMDW/dmarch.ini
dmdba: mkdir -p /dm8/arch
vi /dm8/data/DMDW/dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_01
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
以 Mount 方式启动备库
root:/dm8/bin/dmserver /dm8/data/DMDW/dm.ini mount &
/dm8/bin/disql sysdba/Dameng123:5246
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(453331);
SQL>alter database standby;
root:创建systemd服务
/dm8/script/root/dm_service_installer.sh -t dmwatcher -p DMWATCHER -watcher_ini /dm8/data/DMDW/dmwatcher.ini -m mount -p GRP1_RT_02
主机上启动监控:
vi /dm8/data/DMDW/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
[GRP_SVR]
MON_INST_OGUID = 453331
MON_DW_IP = 192.168.80.10:65101
MON_DW_IP = 192.168.80.11:65121
root 启动监视器
前台命令行:/dm8/bin/dmmonitor /dm8/data/DMDW/dmmonitor.ini 只用前台启动
注册服务
cd /dm8/script/root
./dm_service_installer.sh -t dmmonitor -p DMMONITOR -monitor_ini /dm8/data/DMDW/dmmonitor.ini
systemctl start DmMonitorServiceDMMONITOR
启动守护进程
测试:
主机:
SQL>create user john identified by Dameng123;
SQL>grant create table to john;
SQL> connect john/Dameng123:5246
SQL>select user();
SQL>create table t (id int primary key, name varchar(10));
SQL>insert into t values (10,'test');
SQL>insert into t values (20,'test');
SQL>commit;
备机:
SQL> select * from john.t;
文章
阅读量
获赞