达梦数据库数据守护

达梦数据库数据守护

一、初期环境准备
1.1、奇数机配置
1.1.1、关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
1.1.2、环境初始化
mkdir /dm8
cd /root/soft
mount -o loop dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso /mnt
groupadd dinstall
useradd -g dinstall dmdba
chown dmdba:dinstall /dm8 -R
chmod 775 /dm8 -R
ulimit -n 65536
passwd dmdba
echo “dmdba hard nofile 65536”>>/etc/security/limits.conf
echo “dmdba soft nofile 65536” >>/etc/security/limits.conf
1.1.3、安装软件
1.1.4、安装数据库DM1(数据库名是DAMENG,实例名是DM1)

1.2、偶数机配置
1.2.1、关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
长春开创科技
1.2.2、环境初始化
mkdir /dm8
cd /root/soft
mount -o loop dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso /mnt
groupadd dinstall
useradd -g dinstall dmdba
chown dmdba:dinstall /dm8 -R
chmod 775 /dm8 -R
ulimit -n 65536
passwd dmdba
echo “dmdba hard nofile 65536”>>/etc/security/limits.conf
echo “dmdba soft nofile 65536” >>/etc/security/limits.conf
1.2.3、安装软件
1.2.4、创建数据库DM2(数据库名是DAMENG,实例名是DM2)
创建/dm8/data/DAMENG目录
#su - dmdba
#mkdir -p /dm8/data/DAMENG
#mkdir -p /dm8/data/DAMENG/bak
#mkdir -p /dm8/data/DAMENG/ctl_bak

二、初始化数据
2.1、备份恢复
主库开归档
disql sysdba/dmdba123456@localhost:5236
SQL> alter database mount;
SQL> alter database add archivelog ‘DEST=/dm8/arch,TYPE=local,FILE_SIZE=128,space_limit=0’;
SQL> alter database archivelog;
SQL> alter database open;
备份
$ service DmServicedm1 stop 备份前先关库
$ cd /dm8/data/DAMENG/bin
$ ./dmrman
RMAN> backup database ‘/dm8/data/DAMENG/dm.ini’ full backupset ‘/dm8/data/DAMENG/bak/db_full_bak_01’;
scp -r db_full_bak_01/ dmdba@192.168.128.111:/dm8/data/DAMENG/bak/
备库,恢复前先关库
service DmServicedm2 stop
cd /dm8/bin
./dmrman CTLSTMT=“RESTORE DATABASE ‘/dm8/data/DAMENG/dm.ini’ from BACKUPSET ‘/dm8/data/DAMENG/bak/db_full_bak_01’”
./dmrman CTLSTMT=“RECOVER DATABASE ‘/dm8/data/DAMENG/dm.ini’ from BACKUPSET ‘/dm8/data/DAMENG/bak/db_full_bak_01’”
更新magic
RMAN> recover database ‘/dm8/data/DAMENG/dm.ini’ update db_magic;
2.2、奇数机配置归档
cd /dm8/data/DAMENG/
cat dm.ini | grep ARCH_INI
ARCH_INI = 1
vi /dm8/data/DAMENG/dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DM2
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

#2.2、脱机备份奇数机主库DM1
#2.2.1、停服务:DmServiceDM1 stop
#2.2.2、备份:调图形console工具,做完全备份’/dm8/data/DAMENG/bak/full_db’
#2.2.3、将备份远程拷贝到备库:
#cd /dm8/data/DAMENG/bak/
#scp -r full_db/ 192.168.6.110:/dm8/bak

#2.3、偶数机备库恢复
#2.3.1、调用图形console工具还原–》恢复–》更新db_magic信息
#2.3.2、注意为库目录还原到/dm8/data/DAMENG

三、配置主库
3.1、配置dm.ini (可以追加到dm.ini)
INSTANCE_NAME =DMSVR01
PORT_NUM =5236
DW_INACTIVE_INTERVAL = 60
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64

3.2、配置dmmal.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = DM1
MAL_HOST = 192.168.6.113
MAL_PORT = 5237
MAL_INST_HOST = 192.168.6.113
MAL_INST_PORT = 5236
MAL_DW_PORT = 5238
MAL_INST_DW_PORT = 5239
[MAL_INST2]
MAL_INST_NAME = DM2
MAL_HOST = 192.168.6.110
MAL_PORT = 5237
MAL_INST_HOST = 192.168.6.110
MAL_INST_PORT = 5236
MAL_DW_PORT = 5238
MAL_INST_DW_PORT = 5239

3.3、配置dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DM2
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

3.4、配置dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_ERROR_TIME = 10
INST_OGUID = 453331
INST_INI = /dm8/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD=/dm8/bin/dmserver
INST_RECOVER_TIME = 60
RLOG_SEND_THRESHOLD=0c
RLOG_APPLY_THRESHOLD=0
3.5、启动到Mount----------------------
DmServiceDM1 start mount
3.6、修改OGUID
disql sysdba/dmdba123456@localhost:5236
sp_set_para_value(1,‘ALTER_MODE_STATUS’,1);
sp_set_oguid(453331);
sp_set_para_value(1,‘ALTER_MODE_STATUS’,0);

3.7、修改为主库模式
alter database primary;

四、偶数机备库
cd /dm8/data/DAMENG/
4.1、配置dm.ini
INSTANCE_NAME = DM2
PORT_NUM =5236 #数据库实例监听端口
DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志发送信息

4.2、配置dmmal.ini与主库一样
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = DM1
MAL_HOST = 192.168.6.113
MAL_PORT = 5237
MAL_INST_HOST = 192.168.6.113
MAL_INST_PORT = 5236
MAL_DW_PORT = 5238
MAL_INST_DW_PORT = 5239
[MAL_INST2]
MAL_INST_NAME = DM2
MAL_HOST = 192.168.6.110
MAL_PORT = 5237
MAL_INST_HOST = 192.168.6.110
MAL_INST_PORT = 5236
MAL_DW_PORT = 5238
MAL_INST_DW_PORT = 5239

4.3、配置dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DM1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

4.4、配置dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_ERROR_TIME = 10
INST_OGUID = 453331
INST_INI = /dm8/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD=/dm8/bin/dmserver
INST_RECOVER_TIME = 60
RLOG_SEND_THRESHOLD=0
RLOG_APPLY_THRESHOLD=0

4.5、启动到Mount
dmserver /dm8/data/DAMENG/dm.ini mount
4.6、修改OGUID
sp_set_para_value(1,‘ALTER_MODE_STATUS’,1);
sp_set_oguid(453331);
sp_set_para_value(1,‘ALTER_MODE_STATUS’,0);

4.7、修改为备库模式
alter database standby;

五、偶数机监视器
5.1、cd /dm8/data
5.2、vi 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
[GRP1]
MON_INST_OGUID =453331
MON_DW_IP= 192.168.6.110:5238
MON_DW_IP= 192.168.6.113:5238

说明:
MON_DW_CONFIRM = 1 确认监视器模式
MON_LOG_PATH = /dm7/data/log 监视器日志文件存放目录
MON_LOG_INTERVAL =60 每隔60s定时记录系统信息到日志文件
MON_LOG_FILE_SIZE =32 每个日志文件最大32M
MON_LOG_SPACE_LIMIT =0 不限定日志文件总占用空间
[GRP1]
MON_INST_OGUID =453331 组GRP1的唯一OGUID值
MON_DW_IP= 192.168.6.110:5238 同 MAL_DW_PORT
MON_DW_IP= 192.168.6.110:5238

[GRP1] -------------------------------------》注意此名字不要写错,要和主库和备库中的 dmwatcher.ini 中的组名一样,否则会提示:dmmonitor(mid:1590932471) create link to dmwatcher(192.168.6.113:5238) error, code=-6010, oguid or group_name mismatch, please check config!!!

六、启动守护进程及监视器
注:此时主库与备库仍为mount状态,全部启动之后,稍后守护进程会自动将库启动到open状态。
6.1、主库与备库分别启动守护进程
并将守护进程加到操作系统服务列表
奇数机: dmwatcher /dm8/data/DAMENG/dmwatcher.ini
root用户执行:
/dm8/script/root/dm_service_installer.sh -p DM1 -t dmwatcher -watcher_ini /dm8/data/DAMENG/dmwatcher.ini

偶数机:
dmwatcher /dm8/data/DAMENG/dmwatcher.ini
root用户执行:
/dm8/script/root/dm_service_installer.sh -p DM2 -t dmwatcher -watcher_ini /dm8/data/DAMENG/dmwatcher.ini

备库设置开机自动启动服务DmWatcherServiceDM2
[root@standby-dg ~]# systemctl enable DmWatcherServiceDM2 --now

6.2、备库(偶数机)启动监视进程
dmmonitor /dm8/data/dmmonitor.ini
[root@standby-dg ~]# dmmonitor /dm8/data/dmmonitor.ini
[monitor] 2020-12-18 18:06:50: DMMONITOR[4.0] V8
[monitor] 2020-12-18 18:06:50: DMMONITOR[4.0] IS READY.

[monitor] 2020-12-18 18:06:50: 收到守护进程(DM2)消息
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2020-12-18 18:06:50 STARTUP OK DM2 MOUNT STANDBY NULL 2 43592 43592

[monitor] 2020-12-18 18:06:50: 收到守护进程(DM1)消息
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2020-12-18 18:06:50 STARTUP OK DM1 MOUNT PRIMARY VALID 2 43592 43592

[monitor] 2020-12-18 18:09:15: 守护进程(DM2)状态切换 [STARTUP–>UNIFY EP]
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2020-12-18 18:09:15 UNIFY EP OK DM2 MOUNT STANDBY VALID 2 43592 43592

[monitor] 2020-12-18 18:09:15: 守护进程(DM2)状态切换 [UNIFY EP–>STARTUP]
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2020-12-18 18:09:15 STARTUP OK DM2 OPEN STANDBY VALID 2 43592 43592

[monitor] 2020-12-18 18:09:16: 守护进程(DM1)状态切换 [STARTUP–>UNIFY EP]
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2020-12-18 18:09:16 UNIFY EP OK DM1 MOUNT PRIMARY VALID 2 43592 43592

6.3、偶数机做成系统服务命令:
[root@dmdba1 ~]#/dm8/script/root/dm_service_installer.sh -t dmmonitor -p DM2 -monitor_ini /dm8/data/dmmonitor.ini

监视器服务设置开机自动启动
[root@standby-dg ~]# systemctl enable DmMonitorServiceDM2.service --now
[root@standby-dg ~]# systemctl status DmMonitorServiceDM2.service

查看日志:
cd /dm8/data/log
[dmdba@standby-dg log]$ tail -f dmmonitor_20210104182505.log

7.配置服务开机自动启动
7.1 配置实例服务
奇数机:
/dm8/script/root/dm_service_installer.sh -p DM1 -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini
偶数机:
/dm8/script/root/dm_service_installer.sh -p DM2 -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini

7.2 配置Watcher服务
主库:设置开机自动启动服务DmWatcherServiceDM1
[root@primary-dg ~]#/dm8/script/root/dm_service_installer.sh -p DM1 -t dmwatcher -watcher_ini /dm8/data/DAMENG/dmwatcher.ini
[root@primary-dg ~]# systemctl enable DmWatcherServiceDM1 --now

备库:
root用户执行:
/dm8/script/root/dm_service_installer.sh -p DM2 -t dmwatcher -watcher_ini /dm8/data/DAMENG/dmwatcher.ini

备库设置开机自动启动服务DmWatcherServiceDM2
[root@standby-dg ~]# systemctl enable DmWatcherServiceDM2 --now

7.3 配置dmmonitor服务
[root@dmdba1 ~]#/dm8/script/root/dm_service_installer.sh -t dmmonitor -p DM2 -monitor_ini /dm8/data/dmmonitor.ini

监视器服务设置开机自动启动
[root@standby-dg ~]# systemctl enable DmMonitorServiceDM2.service --now
[root@standby-dg ~]# systemctl status DmMonitorServiceDM2.service

8.测试主库备库数据同步
奇数机:
create table t1 (it integer);
insert into t1 values(1);
insert into t1 values(2);
insert into t1 values(3);
commit;
偶数机:
select * from t1;

9.重启服务器后检查服务状态、实例状态。
奇数机:
[root@primary-dg ~]# ps -ef|grep dmserver
dmdba 5019 1 3 19:01 ? 00:00:01 /dm8/bin/dmserver /dm8/data/DAMENG/dm.ini -noconsole
[root@primary-dg ~]# ps -ef|grep dmwatcher
dmdba 5021 1 0 19:01 ? 00:00:00 /dm8/bin/dmwatcher /dm8/data/DAMENG/dmwatcher.ini

[dmdba@primary-dg ~]$ disql sysdba/SYSDBA

服务器[LOCALHOST:5236]:处于主库打开状态
登录使用时间: 4.803(毫秒)
disql V8
SQL> select status$ from v$instance;

行号 STATUS$


1 OPEN

已用时间: 10.126(毫秒). 执行号:4.

偶数机:
[root@standby-dg ~]# ps -ef|grep dmserver
dmdba 4999 1 1 19:01 ? 00:00:01 /dm8/bin/dmserver /dm8/data/DAMENG/dm.ini -noconsole
[root@standby-dg ~]# ps -ef|grep dmwatcher
dmdba 4966 1 0 19:01 ? 00:00:00 /dm8/bin/dmwatcher /dm8/data/DAMENG/dmwatcher.ini
[root@standby-dg ~]# ps -ef|grep dmmonitor
dmdba 4968 1 0 19:01 ? 00:00:00 /dm8/bin/dmmonitor /dm8/data/dmmonitor.ini

[dmdba@standby-dg ~]$ disql sysdba/SYSDBA

服务器[LOCALHOST:5236]:处于备库打开状态
登录使用时间: 4.470(毫秒)
disql V8
SQL> select status$ from v$instance;

行号 STATUS$


1 OPEN

已用时间: 12.446(毫秒). 执行号:1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值