logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【PostgreSQL数据库备库查询冲突:canceling statement due to conflict with recovery】

有些业务场景,为了分担主库的访问压力,备库(hot_standby=on)常常需要对外提供只读服务。此时备库既要接受并重放通过流协议传过来的wal数据,同时也要对外提供只读查询服务,这两个任务同时进行,有时候会产生冲突。通常情况下,备库如果有有个wal,replay进程在进行wal回放, 回放过程中有query和回放的内容发生了冲突,(通常是备库的慢查询SQL导致)。那么wal回放会进行等待,等待

文章图片
#数据库#postgresql#oracle
【ORACLE OGG运维及日常监控】

ggsci1.查看进程运行状态,确认为running状态gsci>info rpxx_a或者ggsci>info all2.查看rpxx_a进程日志,查看有无异常报错,若存在异常,根据报错进行处理ggsci>view report rpxx_a3.查看进程是否开始有数据操作ggsci>stats rpxx_a#################################

#oracle#数据库#运维 +1
【PostgreSQL数据库toast表数据损坏处理】

根据提示来看,主表字段还留存着Toast Pointer,但Toast表中已经没有对应的Chunk条目,怀疑toast表存在损坏或者缺失数据。toast表的表名是字符串"pg_toast"与表的oid拼接而成,根据这个pg_toast_2619的2619的oid,可以定位到是pg_statistic的表。

文章图片
#数据库#postgresql
【openGauss/MogDB的uncommitted xmin问题解决】

但是比较好的一点是,MogDB/openGauss的maintenance模式不需要PostgreSQL那样需要停掉PostgreSQL数据库再去使用。在测试openGauss/MogDB的时候,发现主库查询snapshot.tables_snap_timestamp这个表的时候,一select *,数据库就宕机,而备库是正常的。此外我们根据提示的xmin可以找到对应的是pg_type以及两个索引

文章图片
#数据库
【MogDB/openGauss与PG的repmgr对比】

提到PG的repmgr,大家可能并不陌生,他是现在PG比较流行的一套开源工具,用于管理PostgreSQL服务器集群中的复制管理和故障转移,也就是相当于一个集群管理+HA工具。当前PG的高可用方案,大致有keepalived、pgpool、repmgr、pacemaker+corosync、etcd+patroni等等。其中etcd+patroni和repmgr是目前用的较多的高可用。patron

文章图片
#数据库#运维#linux
【MogDB/opengauss的WDR报告(类似于Oracle的awr)】

Oracle的awr报告在日常解决问题中起到了很大的便利,在遇到问题时,我们通常会查看有无对应时间段的快照,生成awr报告并进一步分析。通过分析数据库的状态,资源消耗以及等待事件等初步定位问题,并在此基础上进行验证。在MogDB/opengauss数据库中,也有着这样的“awr”,它叫做——wdr。前提:1.打开参数enable_wdr_snapshotpostgres=# show enable

文章图片
#数据库#linux#运维
【MOGDB/openGauss的txid_snapshot 数据类型和相关函数】

txid_snapshot的文本表示为:xmin:xmax:xip_list。名称描述xmin最早的事务ID(txid)仍然活动。所有较早事务将是已经提交可见的,或者是直接回滚。xmax作为尚未分配的txid。所有大于或等于此txids的都是尚未开始的快照时间,因此不可见。xip_list当前快照中活动的txids。这个列表只包含在xmin和xmax之间

#数据库#运维#linux
【openGausss/MOGDB时间消耗相关视图】

数据库版本openGauss/MOGDB-2.1.1一、显示当前用户在各个节点上正在执行的作业的负载管理记录(单位:ms)包含:语句执行前的阻塞时间、语句执行的开始时间、语句已经执行的时间、语句执行预估总时间、语句执行预估剩余时间。语句在数据库节点上的最小执行时间,语句在数据库节点上的最大执行时间,语句在数据库节点上的平均执行时间,语句在数据库节点上的最小CPU时间,语句在数据库节点上的最大CPU

文章图片
#数据库#linux#运维
【Kubernetes里的Operator】

Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。在对一些复杂应用进行Kubernetes容器化的时候,经常能看到xxx operator,如ETCD Operator、Prometheus Operator、Postgres Operator、openGauss Operator、MySQL Operator等等。Operator可以

文章图片
#kubernetes#数据库#容器
到底了