达梦数据库数据守护和主备搭建详细步骤(从干净系统开始)

6 篇文章 0 订阅
5 篇文章 0 订阅

数据守护和主备

环境准备

Centos7 64位 3台
DM8安装包iso

环境检查

1、
最小可用内存需要1067m,虚拟机配置最少需要2G内存,然后查看free -m 可用内存大于1067便可

[root@DM-1 dmdba]# free -m
              total        used        free      shared  buff/cache   available
Mem:          1985          142        1688       8       154         1688
Swap:         2047            0        2047

2、
检查limit配置,配置文件为/etc/security/limit.conf

[root@DM-1 dmdba]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 7861
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024		#需要修改为>65536的参数
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 7861
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

需要在后面添加下面参数来修改

dmdba       soft    nofile  65536
dmdba       hard    nofile  65536
dmdba       soft    nproc   10240
dmdba       hard    nproc   10240

安装准备

1、创建用户和组

Groupadd dinstall
Useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
Passwd dmdba  		#此步骤后提示输出dmdba密码和确认dmdba密码

2、上传安装包
通用机安装包上传时会有两种情况:
(1) 有光盘,需要将光盘直接挂在到主机中

Mount -o,loop /dev/sr0 /mnt 

(2) 有iso镜像,需要将iso镜像复制到目标主机中进行挂在

Mount -o,loop DM8*.iso /mnt

安装操作

!!!安装数据库一定要使用dmdba用户操作
1、使用dmdba用户执行

[dmdba@DM-2 mnt]$ ./DMInstall.bin -i

2、安装完成之后会提示使用root用户执行

/home/dmdba/dmdbms/script/root/root_installer.sh

如果没有这个提示,那得看看是否是以dmdba用户安装的,如果不是,需要重新安装
3、安装好后需要执行数据库初始化操作(需要切换到dmdba用户)
注:初始化后有些参数将不能更改,需要提前核对清楚用户需求,不能修改且重要的参数有:
簇大小
页大小
字符集
大小写敏感
4、初始化完成后需要对数据库进行一次启停

./dmserver /dm8/data/DAMENG/dm.ini
当提示system is ready后 输入exit停止

数据同步

方法一
主库使用rman工具备份主库

./dmrman CTLSTMT="BACKUP DATABASE '/dm/data/DAMENG/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dm/data/BACKUP_FILE_01'"

拷贝备份文件到备库。。。。。。

备库使用rman工具还原与恢复

./dmrman CTLSTMT="RESTORE DATABASE '/dm/data/DAMENG/dm.ini' FROM BACKUPSET
'/dm/data/BACKUP_FILE_01'"
./dmrman CTLSTMT="RECOVER DATABASE '/dm/data/DAMENG/dm.ini' FROM BACKUPSET
'/dm/data/BACKUP_FILE_01'"
./dmrman CTLSTMT="RECOVER DATABASE '/dm/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

方法二
进入disql对主库进行联机备份操作

SQL> BACKUP DATABASE BACKUPSET '/dm/data/BACKUP_FILE_01';

拷贝备份文件到备库。。。。。。

执行脱机数据库还原与恢复

./dmrman CTLSTMT="RESTORE DATABASE '/dm/data/DAMENG/dm.ini' FROM BACKUPSET '/dm/data/BACKUP_FILE_01'"
./dmrman CTLSTMT="RECOVER DATABASE '/dm/data/DAMENG/dm.ini' FROM BACKUPSET '/dm/data/BACKUP_FILE_01'"
./dmrman CTLSTMT="RECOVER DATABASE '/dm/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

参数配置

主、备库配置项(dmmal.ini/dmarch.ini/dmwatcher.ini需要新建)

dm.ini

INSTANCE_NAME  = GRP1_RT_01				#实例名,需要和备机区分开,一般使用组名_守护环境_序号 标识
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 次的日志发送信息

dmmal.ini

MAL_CHECK_INTERVAL = 5 					#MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 				#判定 MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01 				#实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.0.141 					#MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 61141 							#MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.1.131 				#实例的对外服务 IP 地址
MAL_INST_PORT = 5236 						#实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT  = 52141 						#实例本地的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 33141 					#实例监听守护进程 TCP 连接的端口
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 192.168.0.142
MAL_PORT = 61142
MAL_INST_HOST = 192.168.1.132
MAL_INST_PORT = 32142
MAL_DW_PORT  = 52142
MAL_INST_DW_PORT = 33142

dmarch.ini

[ARCHIVE_REALTIME]
ARCH_TYPE  = REALTIME 						#实时归档类型
ARCH_DEST  = GRP1_RT_02  					#实时归档目标实例名(主库所在服务器写备机的,备机所在写主机的)
[ARCHIVE_LOCAL1]
ARCH_TYPE  = LOCAL	 						#本地归档类型
ARCH_DEST  = /dm/data/DAMENG/arch 		#本地归档文件存放路径
ARCH_FILE_SIZE = 128  						#单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT  = 0 						#单位 Mb,0 表示无限制,范围 1024~4294967294M
dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL 							#全局守护类型
DW_MODE = AUTO 							#自动切换模式,MANUAL为手动
DW_ERROR_TIME = 10  						#远程守护进程故障认定时间
INST_RECOVER_TIME = 60 						#主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10  						#本地实例故障认定时间
INST_OGUID = 453331  						#守护系统唯一 OGUID 值
INST_INI = /dm8/data/DAMENG/dm.ini  			#dm.ini 配置文件路径
INST_AUTO_RESTART = 1 						#打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver  #命令行方式启动
RLOG_SEND_THRESHOLD = 0 					#指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 					#指定备库重演日志的时间阀值,默认关闭
确认监视器配置项(dmmonitor.ini需要新建)
dmmonitor.ini	
MON_DW_CONFIRM = 1 						#确认监视器模式
MON_LOG_PATH = /dm8/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 值
#以下配置为监视器到组 GRP1 的守护进程的连接信息,以―IP:PORT‖的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 192.168.0.141:52141				#心跳线端口IP和端口号
MON_DW_IP = 192.168.0.142:52142				#心跳线端口IP和端口号

数据库模式设置

mount模式启动主备数据库(此时前台处于占用状态,另开窗口操作下一步)
disql进入数据库执行分别执行

主库:

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(453331);
SQL>alter database primary; 
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

备库:

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);

创建服务

使用root用户进入$DM_HOME/script/root/

主库
创建数据库服务(以mount启动)

$DM_HOME/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_01 -dm_ini /dm8/data/DAMENG/dm.ini -m mount 

创建DmWatcher服务

$DM_HOME/script/root/dm_service_installer.sh -t dmwatcher -p GRP1_RT_01 -watcher /dm8/data/DAMENG/dmwatcher 

备库
创建数据库服务

$DM_HOME/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_02 -dm_ini /dm8/data/DAMENG/dm.ini -m mount 

创建DmWatcher服务

$DM_HOME/script/root/dm_service_installer.sh -t dmwatcher -p GRP1_RT_02 -watcher /dm8/data/DAMENG/dmwatcher 

启动监视器

监控服务器切换到dmdba用户

./dmmonitor data/DAMENG/dmmonitor.ini

**确认监视器会自动将主备库拉起来至open状态,

<<DATABASE GLOBAL INFO:>>
IP              MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.1.141    52141        2020-11-01 21:50:41  GLOBAL    VALID     OPEN           GRP1_RT_01      OK        1     1     OPEN        PRIMARY   DSC_OPEN       TIMELY    VALID    

EP INFO:
INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
32141      OK        GRP1_RWW_01      OPEN        PRIMARY   0          0            TIMELY    VALID    3954            39422           3954            39422           NONE                  

<<DATABASE GLOBAL INFO:>>
IP              MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.1.142    52142        2020-11-01 21:50:40  GLOBAL    VALID     OPEN           GRP1_RT_02      OK        1     1     OPEN        STANDBY   DSC_OPEN       TIMELY    VALID    

EP INFO:
INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
32142      OK        GRP1_RWW_02      OPEN        STANDBY   0          0            TIMELY    VALID    3941  

使用show命令刷新页面查看集群中数据库的状态信息。**

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值