lvorySQL 2025生态大会暨PostgreSQL高峰论坛:借鉴传统经验进行国产数据库运维-运维案例分享_第1页
lvorySQL 2025生态大会暨PostgreSQL高峰论坛:借鉴传统经验进行国产数据库运维-运维案例分享_第2页
lvorySQL 2025生态大会暨PostgreSQL高峰论坛:借鉴传统经验进行国产数据库运维-运维案例分享_第3页
lvorySQL 2025生态大会暨PostgreSQL高峰论坛:借鉴传统经验进行国产数据库运维-运维案例分享_第4页
lvorySQL 2025生态大会暨PostgreSQL高峰论坛:借鉴传统经验进行国产数据库运维-运维案例分享_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

借鉴传统经验进行国产数据库运维-运维案例分享皇甫晓飞2025年6月30日IvorySQL

2025生态大会暨PostgreSQL高峰论坛DBA职责案例分享1-内存管理相关案例分享2-数据库迁移相关目录CONTENTSIvorySQL

2025生态大会暨PostgreSQL高峰论坛DBA职责点击编辑您的副标题•确定数据库服务器硬件•

安装

部署数据库•

制定数据库和安全策略的计划•创建、移植和打开数据库•

备份数据库•登记系统用户和制定用户访问计划•

实施数据库设计•从数据库故障中进行恢复•

监视数据库性能IvorySQL

2025生态大会暨PostgreSQL高峰论坛数据库运维目标保证生产系统安全稳定高效运行

尽早发现性能瓶颈,及时调整;

要做好系统备份准备及详细的测试工作,确保系统的稳定性、安全性,

保障系统业务数据的安全;

数据库架构的合理化;

提升应用系统性能,完成各系统数据库的性能调优工作,包括:外部资源调优、

SQL

性能调优、表格和索引存储参数设置调优等。

各业务持续性得到有效的保证。IvorySQL

2025生态大会暨PostgreSQL高峰论坛DBA优化哪些内容性能优化范围:o

应用程序(与开发人员一起)•SQL语句性能•

变更管理o

实例优化•

内存•数据库结构•数据库配置o

操作系统(与系统管理员一起)•

IO•参数•

交换IvorySQL

2025生态大会暨PostgreSQL高峰论坛PosgreSQL数据库内存高一般原因•

连接/活跃连接数•

Top

SQL•

TPS•

长连接等增加IvorySQL

2025生态大会暨PostgreSQL高峰论坛案例1-GaussDB

1个节点动态内存使用率过高应用无法连接o

基础环境:•数据库引擎版本:GaussDB

V2.0-8.103.0•

内核引擎版本:505.1.0.SPC0100•

实例类型:分布式版•操作系统:麒麟V10-4.19.90-23.8.v2101.ky10.aarch64o

问题概述:应用连接数据库一个节点报[FATAL]:memory

is

temporarily

unavailableo

问题原因:并发过高导致内存占用过高IvorySQL

2025生态大会暨PostgreSQL高峰论坛案例1-GaussDB

1个节点动态内存使用率过高应用无法连接分析过程-监控内存使用率•登录云数据库GaussDB管理平台(TPOPS)•单击“监控巡检

>

监控大盘

”,查看列表看板•查看选中实例的

“趋势看板

>CPU/内存

>

内存使用率”•以root用户登录故障节点•

执行top命令查看进程占用内存情况•

查看占用内存较高的进程•占用内存较高的进程为GaussDB进程IvorySQL

2025生态大会暨PostgreSQL高峰论坛dn-_8856_8801|

max_process_memory

|

122880dn-_8856_8801|

process_used_memory

|

111613dn-_8856_8801|max_dynamic_memory|26723dn-_8856_8801|dynamic_used_memory

|19601dn-_8856_8801|dynamic_peak_memory

|26751dn-_8856_8801|dynamic_used_shrctx

|1046dn-_8856_8801|dynamic_peak_shrctx

|4131dn-_8856_8801|

max_backend_memory

|

1544dn-_8856_8801|backend_used_memory|9dn-_8856_8801|

max_shared_memory

|93568dn-_8856_8801|shared_used_memory

|

90652案例1-GaussDB

1个节点动态内存使用率过高应用无法连接分析过程-故障节点内存消耗情况gaussdb=#select*frompv_total_memory_detail;nodename|

memorytype|

memorymbytesIvorySQL

2025生态大会暨PostgreSQL高峰论坛gaussdb=#selectunique_query,count(*)fromgs_aspwheresmaple_time>='2024-11-24

10:00:00'andsmaple_time<='2024-11-24

11:00:00';查询结果是多个存储过程在并发执行,

在with递归语句,

且内容包括多表join

及unionall等操作,

比较复杂,

会占用较多内存。案例1-GaussDB

1个节点动态内存使用率过高应用无法连接正在运行的SQL:•GS_ASP显示被持久化的ACTIVE

SESSION

PROFILE样本。IvorySQL

2025生态大会暨PostgreSQL高峰论坛案例1-GaussDB

1个节点动态内存使用率过高应用无法连接问题原因:•

内存堆积•

并发过高导致内存占用过高•

单条SQL语句内存占用较高•

内存缓存过多。IvorySQL

2025生态大会暨PostgreSQL高峰论坛案例1-GaussDB

1个节点动态内存使用率过高应用无法连接解决方案:•调整数据库DN的max_process_memory参数gs_guc

set-Z

coordinator-N

all

-I

all

-c

"max_process_memory=X"•规范应用跑批,禁止同时多并发跑批•合理规划应用系统在数据库的分步。IvorySQL

2025生态大会暨PostgreSQL高峰论坛案例1-GaussDB

1个节点动态内存使用率过高应用无法连接动态内存使用率超过90%会杀会话:o通过参数resilience_memory_reject_percent控制•用于控制内存过载逃生的动态内存占用百分比•默认值:'0,0',表示关闭内存过载逃生功能•resilience_memory_reject_percent

=

'70,90'。IvorySQL

2025生态大会暨PostgreSQL高峰论坛案例2-迁移后应用执行无法正常执行saveOrUpdate数据库升级迁移方法论IvorySQL

2025生态大会暨PostgreSQL高峰论坛应用测试升级保障测试搭建方案准备方案细化升级预演正式升级性能测试升级测试项目调研项目汇报案例2-迁移后应用执行无法正常执行saveOrUpdateo

基础环境•数据库引擎版本:GaussDB

V2.0-8.103.0•

内核引擎版本:505.1.0.SPC0100•

实例类型:分布式版•操作系统:麒麟V10-4.19.90-23.8.v2101.ky10.aarch64•

开发框架:J2EE-Hibernateo

问题描述使用gs_dump完成GaussDB数据库迁移后,应用执行业务时报Causedby:org.hibernate.StaleStateException:

Batchupdatereturnedunexpected

row

count

from

update

[0];actual

row

count:

0;expected:

1

正常需要插入的数据,没有正常插入。IvorySQL

2025生态大会暨PostgreSQL高峰论坛o

案例2-迁移后应用执行无法正常执行saveOrUpdateo

问题分析Hibernate的saveOrUpdate方法。该方法要求ID为null时才执行SAVE,在其它情况下执行UPDATE

。主键依托Sequence生成的,数据库没有主键的值,插入时失败。。IvorySQL

2025生态大会暨PostgreSQL高峰论坛o

案例2-迁移后应用执行无法正常执行saveOrUpdateo

问题原因使用GS_DUMP工具迁移时序列会重新从初始值开始递增,如果业务切换至目标库会导致采用序列做为主键的列值冲突。IvorySQL

2025生态大会暨PostgreSQL高峰论坛o

案例2-迁移后应用执行无法正常执行saveOrUpdateo

解决方案目标库重置重置每个序列的当前值。。IvorySQL

2025生态大会暨PostgreSQL高峰论坛o

案例2-迁移后应用执行无法正常执行saveOrUpdateo

处理过程目标库重置重置每个序列的当前值。1、迁移前收集序列信息gaussdb=#select*from

pg_sequence;。IvorySQL

2025生态大会暨PostgreSQL高峰论坛o

案例2-迁移后应用执行无法正常执行saveOrUpdateo

处理过程2、检查当前序列值gaussdb=#select

nextval('sqlhfxf’);gaussdb=#select

currval('sqlhfxf’);说明:返回当前会话里最近一次nextval返回的数值。如果当前会话还没有调用过指定的sequence的nextval,那么调用currval将会报错。。IvorySQL

2025生态大会暨PostgreSQL高峰论坛o

案例2-迁移后应用执行无法正常执行saveOrUpdateo

处理过程3、重置当前序列值gaussdb=#select

setval('sqlhfxf',5,true);

setval5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论