DB2 HADR 配置 centos 7配置 DB2 HADR 版本 11.1,【亲测可用】全网最细

DB2 HADR 配置 centos 7配置 DB2 HADR 版本 11.1,【亲测可用】全网最细的男人

操作系统 linux centos7

DB2版本 11.1

主库 192.168.46.70

备库 192.168.46.71

参考文章:一步一个脚印 DB2 10.5 HADR 主备库配置

前置条件

  • 机器之间时间必须同步,生产环境配置时钟同步服务;
  • 建议操作系统版本、DB2数据库版本等保持一致;
  • 建议db2数据库用户标识等保持一致;
    关于如何安装db2,请参考我的上一篇文章 centos7安装db2 version11.1

主备均配置

安装完整依赖,不然HADR会配置失败

yum install -y bc binutils* compat-libcap1* compat-libstdc* elfutils-libelf* elfutils-libelf-devel* fontconfig-devel* glibc* glibc-devel* ksh libaio* libaio-devel* libX11* libXau* libXi* libXtst* libXrender* libXrender-devel* libgcc* libstdc++* libstdc++-devel* libxcb* make net-tools nfs-utils smartmontools sysstat unixODBC gcc gcc-c++ python python-configshell python-rtslib python-six targetcli ntpyum install -y libstdc++.i686yum install -y pam.i686

配置/etc/hosts主备均配置

192.168.46.70 db2_node1 apple
192.168.46.71 db2_node2 pear

配置 /etc/services 主备均配置

vim /etc/services
db2_hadr1  60001/tcp
db2_hadr2  60002/tcp

db2网络的配置

su - db2imn
db2set DB2COMM=TCPIP
db2set -all

主库配置

创建目录

mkdir -p /db2/db2imn/data/dogdb
mkdir -p /db2/db2imn/arch
mkdir  /db2/db2imn/data/dogdb/tbs
chown db2inst1:db2iadm1  -R /db2

准备测试表

##创建数据库
db2 "create db dogdb on /db2/db2imn/data/dogdb using codeset utf8 territory CN"
db2 connect to dogdb##创建缓冲区
db2 "create bufferpool TB_BP_8k size 4000 pagesize 8k"
db2 "create bufferpool IDX_BP_8k size 4000 pagesize 8k"创建表空间
db2 "create regular tablespace TB_TS pagesize 8k managed by database using(file '/db2/db2imn/data/dogdb/tbs/TB_TS' 10g) bufferpool TB_BP_8k"  
db2 "create regular tablespace IDX_TS pagesize 8k managed by database using(file '/db2/db2imn/data/dogdb/tbs/IDX_TS' 4g) bufferpool IDX_BP_8k"  创建表
db2 connect to dogdbdb2 'create table t1(id integer,name varchar(10),sex varchar(10))  IN "TB_TS" INDEX IN "IDX_TS"'
db2 'create table t2(id integer,name varchar(10),sex varchar(10))  IN "TB_TS" INDEX IN "IDX_TS"'db2 "insert into t1 values(1,'aaaa','bbbbb')"
db2 "insert into t2 values(1,'aaaa','bbbbb')"db2 'select * from t1'

配置归档

db2 update db cfg for dogdb using logarchmeth1 disk:/db2/db2imn/arch

备份数据库

mkdir -p /home/db2imn/db2_backup
chown db2inst1:db2iadm1  -R /home/db2imn/db2_backup
db2 force applications all
db2 backup database dogdb to "/home/db2imn/db2_backup"

重启实例

db2stop
db2start

Note:配置归档参数需要重启生效。

手动归档

db2 archive log for db dogdb

配置备库只读

db2set DB2_HADR_ROS=ON
db2set DB2_STANDBY_ISO=UR

Note:作为备库只读,需要配置以上参数。

配置HADR同步参数

HADR_LOCAL_* 为当前机器参数
HADR_REMOT_* 为对方的参数(主或者备)
HADR_REMOTE_INST 为示例名

db2 update db cfg for dogdb using HADR_LOCAL_HOST db2_node1db2 update db cfg for dogdb using HADR_LOCAL_SVC db2_hadr1db2 update db cfg for dogdb using HADR_REMOTE_HOST db2_node2db2 update db cfg for dogdb using HADR_REMOTE_SVC db2_hadr2db2 update db cfg for dogdb using HADR_REMOTE_INST db2inst1db2 update db cfg for dogdb using HADR_SYNCMODE NEARSYNCdb2 update db cfg for dogdb using HADR_TIMEOUT 120db2 update db cfg for dogdb using LOGINDEXBUILD ON

拷贝备份集

scp /home/db2imn/db2_backup/DOGDB.0.db2inst1.DBPART000.20231013052844.001 db2inst1@pear:/home/db2imn/db2_backup

备库设置

创建目录

mkdir -p /db2/db2imn/data/dogdb
mkdir -p /db2/db2imn/arch
mkdir  /db2/db2imn/data/dogdb/tbs
chown db2inst1:db2iadm1  -R /db2

恢复数据库

db2 restore database dogdb  from "/home/db2imn/db2_backup" 

配置备库只读

db2set DB2_HADR_ROS=ON
db2set DB2_STANDBY_ISO=UR

查看备库的状态

db2 get db cfg for dogdb | grep Rollforward
db2 rollforward db dogdb query status

[db2inst1@pear ~]$ db2 get db cfg for dogdb | grep Rollforward
Rollforward pending = DATABASE
[db2inst1@pear ~]$ db2 rollforward db dogdb query status

                             Rollforward Status

Input database alias = dogdb
Number of members have returned status = 1

Member ID = 0
Rollforward status = DB pending
Next log file to be read = S0000000.LOG
Log files processed = -
Last committed transaction = 2023-10-13-09.28.49.000000 UTC

Note:开启同步前,备库的状态要为pending

配置HADR同步参数

db2 get db cfg for dogdb | grep -i HADR

HADR database role = STANDARD
HADR local host name (HADR_LOCAL_HOST) =
HADR local service name (HADR_LOCAL_SVC) =
HADR remote host name (HADR_REMOTE_HOST) =
HADR remote service name (HADR_REMOTE_SVC) =
HADR instance name of remote server (HADR_REMOTE_INST) =
HADR timeout value (HADR_TIMEOUT) = 120
HADR target list (HADR_TARGET_LIST) =
HADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC
HADR spool log data limit (4KB) (HADR_SPOOL_LIMIT) = AUTOMATIC(0)
HADR log replay delay (seconds) (HADR_REPLAY_DELAY) = 0
HADR peer window duration (seconds) (HADR_PEER_WINDOW) = 0
HADR SSL certificate label (HADR_SSL_LABEL) =

db2 update db cfg for dogdb using HADR_LOCAL_HOST db2_node2db2 update db cfg for dogdb using HADR_LOCAL_SVC  db2_hadr2db2 update db cfg for dogdb using HADR_REMOTE_HOST db2_node1db2 update db cfg for dogdb using HADR_REMOTE_SVC  db2_hadr1db2 update db cfg for dogdb using HADR_REMOTE_INST db2inst1db2 update db cfg for dogdb using HADR_SYNCMODE NEARSYNCdb2 update db cfg for dogdb using HADR_TIMEOUT 120db2 update db cfg for dogdb using LOGINDEXBUILD ON

Note:注意填写主备库的同步节点信息

HADR 启动

先启动备库

db2 start hadr on database dogdb as standby

主库启动

db2 start hadr on database dogdb as primary

查看HADR状态

db2pd -db dogdb -hadr 

HADR启停顺序

主:
db2 stop hadr on db dogdb备:
db2 deactivate db dogdb
db2 stop hadr on db dogdb备:
db2 start hadr on db dogdb as standby主:
db2 start hadr on db dogdb as primary

主备切换

正常接管

db2 takeover hadr on database dogdb 

Note:在备库运行,将主库接管过来

故障切换

强制接管

db2 takeover hadr on database dogdb by force

Note:故障切换其实就是强制接管主库,接管后会把hadr进程杀掉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/103721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++11新特性(lambda,可变参数模板,包装器,bind)

lambda表达式是什么?包装器又是什么?有什么作用?莫急,此篇文章将详细带你探讨它们的作用。很多同学在学习时害怕这些东西,其实都是方便使用的工具,很多情况下我们学这些新的东西觉得麻烦,累赘&a…

uni-app开发微信小程序的报错[渲染层错误]排查及解决

一、报错信息 [渲染层错误] Framework nner error (expect FLOW INITIALCREATION end but get FLOW CREATE-NODE) 二、原因分析及解决方案 第一种 原因:基础库版本的原因导致的。 解决: 1.修改调试基础库版本 2.详情—>本地设置—>调试基础库…

扎根嵌入式行业需要什么学历文凭?

在嵌入式行业,学历并不是唯一关键。我本人拥有电子工程学士学位,但嵌入式行业更看重实际技能和经验。视频后方有免费的嵌入式学习资料,入门和进阶内容都涵盖其中。嵌入式行业一般接纳各种学历,从专科到本科到研究生,甚…

CentOS 安装MySQL 详细教程

参考:https://www.cnblogs.com/dotnetcrazy/p/10871352.html 参考:https://www.cnblogs.com/qiujz/p/13390811.html 参考:https://blog.csdn.net/darry1990/article/details/130419433 一、安装 一、进入安装目录 将账户切换到root账户下,进入local目录下 cd /usr…

通过商品ID获取淘宝天猫商品评论数据,淘宝商品评论接口,淘宝商品评论api接口

淘宝商品评论内容数据接口可以通过以下步骤获取: 登录淘宝开放平台,进入API管理控制台。在API管理控制台中创建一个应用,获取到应用的App Key和Secret Key。构造请求URL,请求URL由App Key和Secret Key拼接而成,请求UR…

【每日一题】ABC311G - One More Grid Task | 单调栈 | 简单

题目内容 原题链接 给定一个 n n n 行 m m m 列的矩阵,问权值最大的子矩阵的权值是多少。 对于一个矩阵,其权值定义为矩阵中的最小值 m i n v minv minv 乘上矩阵中所有元素的和。 数据范围 1 ≤ n , m ≤ 300 1\leq n,m \leq 300 1≤n,m≤300 1 ≤…

用Python和开源NLP工具库开发一个小型聊天机器人原型

为了创建一个小型聊天机器人原型,我们可以使用Python和开源NLP工具库spaCy。在本示例中,我们将演示如何创建一个简单的问答聊天机器人,它可以回答一些基本问题。 首先,确保您已经安装了Python和spaCy,然后下载spaCy的…

VUE3页面截取部署后的二级目录地址

用vue3开发了一个项目,只能部署在根目录,不能加二级目录,后来网上找了解决方案,在vite.config.ts中增加base: ./,配置解决问题,参考下图: 但部署后要获取部署的二级目录地址切遇到问题,后来想了…

数字化教育的未来:数字孪生技术助力校园创新

随着科技的飞速发展,智慧校园成为教育领域的新宠。数字孪生技术,作为一项新兴技术,正日益深刻地影响着校园的运营和管理。它为学校提供了前所未有的工具和资源,使校园管理更加高效、智能化。本文将探讨数字孪生技术如何助力智慧校…

深度学习中的激活函数

给定一个线性变换可以把x的值映射到一条直线上,如下图 输出结果就是y1w1xb1 如果y1经过一个线性变换得到一个y2,那么x和y2的关系是什么? 答案,毫无疑问是一条直线,不管如何的线性变换,依旧是一个线性的问…

【网路安全 --- Linux,window常用命令】网络安全领域,Linux和Windows常用命令,记住这些就够了,收藏起来学习吧!!

一,Linux 1-1 重要文件目录 1-1-1 系统运行级别 /etc/inittab 1-1-2 开机启动配置文件 /etc/rc.local /etc/rc.d/rc[0~6].d## 当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在 /etc/init.d 目录下,然后在 /etc/rc.d/rc*.d 中建…

2022年最新Python大数据之Python基础【五】(字典)

文章目录 9、字典的定义10、字典的增加11、字典的删除12、字典的修改13、字典的查询14、字典的遍历 9、字典的定义 格式:变量 {key1 : value1, key2: value2…}空字典定义: {}dict() 字典中键不能重复,是唯一的&…

Mysql的安装配置教程(详细)

MySQL是一种流行的关系型数据库管理系统,用于存储和管理数据。下面是MySQL的安装和配置教程的详细步骤: 下载MySQL安装程序: 访问MySQL官方网站(https://dev.mysql.com/downloads/mysql/)。选择适合你操作系统的版本&a…

分享关于msvcp110dll丢失的5种不同解决方法

今天我要和大家分享的主题是:msvcp110dll丢失的5种不同解决方法。我们都知道,在电脑使用过程中,经常会遇到一些棘手的问题,比如msvcp110.dll丢失。那么,这个文件丢失到底是什么意思呢?接下来,我…

CentOS 7下JumpServer安装及配置(超详细版)

前言 Jumpserver是一种用于访问和管理远程设备的Web应用程序,通常用于对服务器进行安全访问。它基于SSH协议,提供了一个安全和可管理的环境来管理SSH访问。Jumpserver是基于Python开发的一款开源工具,其提供了强大的访问控制功能,…

CakePHP 3.x/4.x反序列化RCE链

最近网上公开了cakephp一些反序列化链的细节,但是没有公开poc,并且网上关于cakephp的反序列化链比较少,于是自己跟一下 ,构造pop链。 CakePHP简介 CakePHP是一个运用了诸如ActiveRecord、Association Data Mapping、Front Contr…

物联网AI MicroPython传感器学习 之 HX711称重传感器

学物联网,来万物简单IoT物联网!! 一、产品简介 下图是一款量程为5kg的称重传感器,采用悬臂梁方式安装。传感器主体结构是一个开孔金属条,金属条上下表面各贴有两个应变电阻,当金属条受力发生变形时时&…

C# 中大小端Endian

大小端可以找下资料很多,都是文字的。我每次遇到大小端问题就会搜资料,总是记不住。我自己用用图片记录一下,以备直观的从内存中看到。 在C#中可以用BitConverter.IsLittleEndian来查询。 几个数字在内存中 我们来观察一下,我的…

数据仓库Hive(林子雨课程慕课)

文章目录 9.数据仓库Hive9.1 数据仓库的概念9.2 Hive简介9.3 SQL语句转换为MapReduce作业的基本原理9.4 Impla9.4.1 Impala简介9.4.2 Impala系统架构9.4.3 Impala查询执行过程9.4.4 Impala与Hive的比较 9.5 Hive的安装和基本操作9.5.1 Hive安装9.5.2 Hive基本操作 9.数据仓库Hi…

uniapp 在android手机上运行tab栏页面跳转问题

【问题描述】: 使用uniapp写的项目,在tab页面,无论使用哪种方式的跳转,只要是在url后面拼接参数,在打包成apk文件后,在手机上面安装使用,都是获取不到susIndex参数的,而在浏览器上面…