达梦8.1.3.26版本开始支持open状态下添加实时归档和即时归档归档信息
原系统一主一备集群正常运行,需求增加二备,升级为一主三备
操作系统:Kylin V10
主机名 | 服务IP | 心跳IP | 数据库名 | 实例名 |
---|---|---|---|---|
dmdb01 | 10.0.0.1 | 10.10.10.5 | dmdb | dw1 |
dmdb02 | 10.0.0.2 | 10.10.10.6 | dmdb | dw2 |
dmdb03(新增主机) | 10.0.0.3 | 10.10.10.7 | dmdb | dw3 |
dmdb04(新增主机) | 10.0.0.4 | 10.10.10.8 | dmdb | dw4 |
监视器主机 | 192.168.31.7 | dmm |
可以通过查看dmmal.ini查询之前的设置
实例名 | 实例端口 | MAL 系统监听 TCP 连接的端口 | 实例本地的守护进程监听 TCP 连接的端口 | 实例监听守护进程 TCP 连接的端口 |
---|---|---|---|---|
dw1 | 5236 | 7336 | 7436 | 7536 |
dw2 | 5236 | 7336 | 7436 | 7536 |
dw3(新增实例) | 5236 | 7336 | 7436 | 7536 |
dw4(新增实例) | 5236 | 7336 | 7436 | 7536 |
1.新主机搭建好环境,拷贝主库配置文件并修改,拷贝主库备份并还原,修改OGUID及模式
2.已有主备库动态增加dmmal.ini和dmarch.ini的新主机信息
3.关闭主备守护进程,四个节点守护进程一起启动
4.修改监听器的配置文件
修改范围:10.0.0.3 10.0.0.4
略,与已有主备库保持一致
修改范围:10.0.0.3 10.0.0.4
新实例的服务器配置,安装路径都和目前集群服务器一致,可以直接复制主库的dm.ini文件,复制后,只需要修改 INSTANCE_NAME 属性。例子中要修改成dw03和dw04覆盖前记得备份之前的。
INSTANCE_NAME = DW03 / DW04
修改范围: 10.0.0.3、10.0.0.4
修改文件前记得备份
直接使用scp命令复制主库配置文件,然后手动添加新节点
[dmdba@dmdb01 dmdb]$ cat dmmal.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 15
[MAL_INST1]
MAL_INST_NAME = dw01
MAL_HOST = 10.10.10.5
MAL_PORT = 7336
MAL_INST_HOST = 10.0.0.1
MAL_INST_PORT = 5236
MAL_DW_PORT = 7436
MAL_INST_DW_PORT = 7536
[MAL_INST2]
MAL_INST_NAME = dw02
MAL_HOST = 10.10.10.6
MAL_PORT = 7336
MAL_INST_HOST = 10.0.0.2
MAL_INST_PORT = 5236
MAL_DW_PORT = 7436
MAL_INST_DW_PORT = 7536
[MAL_INST3]
MAL_INST_NAME = dw03
MAL_HOST = 10.10.10.7
MAL_PORT = 7336
MAL_INST_HOST = 10.0.0.3
MAL_INST_PORT = 5236
MAL_DW_PORT = 7436
MAL_INST_DW_PORT = 7536
[MAL_INST4]
MAL_INST_NAME = dw04
MAL_HOST = 10.10.10.8
MAL_PORT = 7336
MAL_INST_HOST = 10.0.0.4
MAL_INST_PORT = 5236
MAL_DW_PORT = 7436
MAL_INST_DW_PORT = 7536
修改范围:10.0.0.3 10.0.0.4
直接复制主库dmwatcher.ini即可
修改范围:10.0.0.3 10.0.0.4
直接复制主库的,手动添加新节信息,并修改ARCHIVE_REALTIME为他2台主机的实例名 。
修改文件前记得备份
10.0.0.3 - dw03的
[dmdba@dmdb01 dmdb]$ cat /dmdata/dmdb/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmarch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 102400
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = dw01
[ARCHIVE_REALTIME2]
ARCH_TYPE = REALTIME
ARCH_DEST = dw02
[ARCHIVE_REALTIME3]
ARCH_TYPE = REALTIME
ARCH_DEST = dw04
[dmdba@dmdb01 dmdb]$ cat /dmdata/dmdb/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmarch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 102400
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = dw01
[ARCHIVE_REALTIME2]
ARCH_TYPE = REALTIME
ARCH_DEST = dw02
[ARCHIVE_REALTIME3]
ARCH_TYPE = REALTIME
ARCH_DEST = dw03
操作范围:10.0.0.1 主库
cd /home/dmdba/dmdbms/bin
./disql SYSDBA/密码
SQL> backup database backupset '/dmbak/bakfull';
##在主库执行scp命令复制备份集到新主机
$ scp -r /dmbak/bakfull/ 10.0.0.3:/dmbak/
$ scp -r /dmbak/bakfull/ 10.0.0.4:/dmbak/
##输入新主机的dmdba的密码,如果没设置密码需要在新主机的root账号下设置密码
[root@dmdb04 root]# passwd dmdba
更改用户 dmdba 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
操作范围:10.0.0.3 10.0.0.4 新备库
$ dmrman
RMAN> restore database '/dmdata/dmdb/dm.ini' from backupset '/dmbak/bakfull';
执行完新节点先不要启动数据库,后续还有归档数据的恢复
修改范围: 10.0.0.1、10.0.0.2
1.设置 MAL 配置状态
SF_MAL_CONFIG(1,0);
2.增加 MAL 配置项
SF_MAL_INST_ADD('配置项名称','实例名','MAL_HOST',MAL_PORT,'MAL_INST_HOST', MAL_INST_PORT,MAL_DW_PORT,MAL_LINK_MAGIC,MAL_INST_DW_PORT);
--例如
SF_MAL_INST_ADD('MAL_INST3','dw03','10.10.10.7',7336,'10.10.10.3',5236,7436,0,7536);
3.将 MAL 配置生效
SF_MAL_CONFIG_APPLY();
4.取消设置 MAL 配置状态
SF_MAL_CONFIG(0,0);
修改范围: 10.0.0.1、10.0.0.2
ALTER DATABASE ADD ARCHIVELOG 'DEST=实例名, TYPE=归档类型;
--例如
ALTER DATABASE ADD ARCHIVELOG 'DEST=dw03,TYPE=REALTIME';
修改范围: 10.0.0.1、10.0.0.2
cd /dmdata/dmdb/arch
找到主库备份之后的全备归档文件,复制到新机器,用来追数据
##在主库执行scp命令复制备份集到新主机
$ scp -r /dmdata/dmdb/arch/…… 10.0.0.3:/dmdata/dmdb/arch/
$ scp -r /dmdata/dmdb/arch/…… 10.0.0.4:/dmdata/dmdb/arch/
$ dmrman
RMAN> recover database '/dmdata/dmdb/dm.ini' with archivedir /dmdata/dmdb/arch/;
RMAN> recover database '/dmdata/dmdb/dm.ini' update db_magic;
修改范围: 10.0.0.3、10.0.0.4
查看主库的OGUID是多少,有多种方法查看
查看主库的oguid的设置,新的主机也设置为一致
[dmdba@dmdb01 dmdb]$ cat dmwatcher.ini | grep INST_OGUID
INST_OGUID = 453331
启动为mount状态(如果启动窗口有限,可以修改启动脚本的启动状态为mount)
[dmdba@dmdb03 dmdb]$ cd /home/dmdba/dmdbms/bin
[dmdba@dmdb03 bin]$ ./dmserver /dmdata/dmdb/dm.ini mount
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 1-2-94-21.11.11-150650-10038-ENT startup...
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
Database mode = 0, oguid = 0
License will expire on 2022-12-12
file lsn: 39845
ndct db load finished
ndct second level fill fast pool finished
ndct third level fill fast pool finished
ndct fill fast pool finished
nsvr_startup end.
aud sys init success.
aud rt sys init success.
systables desc init success.
ndct_db_load_info success.
SYSTEM IS READY.
在新的窗口登陆disql 修改属性
需要修改的参数(联机恢复过来的备份,需要打开配置才可以修改)
[dmdba@dmdb04 ~]$ cd /home/dmdba/dmdbms/bin
[dmdba@dmdb04 bin]$ ./disql SYSDBA/SYSDBA
Server[LOCALHOST:5236]:mode is normal, state is mount
login used time : 2.052(ms)
disql V8
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);
操作范围:10.0.0.3 10.0.0.4
直接kill 新备库的数据库进程即可。
操作范围:10.0.0.3 10.0.0.4
注册服务要使用root用户
cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmserver -p dw -dm_ini /dmdata/dmdb/dm.ini
./dm_service_installer.sh -t dmwatcher -p dw -watcher_ini /dmdata/dmdb/dmwatcher.ini
操作范围:192.168.31.7
登录监视器的服务器(确认监视器和非确认监视器),修改配置文件
在原来的基础上添加新备库的信息即可。
vi /dmdata/dmdb/dmmonitor.ini
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 #0不限定日志文件总占用空间
[GRP_DW]
MON_INST_OGUID = 453331 #组 GRP_DW 的唯一 OGUID 值
MON_DW_IP = 10.10.10.5:7436
MON_DW_IP = 10.10.10.6:7436
MON_DW_IP = 10.10.10.7:7436
MON_DW_IP = 10.10.10.8:7436
1.停止确认监视器模式:
cd /home/dmdba/dmdbms/bin
./DmMonitorServicedw stop
2.在备库 IP:10.0.0.4 开启数据库服务
cd /home/dmdba/dmdbms/bin
./DmServicedw start
3.在备库 IP:10.0.0.3 开启数据库服务
cd /home/dmdba/dmdbms/bin
./DmServicedw start
4.在主库 IP 10.0.0.1关闭守护进程服务:
cd /home/dmdba/dmdbms/bin
./DmWatcherServicedw stop
5.在备库 IP:10.0.0.2 关闭守护进程服务
cd /home/dmdba/dmdbms/bin
./DmWatcherServicedw stop
6.在主库 IP:10.0.0.1 开启守护进程服务
cd /home/dmdba/dmdbms/bin
./DmWatcherServicedw start
7.在备库 IP:10.0.0.2 开启守护进程服务
cd /home/dmdba/dmdbms/bin
./DmWatcherServicedw start
8.在备库 IP:10.0.0.3 开启守护进程服务
cd /home/dmdba/dmdbms/bin
./DmWatcherServicedw start
9.在备库 IP:10.0.0.4 开启守护进程服务
cd /home/dmdba/dmdbms/bin
./DmWatcherServicedw start
10.在 监视器 上面 开启确认监视器模式:
cd /home/dmdba/dmdbms/bin
./DmMonitorServicedw start
登录非确认监视器,进行主备切换,验证集群
略
文章
阅读量
获赞