环境参数(以下值可根据实际情况批量替换)
参数 | 参数值 |
---|---|
ip1 | 192.168.0.1 |
ip2 | 192.168.0.2 |
用户组id | 12349 |
安装目录 | /home/dmdba/dmdbms |
数据目录 | /opt/dmdata/data |
初始数据库名 | DAMENG |
归档目录 | /opt/dmdata/arch |
服务名 | DmServicedw |
ip1为原单机环境的ip,改造成新部署的主备集群的主库,ip2为新增的服务器,要改造成新部署的主备集群的备库
ps:以上目录建议主备库统一,如果不同的话后文需自行修改;集群的心跳ip可与业务id一致,若不一致,需要单独调整
检查方法:
SQL> select * from v$dm_arch_ini where ARCH_IS_VALID='Y';
若归档没有开启,需要进行配置
配置方法:
SQL> ALTER DATABASE MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST = /home/dm_arch/arch, TYPE = local,FILE_SIZE = 1024, SPACE_LIMIT = 204800';
SQL> ALTER DATABASE OPEN;
SQL> BACKUP DATABASE FULL BACKUPSET '/opt/dmdata/bak/备份文件名';
在数据目录下操作
拷贝dm.ini文件,在bak文件进行更改,停服后可直接切换,同时对原dm.ini文件进行存档,方便出问题时进行回滚操作
cp dm.ini dm_bak.ini
vi dm_bak.ini
INSTANCE_NAME = DW1 MAL_INI = 1 ARCH_INI = 1 ALTER_MODE_STATUS = 0 ENABLE_OFFLINE_TS = 2
添加如下内容
vi dmarch.ini
[ARCHIVE_REALTIME1] ARCH_TYPE = REALTIME ARCH_DEST = DW2
新建配置文件
vi dmmal.ini
MAL_CHECK_INTERVAL = 10 MAL_CONN_FAIL_INTERVAL = 10 MAL_TEMP_PATH = /opt/dmdata/data/malpath/ MAL_BUF_SIZE = 512 MAL_SYS_BUF_SIZE = 2048 MAL_COMPRESS_LEVEL = 0 [MAL_INST1] MAL_INST_NAME = DW1 MAL_HOST = 192.168.0.1 #心跳IP MAL_PORT = 5336 MAL_INST_HOST = 192.168.0.1 #业务IP MAL_INST_PORT = 5236 MAL_DW_PORT = 5436 MAL_INST_DW_PORT = 5536 [MAL_INST2] MAL_INST_NAME = DW2 MAL_HOST = 192.168.0.2 MAL_PORT = 5336 MAL_INST_HOST = 192.168.0.2 MAL_INST_PORT = 5236 MAL_DW_PORT = 5436 MAL_INST_DW_PORT = 5536
新建配置文件
vi dmwatcher.ini
[GRP_DW] DW_TYPE = GLOBAL #全局守护类型 DW_MODE = AUTO #自动切换模式 DW_ERROR_TIME = 20 #远程守护进程故障认定时间 INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间 INST_ERROR_TIME = 20 #本地实例故障认定时间 INST_OGUID = 453331 #守护系统唯一 OGUID 值 INST_INI = /opt/dmdata/data/DAMENG/dm.ini #dm.ini 配置文件路径 INST_AUTO_RESTART = 1 #打开实例的自动启动功能 INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/DmServicedw start #修改服务名方式启动
关闭numa、透明大页、selinux等参数,调整内核参数,具体步骤此处省略
挂载 iso 镜像文件
./DMInstall -i 通过交互式命令进行安装,具体步骤此处省略
在数据库安装目录下的bin目录执行,不用指定额外参数,下面会替换掉ini文件
./dminit path=/opt/dmdata/data
将刚才主库的备份文件拷贝过来,提前 RESTORE
scp -r root@192.168.0.1:/opt/dmdata/bak/备份文件名 /opt/dmdata/bak
./dmrman
RMAN> RESTORE DATABASE '/opt/dmdata/data/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmdata/bak/备份文件名';
所有涉及scp文件拷贝的操作结束后记得关注拷贝过来的文件的所有者权限
直接用主库dm.ini文件对备库进行替换
scp root@192.168.0.1:/opt/dmdata/data/DAMENG/dm.ini /opt/dmdata/data/DAMENG/
修改dm.ini文件中实例名
vi dm.ini
INSTANCE_NAME = DW2
直接拷贝主库dmarch.ini文件到备库
scp root@192.168.0.1:/opt/dmdata/data/DAMENG/dmarch.ini /opt/dmdata/data/DAMENG/
修改 dmarch.ini 中ARCH_DEST的值
vi dmarch.ini
ARCH_DEST = DW1
不用做更改
scp -r root@192.168.0.1:/opt/dmdata/data/DAMENG/dmmal.ini /opt/dmdata/data/DAMENG/
不用做更改
scp root@192.168.0.1:/opt/dmdata/data/DAMENG/dmwatcher.ini /opt/dmdata/data/DAMENG/
可以在主库或者备库或者第三台服务器配置监视器
MON_DW_Confirm = 0 #非确认监视器模式
MON_LOG_PATH = /home/dmdba/dmdbms/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60 s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 200 #每个日志文件最大 32 MB
MON_LOG_SPACE_LIMIT = 1024 #不限定日志文件总占用空间
[GRP_DW]
MON_INST_OGUID = 453331 #组 GRP_DW 的唯一 OGUID 值
#以下配置为监视器到组 GRP_DW 的守护进程的连接信息,以“IP:PORT”的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 192.168.0.1:5436
MON_DW_IP = 192.168.0.2:5436
MON_DW_Confirm = 1 #确认监视器模式
MON_LOG_PATH = /home/dmdba/dmdbms/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60 s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 200 #每个日志文件最大 32 MB
MON_LOG_SPACE_LIMIT = 1024 #不限定日志文件总占用空间
[GRP_DW]
MON_INST_OGUID = 453331 #组 GRP_DW 的唯一 OGUID 值
#以下配置为监视器到组 GRP_DW 的守护进程的连接信息,以“IP:PORT”的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 192.168.0.1:5436
MON_DW_IP = 192.168.0.2:5436
./DmServicedw stop mv dm.ini dm2.ini mv dm_bak.ini dm.ini
scp root@192.168.0.1:/opt/dmdata/arch /opt/dmdata/arch
./dmrman
RMAN>RECOVER DATABASE '/opt/dmdata/data/DAMENG/dm.ini' WITH ARCHIVEDIR '/opt/dmdata/arch'
RMAN>RECOVER DATABASE '/opt/dmdata/data/DAMENG/dm.ini' UPDATE DB_MAGIC
cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmwatcher -p dw -watcher_ini /opt/dmdata/data/DAMENG/dmwatcher.ini
./dm_service_installer.sh -t dmwatcher -p dw -watcher_ini /opt/dmdata/data/DAMENG/dmwatcher.ini
./dm_service_installer.sh -t dmserver -p dw -dm_ini /opt/dmdata/data/DAMENG/dm.ini -m mount
./dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /opt/dmdata/data/DAMENG/dmmonitor.ini
主库(实例服务启动为mount状态)
./DmServicedw start
disql
>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
>sp_set_oguid(453331);
>alter database primary;
>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
备库(实例服务启动为mount状态)
./DmServicedw start
disql
>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
>sp_set_oguid(453331);
>alter database standby;
>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
主备库分别启动守护进程服务
./DmWatcherServicedw start
启动监视器
./DmMonitorServiceMonitor start
登陆非确认监视器,查看集群状态
./dmmonitor dmmonitor_manual.ini show global info
文章
阅读量
获赞