openGauss开源数据库实战二十四

文章目录

  • 任务二十四 openGaussss WAL管理和归档管理
    • 任务目标
    • 实施步骤
      • 一、WAL管理
        • 1.不能修改的WAL参数
        • 2.可以修改的WAL参数
      • 二、配置openGauss工作在归档模式
        • 1.查看当前的归档设置
        • 2.停止openGauss数据库
        • 3.创建归档日志的保存目录
        • 4.修改启动参数文件
        • 5.重新启动openGauss数据库
        • 6.再次查看归档设置
      • 三、WAL切换
      • 四、检查点管理
        • 3.DBA手动发出一个检查点

任务二十四 openGaussss WAL管理和归档管理

任务目标

掌握openGauss的WAL(预写日志)管理、归档管理和检查点(Checkpoint)管理。

实施步骤

一、WAL管理

WAL相关的参数有两类:一类是只能查看不能修改的参数,另一类是可以修改的参数。

1.不能修改的WAL参数

执行下面的命令,查看WAL相关的参数wal_block_sizewal_segment_size的当前值:

gsql -d postgres -p 26000 -r
show wal_block_size;
show wal_segment_size;
\q

参数wal_block_size和wal_segment_size不能修改。

2.可以修改的WAL参数

执行下面的命令,查看WAL相关的参数wal_buffers的当前值:

gsql -d postgres -p 26000 -r
show wal_buffers;
\q

可以看出,参数wal_buffers的默认值是16MB。可以通过修改openGauss数据库的启动参数文件postgresql.conf来修改参数wal_bufrers的值,该参数修改后需要重新启动数据库管理系统才能生效。

二、配置openGauss工作在归档模式

1.查看当前的归档设置

查看当前openGauss DBMS的归档设置:

gsql -d postgres -p 26000 -r
select name,setting from pg_settings where name like 'archive%' or name = 'wal_level';
\q

可以看出,系统目前工作在非归档模式(参数archive_mode的值为off)。
在这里插入图片描述

2.停止openGauss数据库

使用Linux用户omm,执行下面的命令,关闭openGauss数据库:

gs_om -t stop
3.创建归档日志的保存目录

使用Linux超级用户root,执行下面的命令,创建用于保存归档日志的目录:

su -
mkdir /archivelog
chown omm.dbgrp /archivelog
exit
4.修改启动参数文件

使用Linux用户omm,编辑openGauss数据库启动参数文件中关于WAL的参数:

vi $PGDATA/postgresql.conf
#wal_level 可以取以下的值:minimal,archive,hot_standby or logical
#修改wal_level的值需要重新启动数据库
#工作在归档模式下不能设置为 minimal,可以设置为除 minmal之外的其他参数
#默认值已经满足要求可以不修改!
wal level= hot_standby
#修改archive_mode的值需要重新启动数据库
archive mode=on
#修改archive_command的值不需要重新启动数据库,只需要reload
archive_command='cp %p /archivelog/%f'
#修改归档周期archivetime,900表示每900s(15min)切换一次
archive timeout=900

在这里插入图片描述

5.重新启动openGauss数据库

使用Linux用户omm,执行下面的命令,启动openGauss数据库:

gs_om -t start
6.再次查看归档设置

执行下面的命令,查看当前openGauss数据库的归档设置:

gsql -d postgres -p 26000 -r
select name,setting from pg_settings where name like 'archive%' or name = 'wal_level';
\q

在这里插入图片描述

三、WAL切换

WAL写满后会自动切换。此外,openGauss数据库启动参数archive_timeout用于设置归档日志的超时时间,一旦超过该值所定义的时间,也将自动切换WAL。
也可以手动切换WAL。执行下面的命令可以手动切换openGauss的WAL:

gsql -d postgres -p 26000 -r
select pg_switch_xlog();
\q

四、检查点管理

1.检查点的作用
在openGauss数据库检查点期间,所有内存中的脏数据页都会被写回磁盘,同时会在WAL中做一个特殊的标记,表明检查点之前的所有数据都已经写入数据库的数据文件里了。
当数据库的实例崩溃之后,恢复将从最后一个检查点开始:从最后一个检查点开始重做,直至达到故障点,然后回滚所有未提交的事务。检查点之前的WAL不再被需要,可以回收或删除。
从上面的解释我们可以看出,数据库发出检查点操作有这几个作用:第一个作用是周期性地将缓冲区中的脏数据刷写回硬盘;第二个作用是回收WAL所占的空间,因为检查点之前的WAL是没用的;第三个作用是缩短数据库实例的崩溃恢复时间,恢复只需要从最后一个检查点开始。
2.检查点参数
1)参数checkpoint_timeout:两个检查点之间的最大时间间隔。
2)参数max_wal_size:两个检查点之间允许生成的最大WAL的容量。
如果满足这两个参数设置的条件任何之一,都将发出一个检查点。如果这两个参数设置得过小,将频繁发出检查点,导致磁盘I/0繁忙;如果这两个参数设置得过大,会导致检查点期间出现过大的磁盘I/0,此外还会导致数据库实例故障后恢复时间过长。
3)参数checkpoint_completion_target:指定检查点在时间上的完成目标,默认值为0.5,表示每个检查点需要在两个检查点间隔时间的50%之内完成。
4)参数checkpoint_warning:如果两个检查点之间的时间间隔接近该参数设置的秒数,则向服务器日志输出一条信息。可以不理会偶尔出现的这种信息,但是如果该信息频繁出现,则需要调整检查点的其他参数,来增加检查点之间的时间间隔。
调整检查点相关参数的操作,可以参考任务二十四的相关内容。

3.DBA手动发出一个检查点

执行下面的命令,手动发出一个检查点:

gsql -d postgres -p 26000 -r
CHECKPOINT;
\q

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

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

相关文章

docker 安装mysql 5.7 详细保姆级教程

1. 安装mysql(5.7) docker pull mysql:5.7 若是拉取不了,可以配置下 docker 源 2. 查看是否安装成功 docker images 下图就是成功了 3.创建mysql专用目录、数据挂载目录、配置文件目录 ,演示目录在于/home/下 //命令逐条执行cd /home/ mkdir mysql …

scale index的计算

scale index定义 基本实现 需要注意,scale index的提出者分别构建了MATLAB和R语言的实现方式。 但是,需要注意,经过我向作者求证。 MATLAB编写的代码已经“过时了”,为了拥抱时代,作者构建了R语言包,名称为…

The Rise and Potential of Large Language ModelBased Agents:A Survey---摘要、背景、引言

题目 基于大语言模型的Agent的兴起与发展前景 论文地址:https://arxiv.org/pdf/2309.07864.pdf 项目地址:https:/github.com/WooooDyy./LLM-Agent–Paper-List 摘要 长期以来,人类一直在追求等同于或超越人类水平的人工智能(A),…

西门子200 smart PLC助力水处理企业自动化改造

摘要 西门子的200SMART PLC,以其强大的功能和灵活的应用性,正成为环保行业中不可或缺的一环。今天,我们就来看看这个小小的PLC是如何在处理环保问题中大显身手的。 不得不说,环保行业的痛点可不少。 比如污水处理,传…

运维实战:K8s 上的 Doris 高可用集群最佳实践

今天我们将深入探讨::如何在 K8s 集群上部署 Compute storage coupled(存算耦合) 模式的 Doris 高可用集群? 本文,我将为您提供一份全面的实战指南,逐步引导您完成以下关键任务: 配…

意图识别模型使用 基于BERT的对话意图和槽位联合识别 CPU运行BERT模型-亲测成功

意图识别模型使用 基于BERT的对话意图和槽位联合识别 CPU运行BERT模型-亲测成功 我们在开发AI-Agent智能体时,通常会使用提示词工程设置场景的带入,在实际项目中会有很多场景,如果所有提示词都放一起就会超过Token限制,则不得不拆…

网管平台(基础篇):路由器的介绍与管理

路由器简介 路由器(Router)是一种计算机网络设备,它的主要作用是将数据通过打包,并按照一定的路径选择算法,将网络传送至目的地。路由器能够连接两个或更多个网络,并根据信道的情况自动选择和设定路由&…

开发者工具的模块化与可扩展性设计

文章目录 前言模块化设计的重要性可扩展性设计的重要性设计模式与技术实现实战代码插件管理器类:PluginManager注册插件方法:register_plugin执行插件方法:execute_plugin 插件实现插件 1:代码格式化插件插件 2:代码行…

杭州乘云联合信通院发布《云计算智能化可观测性能力成熟度模型》

原文地址:杭州乘云联合中国信通院等单位正式发布《云计算智能化可观测性能力成熟度模型》标准 2024年12月3日,由全球数字经济大会组委会主办、中国信通院承办的 2024全球数字经济大会 云AI计算创新发展大会(2024 Cloud AI Compute Ignite&…

WordPress酱茄主题 开源版 博客资讯自媒体网站模板

一款免费开源的WordPress主题,主题专为WordPress博客、资讯、自媒体网站而设计 运行环境 支持WordPress版本:5.6 兼容Chrome、Firefox、Safari等主流浏览器 支持设备:响应式布局,不同设备不同展示效果 服务器环境建议&#x…

16-在线blog发布系统

【技术栈】 ①:架构: B/S、MVC ②:系统环境:Windows/Mac ③:开发环境:IDEA、JDK1.8、Maven、Mysql ④:技术栈:Java、Mysql、SpringBoot、Mybatis、Vue、Redis 【功能模块】 ①:登…

从0到1实现项目Docker编排部署

在深入讨论 Docker 编排之前,首先让我们了解一下 Docker 技术本身。Docker 是一个开源平台,旨在帮助开发者自动化应用程序的部署、扩展和管理。自 2013 年推出以来,Docker 迅速发展成为现代软件开发和运维领域不可或缺的重要工具。 Docker 采…

1. 机器学习基本知识(2)——机器学习分类

1.4 机器学习分类 1.4.1 训练监督 1. 监督学习:已对训练数据完成标记 分类:根据数据及其分类信息来进行训练,使模型能够对新的数据进行分类 回归:给出一组特征值来预测目标数值 2. 无监督学习:没有对训练数据进行任…

快速将请求头构建成json结构

1.背景 有时候我们要爬虫(组包)请求一个资源数据,需要构建与原始请求一样的请求头,从浏览器复制过来的请求头,有很多,如果一个一个的配置成json有点慢,那么如何快速构建呢? 今天就使用正则表达式的方式实现 正则表达式实现快速将请求头构建成json结构 将冒号后边的换行符去掉…

【蓝桥杯备战】Day 1

1.基础题目 LCR 018.验证回文串 给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。 本题中,将空字符串定义为有效的 回文串 。 示例 1: 输入: s "A man, a plan, a canal: Panama…

在 Ubuntu 24.04.1 LTS (WSL) 中使用 openssl 生成 keybox.xml

看到“生成 keybox.xml”,大概率都会联想到 PIF 和 Tricky Store。这里就不多解释它们的用途了。最近在网上看到生成非 AOSP keybox 的教程,在这里做一些补充,并将代码打包成一个 Python 脚本。 参考自: Idea 提供者&#xff1a…

哈夫曼树选择题

1. 哈夫曼树的构建方法 哈夫曼树是通过不断合并权值最小的两个节点生成的: 将权值最小的两个节点合并成一个新节点,权值为这两个节点权值之和。将新节点加入队列,并从队列中移除已合并的两个节点。重复以上步骤,直到所有节点合并…

Java 实现给pdf文件指定位置盖章功能

Java 实现给pdf文件指定位置盖章功能 开发中遇到一个需求, 需要给用户上传的的pdf文件, 指定位置上盖公章的功能, 经过调研和对比, 最终确定实现思路. 这里是使用pdf文件中的关键字进行章子的定位, 之所以这样考虑是因为如果直接写死坐标的话, 可能会出现因pdf大小, 缩放, 盖章…

Ubuntu本地快速搭建web小游戏网站,公网用户远程访问【内网穿透】

文章目录 前言1. 本地环境服务搭建2. 局域网测试访问3. 内网穿透3.1 ubuntu本地安装cpolar内网穿透3.2 创建隧道3.3 测试公网访问4. 配置固定二级子域名4.1 保留一个二级子域名4.2 配置二级子域名4.3 测试访问公网固定二级子域名前言 网:我们通常说的是互联网;站:可以理解成…

token失效重新存储发起请求

import axios from axios import { MessageBox, Message } from element-ui import store from /store import Router from /router import { getCookie, setToken, setCookie } from ./auth// 因为后端环境区分v1 v2 剔除测试盛传的环境配置,并添加统一前缀 const …