自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(661)
  • 收藏
  • 关注

原创 KingbaseES 数据库创建索引慢的可能原因

1.表大小如果表太大,数据很多,索引创建的时候,会导致创建索引的时间很慢。如果表很大,可以考虑重新设计表结构或拆分表。还可以考虑使用分区表,使子分区的数据减少,创建分区表也可以使索引变小,增加索引创建速度,有助于查询效率。2.索引类型不同类型的索引建立的速度可能会有所不同,因为存储的结构不一样。例如,B-tree索引通常比GiST索引建立得更快。不同的索引策略适用于不同的场景,选择合适...

2024-04-03 17:03:00 900

原创 KingbaseES复制冲突中谁阻塞walreplay

背景回顾一下流复制冲突相关参数:hot_standby_feedback: 从库反馈给主库快照, 主库vacuum时不回收最老快照之后产生的垃圾,注:备库长查询将导致主库表膨胀。vacuum_defer_cleanup_age: 当触发vacuum时,延迟指定事务后触发。recovery_min_apply_delay: 如果将此参数设置为5分钟,则只有在备库时间至少比主库提交时间多五分...

2024-04-03 17:03:00 496

原创 KingbaseES数据库权限简写说明

前言为了方便,我们测试环境经常使用system用户执行测试,它拥有最高权限。角色基本上是用户和组的概念。你可以以角色身份登录,并且一个角色可以属于另一个角色。每个角色都有一个类似的属性,指示你是否可以作为该角色登录,以及该角色是否从所属角色继承权限。你可以使用命令将角色添加到另一个角色的成员中。一个KES数据库实例可以拥有多个数据库。一个数据库可以拥有多个模式。一个模式可以拥有多个表。对...

2024-04-03 17:03:00 571

原创 执行计划中的NestLoop对比HashJoin对比

执行计划中的nestloop join 对比hash join两种join 方式的定义NESTE LOOP:在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表中检索找到与它匹配的行。两个概念:驱动表(外部表)和内部表,这里用表这个次其实不是很准确,外部表和内部表可以是某张表的结果集。在执行计划中如何区分外部表和内部表。我的通常习惯是安装前后顺序,nestloop join 里面位于...

2024-04-03 17:03:00 370

原创 KingbaseES 数据库IO优化方向总结

前言数据库中的IO性能是优化中的重中之重,根据木桶原理,解决了IO这个最容易引起业务堵塞的问题,就能解决绝大部分性能问题。下面从几个方面总结一下I/O优化问题。第一,使用相对速度快的高性能存储设备。一般会考虑使用固态硬盘 (SSD) 或 RAID 阵列以获得更快的读写速度。高性能低延迟的集中式SAN存储是传统大型数据库的主要存储介质,不过,本地化部署数据库中,使用本地存储可以降低成本,本...

2024-04-03 17:03:00 870

原创 KingbaseESV8R6等待事件之LWLockBuffer_IO

说明当并发会话尝试访问同一页面时,等待其他进程完成其输入/输出(I/O)操作时,就会发生LWLock:BufferIO事件。其目的是将同一页读取到共享缓冲区中。等待事件发生过程每个shared buffer都有一个与LWLock:BufferIO等待事件关联的I/O锁,每次都必须在共享缓冲池外检索块。此锁用于处理多个会话,这些会话都需要访问同一个块。必须从共享缓冲池外部读取此块,共享缓冲...

2024-04-03 17:02:00 243

原创 PLSQL涉及对象类型能力域的一次代码改造案例

文章概述本文通过某项目一次针对对象类型中一些不支持的功能项进行代码改造为契机,重新回顾和熟悉了对象类型继承,子父对象转换,函数重载等概念和应用,包括集合类型的一些编码应用场景。通过这个案例可以快速帮助我们熟悉和深刻对PSLQL对象类型和集合类型能力域的掌握。一,问题背景相对于Oracle的PLSQL,早期KES的PLSQL在对象类型功能上暂时还缺失以下功能:1,对象类型的继承:UNDE...

2024-04-03 17:02:00 204

原创 KingbaseES删除重复数据的方法

前言Oracle数据库去除重复数据方法一般根据rowid进行去重,KingbaseES数据库如何去重呢?可以根据ctid去重。我们使用大数据量测试,因为一般生产环境数据量还是蛮大的。测试创建一张测试表,并插入一定量的重复数据,数据量21万,其中重复数据1万。create table del(id int, name varchar(255)); create table del2 (...

2024-04-03 17:02:00 128

原创 KingbaseES V8R6集群运维案例之---同城双中心switchover案例

KingbaseES V8R6集群运维案例之---同城双中心switchover案例案例说明:在同城双中心执行switchover在线切换后,双中心架构保持不变。适用版本:KingbaseES V8R6集群架构:一、切换前集群节点状态如下所示,切换前集群的主库(Primary)位于同城灾备中心,现在执行switchover在线切换,将主库切换到生产中的node1节点。[kingbas...

2024-04-03 17:02:00 196

原创 KES中数组和集合类型的区别

文章概要:本文属于学习总结系列,总结了一下数组类型和PL/SQL中集合类型及其使用区别。一,集合(collection)数据它是存放一组数据类型相同的数据,是一组相同类型元素的集合集合数据类型分三类:1).关联数组(index by tables)元素下标:binary_integer、pls_integer、varchar2字符串等作为下标个数限制:无限制初始化:不需要2)....

2024-04-03 17:02:00 303

原创 如何查看KingbaseES数据库占用操作系统内存情况

当遇到数据库内存告警,并且操作系统内存使用不足,需要分析内存占用的方法。KingbaseES数据库使用操作系统缓存机制,大量的内存很可能被BUFFER/CACHE占用了。从free命令可以看到总共有2.5G多内存,使用了291MB,free剩下1.7GB多,BUFF/CACHE占了474MB。available有1.3GB多,当前这台数据库服务器的内存是充足的。从这个例子上,我们看free...

2024-04-03 17:02:00 371

原创 KingbaseES BitmapScan 解读

bitmap scan 解读什么是bitmap scan?bitmap scan是pg中表的扫描计划的一种。bitmap scan的作用就是通过建立位图的方式,将index scan 回表过程中对页访问的随机性IO转换为顺行性行为,从而减少查询过程中IO的消耗。其优化理念是通过bitmap 的生成过程中增加内存和CPU字段消耗来减少IO消耗。bitmap scan 如何工作?bitm...

2024-04-03 17:01:00 764

原创 KingbaseES V8R6集群部署案例之---‘initdb: error: cannot be run as root’故障

案例说明:在通用机环境下,通过脚本部署集群,出现“initdb: error: cannot be run as root”故障。适用版本: KingbaseES V8R6一、问题现象通用机环境,通过脚本部署集群,出现以下故障:在对主库执行initdb初始化实例时,是root用户执行,而不是默认的kingbase用户:二、问题分析1、查看install.conf用户配置如下所示,配置文...

2024-04-03 17:01:00 337

原创 KingbaseES 授予schema下对象权限以及schema空间限额

授予schema下对象权限创建一个名为schematest的schema:CREATE SCHEMA schematest;创建一个新的用户,名为test02用户:创建一个新的用户,名为test02用户:如果不对test02用户授予任何权限,切换到test02用户执行craete table命令会提示权限不足下面授予名为 test02 的用户对 schematest的所有权限:此命令...

2024-04-03 17:01:00 143

原创 KingbaseES 兼容 MySQL 数据库参数sql_mode配置

KingbaseES数据库,已经对Mysql数据库进行了功能和使用方面的兼容。针对sql_mode配置使用情况,也做了相关的兼容适配,在最新kes的mysql数据库模式中,sql_mode参数已经对ONLY_FULL_GROUP_BY,ANSI_QUOTES,STRICT_ALL_TABLES这三个参数的使用,进行了语法和功能上的兼容。下面介绍KingbaseES中对上述三个配置项的使用。-...

2024-04-03 17:01:00 349

原创 KingbaseES 为什么select主键列不走索引

背景有客户提出一个问题。 一个类似这样的SQL语句,select count(id) from 为什么执行计划用全表扫,不用索引。id列上有主键。分析test=# explain (analyze, buffers ) select count(id) from t1; QUERY PLA...

2024-04-03 17:01:00 335

原创 KingbaseESV8R6中一个报错:tuple concurrently updated

前言前几天同事在生产环境遇到的一个报错:tuple concurrently updated从字面意思看是行的并发争用。这个问题原因是数据库更新系统表时产生了争用,所以不同session不能并发更新系统表。测试窗口1,不提交事务begin;truncate t1;窗口2,因为无法更新系统表信息,授权语句无法执行成功,卡主grant select on all tables in...

2024-04-03 17:00:00 126

原创 KingbaseES V8R6集群运维案例之---备节点恢复为单实例库

KingbaseES V8R6集群运维案例之---备节点恢复为单实例库案例说明:在生产环境中,手工将集群节点恢复为单实例节点,操作可以分为两步。第一步,先将节点从repmgr管理中注销,脱离集群的管理;第二步,从流复制中拆分节点,成为单实例节点。适用版本: KingbaseES V8R6集群架构:ID | Name | Role | Status | Upstream | ...

2024-04-01 15:34:00 409

原创 KingbaseES V8R6集群案例之---同城双中心集群部署

案例说明:本案例描述了在KingbaseES V8R6下部署同城双中心集群的过程,通过脚本的方式执行执行部署,部署方式和普通集群脚本部署基本一致。适用版本: KingbaseES V8R6集群架构:[kingbase@node101 ~]$ cat /etc/hosts192.168.1.101 node1192.168.1.102 node2192.168.1.103 ...

2024-04-01 15:34:00 354

原创 KingbaseES V8R3集群运维案例---主库OOM故障分析

案例说明:KingbaseES V8R3集群,主库数据库OOM,产生core,请帮忙分析。数据库内存64Gb,为华为云虚拟机,无swap。适用版本: KingbaseES V8R3一、问题分析1、查看sys_log数据库OOM信息PortalMemory: 8192 total in 1 blocks; 7888 free (0 chunks); 304 used PortalH...

2024-04-01 15:34:00 355

原创 执行计划不走索引的几种情况总结

优化器不想用索引,主要原因是优化器认为走索引还不如走顺序扫描代价低,因为索引扫描对应的是离散IO,我们可以通过调整random_page_cost告诉优化器随机IO代价值,非特殊情况不建议修改此值。1.表太小场景经常有开发问,为什么有索引而不走索引呢?因为优化器认为走索引方式太慢了!test=# create table sma(id int);CREATE TABLEtest=# c...

2024-04-01 15:34:00 855

原创 KingbaseES V8R3数据库运维案例之---自定义表空间物理迁移

案例说明:当前数据库实例创建了自定义表空间,由于磁盘空间将满,需将数据库迁移到另外的主机下;本案例采用离线手工拷贝方式将数据data目录及表空间链接目录(数据存储)迁移到异机后,恢复表空间的使用。适用版本: KingbaseES V8R3/R61、查看数据库表空间信息TEST=# \db List of tablespaces Name | ...

2024-04-01 15:33:00 239

原创 KingbaseES数据库运维案例---SCOTT用户及对象创建

案例说明:生产用户从Oracle环境迁移到KingbaseES数据库后,需要使用Oracle下scott用户的应用测试环境,本案例借助Oracle创建scott用户应用环境的脚本,创建KingbaseES下的应用测试环境。适用版本: KingbaseES V8R3/R6SCOTT用户有四张数据表:1)部门信息表:dept2)雇员信息表:emp3)工资等级表:salgrade4)工资表:...

2024-04-01 15:33:00 313

原创 KingbaseES V8R6集群运维案例之---single-pro模式备份

案例说明:KingbaseES V8R6集群物理备份配置参数_target_db_style,可选single或cluster或single-pro。 single对应单机模式的目标数据库实例,cluster对应集群模式的目标数据库实例,single-pro对应集群模式的每个DB节点独立备份。本案例详细描述集群架构在singl-pro模式下的备份。适用版本: KingbaseES V8R6集...

2024-04-01 15:33:00 412

原创 KingbaseES V8R6集群运维案例之---数据库实例initdb后配置

案例说明:KingbaseES V8R6集群在数据库实例启动时需加载repmgr插件,并且具有集群管理的用户esrep和存储元数据的数据库esrep库;但在手工initdb新的实例后,默认的实例将不包含repmgr extension及esrep库和esrep用户,需要手工配置,完善集群管理应用。适用版本: KingbaseES V8R6一、默认repmgr集群管理配置如下图所示,需要在...

2024-04-01 15:33:00 338

原创 KingbaseES V8R6数据库运维案例之---backup_label文件导致实例启动故障

案例说明:在KingbaseES V8R6的单实例环境中,执行在线备份期间,因为磁盘满后,数据库实例启动失败,从sys_log日志看,在数据库目录下存在backup_label文件,导致启动失败。适用版本: KingbaseES V8R6一、问题现象如下图所示,数据库实例在启动过程中,因为data目录下存在backup_label文件,导致数据库实例启动失败。二、问题分析数据库在线备...

2024-04-01 15:33:00 152

原创 KingbaseES V8R6集群运维案例之---级联备库的支持

案例说明:在KingbaseES V8R6 一主二备(其中一个级联备库)集群架构中,通过sys_monitor.sh启动集群时出现 'ERROR: There are no 2 standbys in pg_stat_replication, please check all the standby servers replica from primary'故障,经测试还原了此故障的原因,如下...

2024-04-01 15:32:00 305

原创 KingbaseES 连接数限制

前言我们经常碰到由于数据库连接数太多导致耗费太多服务器内存,除了连接池,我们可以在数据库上限制应用连接数。真实连接数限制整个数据库实例的连接数限制参数是max_connections为超级用户保留的连接数量参数是superuser_reserved_connections,默认值是3。它是为超级用户保留的连接数量。而在Oracle数据库没有对应此类参数功能,这个为超级用户保留连接的参数...

2024-04-01 15:32:00 316

原创 KingbaseES中sao用户被锁定并解锁

sao用户登录失败次数达到最大值后被锁定,这时,需要sso用户解锁sao用户。我们先了解一下三权分立的概念,顾名思义,三权分立是把过于集中的系统权限分到三个用户身上,分工管理权限。系统管理员(system)主要负责执行数据库日常管理的各种操作和自主存取控制。安全管理员(sso)主要负责强制访问规则的制定和管理,监督审计管理员和普通用户的操作,不能创建和操作普通对象。审计管...

2024-04-01 15:32:00 292

原创 KingbaseES V8R3集群运维案例之---数据节点执行pcp_attach_node

案例说明:KingbaseES V8R3 一主二备集群中,其中一个节点为单纯的数据节点,当集群流复制正常,但通过show pool_nodes查看数据节点状态为‘down’,如何重新更新和注册此数据节点,恢复正常状态。适用版本: KingbaseES V8R3集群架构:192.168.1.101 管理节点&数据节点(node1) 192.168.1.102 管理...

2024-04-01 15:32:00 417

原创 KingbaseES V8R6运维案例之---手工执行wal归档

案例说明:在KingbaseES V8R6数据库wal归档是通过sys_rman的archive_push实现,当wal日志切换时,自动执行归档,也可以通过sys_rman执行手工归档,本案例描述如何使用sys_rman执行手工归档。适用版本: KingbaseES V8R61、查看数据库归档配置如下所示,数据库归档配置:[kingbase@node102 data]$ cat es_r...

2024-04-01 15:32:00 369

原创 KingbaseES V8R2集群运维案例之---crond资源限制导致failover切换

案例说明:KingbaseES V8R2集群主库kingbasecluster进程‘ping 网关’故障,导致failover切换,发现主库kingbasecluster进程fork子进程‘ping’故障,导致主库无法ping网关。适用版本: KingbaseES V8R2一、问题现象主备发生failover切换,查看主库cluster.log日志,如下图故障:集群通过ping网关地址...

2024-04-01 15:32:00 356

原创 KingbaseES V8R6集群部署案例---指定数据库字符集脚本部署

案例说明:KingbaseES V8R6集群通过脚本部署,默认字符集是utf-8,可以通过修改部署配置参数支持其他类型的字符集。适用版本: KingbaseES V8R6一、部署故障案例1、在执行部署脚本时出现以下故障:2、查看install.conf配置3、查看系统字符集[kingbase@node101 r6_install]$ localeLANG=en_US.UTF-8L...

2024-04-01 15:31:00 369

原创 KingbaseES V8R3集群运维案例之---修改节点ip

案例说明:在KingbaseES V8R3集群部署完成后,需要修改节点ip(物理ip和vip等),案例描述了相关配置文件配置项的修改。此案例为通用机环境,专用机环境可以参考。适用版本: KingbaseES V8R3一、集群IP修改步骤首先确定修改后的网关IP、所有节点主机IP、集群管理VIP、数据库连接VIP。检查集群服务状态,确保集群服务及主备复制服务正常;通过kingbase_...

2024-04-01 15:31:00 240

原创 使用auto_explain插件分析存储过程运行卡住案例

一. 文章概述Kingbase中,auto_explain 是对explain强有力的补充,explain配合analyze、buffers等命令查看sql语句执行计划在一般场景下已经足够,但是procedure、function里的SQL则无法分析到,配置auto_explain将自动在日志中输出procedure、function里每条SQL语句的执行计划结果,从而避免了手动去执行exp...

2024-04-01 15:31:00 255

原创 PLSQL中的使用utl_http来调用webservice

文章概要:KingbaseES提供的utl_http能够支持对webservice的调用,这也是该接口的最重要的应用方式之一。本文基于POST协议的方式展示了webservice接口的简单调用例子。一,搭建环境本文需要基于一个写好的webservice发布包,在windows的IIS管理器上部署。首先需要下载一个webservice服务端的发布包,下载链接如下,这个包是使用visual ...

2024-04-01 15:31:00 875

原创 kingbaseES 如何使用并行

KingbaseES 能使用多核 CPU 来加速一个 SQL 语句的执行时间,这种特性被称为并行查询。由于现实条件的限 制或因为没有比并行查询计划更快的查询计划存在,很多查询并不能从并行查询获益。但是,对于那些可以从并行查 询获益的查询来说,并行查询带来的速度提升是显著的。很多查询在使用并行查询时查询速度比之前快了超过两倍, 有些查询是以前的四倍甚至更多的倍数并行相关参数kingbase E...

2024-04-01 15:30:00 287

原创 KingbaseES V8R6集群运维案例之---级联备库upstream节点故障

KingbaseES V8R6集群运维案例之---级联备库upstream节点故障案例说明:在KingbaseES V8R6集群,构建级联备库后,在其upstream的节点故障后,级联备库如何处理?适用版本: KingbaseES V8R6集群架构:案例一:一、配置集群的recovery参数(all nodes)Tips: 关闭备库的aut-recovery机制[kingbase@...

2024-03-29 18:40:00 388

原创 kingbaseES V8R6集群运维案例之---配置priority防止failover切换案例

案例说明:在一主多备的架构中,需要配置一台备库在主备切换时,不能选举为主库。对于repmgr主备切换主库的选择算法如下:Tips:Repmgr选举候选备节点会以以下顺序选举:LSN ---->Priority----> Node_ID。系统会先选举一个LSN比较大者作为候选备节点;如LSN一样,会根据Priority优先级进行比较,该优先级是在配置文件中进行参数配置;如优先级也...

2024-03-29 18:40:00 278

原创 KingbaseES V8R6集群运维案例之---备库register故障

案例说明:据现场实施人员说,备库执行了clone,启动数据库服务,执行'repmgr standby register'后,无法将备库register到集群。适用版本:KingbaseES V8R6一、问题现象如下图所示,执行'repmgr standby register' ,register失败:二、问题分析1、repmgr standby register分析如下图所示:备...

2024-03-29 18:39:00 304

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除