摘要:
在KingbaseES数据库中,会话在将数据块与共享缓冲池的缓冲区相关联时,会触发“LWLock buffer_mapping”等待事件。 这类事件涉及到一种轻量级锁(lwlock),类似于Oracle中的闩锁。这个锁在不同的数据库中可能有不同的名称,但通常被称为buffer_mapping或Buf 阅读全文
摘要:
在数据库性能优化的世界中,索引始终扮演着至关重要的角色。 KingbaseES创建索引语法中的INCLUDE关键字为索引创建提供了额外的灵活性,允许在 B-Tree索引中包含额外的非键(Non-Key)列。 这些列虽然不参与索引的排序或搜索过程,但可用于提高某些查询的效率,尤其是在执行索引覆盖扫描( 阅读全文
摘要:
临时表在数据库管理和数据处理中有着广泛的应用,主要用于存储临时数据或进行中间计算。临时表中的数据对会话是私有的,每个会话只能看到和修改自己会话的数据。 KingbaseES支持本地临时表和全局临时表。创建临时表时若不指定GLOBAL或LOCAL,则默认值指定为LOCAL。 本地临时表和全局临时表有如 阅读全文
摘要:
KingbaseES中explain命令来查看执行计划时最常用的方式。其命令格式如下: explain [option] statement 其中option为可选项,常用的是以下5种情况的组合: analyze:执行SQL并且显示实际的运行时间和其他统计信息,默认FALSE。注意:加了analyz 阅读全文
摘要:
从oracle迁移至KingbaseES的用户,经常会问在KingbaseES中怎么查询表的创建时间。 由于KingbaseES本身并不直接存储表的创建时间,所以获取这一信息通常需要依赖于间接方法或日志记录。 如果确实有这种需求,可以通过创建事件触发器的将相关的信息保存下来。 建立保存信息的数据表 阅读全文
摘要:
在处理数据库性能问题时,识别和分析慢查询及阻塞会话是至关重要的步骤。数据库管理员和开发人员常常需要依赖特定的工具和查询语句来追踪这些性能瓶颈。 当数据库响应变慢或出现处理延迟时,第一步通常是查找那些执行时间过长的查询,这些查询通常被称为“慢查询”。 同时,阻塞会话即那些因等待资源(如锁)而暂停执行的 阅读全文
摘要:
在KingbaseES中create table语句支持GENERATED column(生成列)。 生成列是一种特别的列类型,它的值基于其他列的值计算得出。因此,生成列之于列,有点像视图之于表的关系。存在两种类型的生成列:存储生成列和虚拟生成列。 存储生成列在数据被写入(插入或更新操作)时进行计算 阅读全文
摘要:
oracle数据库的触发器迁移到KingbaseES的时候经常会出现一下两类错误: 1.SQL 错误 [42809]: 错误: "xxxxxxxx" 是一个视图。Detail: 视图上的触发器不能有转换表。 2.SQL 错误 [0A000]: 错误: 不能为具有多个事件的触发器指定转换表 这两类问题 阅读全文
摘要:
KingbaseES 使用角色的概念管理数据库访问权限。为了方便权限管理,用户可以建立多个角色,对角色进行授权和权限回收,并把角色授予其他用户。 数据库初始化时,会创建一个超级用户的角色:system(默认,可修改)。 任何操作都是从该用户开始的。 创建角色 CREATE ROLE name [ [ 阅读全文
摘要:
背景 同事A在客户现场,最近注意到客户的主数据库性能有所下降,尤其是在高峰时段。怀疑可能有一些复杂的查询影响了数据库的性能,但尚未确定具体是哪些查询。 为了诊断问题,A决定查看高峰期正在执行的查询,先通过sys_stat_activity视图看下当前有哪些sql在运行: SELECT pid, us 阅读全文
摘要:
1. 动态SQL 动态SQL在程序启动时会根据输入参数替换相应变量。使用动态SQL可以创建更强大和灵活的应用程序,但在编译时SQL语句的全文不确定,因此运行时编译会牺牲一些性能。动态SQL可以是代码或SQL语句的一部分,动态部分要么由开发人员输入,要么由程序本身创建。 1.1 动态SQL使用场景 在 阅读全文
摘要:
Mysql mysql> select version(); + + | version() | + + | 8.0.23 | + + 1 row in set (0.00 sec) mysql> create table dept (deptno int ,dname varchar(10),lo 阅读全文
摘要:
用户需求:新建一个用户B,需要能够查询A用户的所有表,并且对以后新建的表也要有select权限。 对于现有的表可以通过动态sql批量进行授权,但是未来新建的表要如何进行授权呢? 查询了帮助文档发现通过alter default privileges命令可以实现。 命令描述 ALTER DEFAULT 阅读全文
摘要:
在KingbaseES中,当我们创建一个数据表时,数据库会隐式增加几个系统字段。这些字段由系统进行维护,用户一般不会感知它们的存在。 例如,以下语句创建了一个简单的表: create table test(col number); insert into test(col) values (1),( 阅读全文
摘要:
1.postgis postgis的基本核心功能,仅支持地理图形(矢量要素),在其他Extension前启用。 2.postgis_raster 对栅格数据的支持。 3.postgis_topology 拓扑功能的支持。 4.postgis_sfcgal 这个Extension主要是集成了CGAL( 阅读全文
摘要:
Oracle_fdw 的使用介绍已经在之前的文章中介绍过了,具体见:https://www.cnblogs.com/kingbase/p/14846479.html。 本篇文章介绍一下可能碰到的问题处理: 1.OCIEnvCreate错误 错误信息:error:error connecting to 阅读全文
摘要:
--查看所有数据库大小 select sys_database.datname, sys_size_pretty(sys_database_size(sys_database.datname)) AS size from sys_database; --查看指定表中所有索引大小 select sys 阅读全文
摘要:
案例说明: 生产环境,kylin系统,KingbaseES V8R6集群启动后,repmgrd进程启动失败,在hamgr.log日志出现‘unable to write to shared memory’故障,导致repmgrd启动异常终止。 repmgrd进程用于集群环境对数据库服务状态的监控,如 阅读全文
摘要:
案例说明: KingbaseES V8R3集群在部署时需要配置与进程间通讯(IPC)相关的内核参数,如果缺失配置或配置错误,kingbasecluster服务在启动过程中将因为内核参数配置错误导致启动失败。 适用版本: KingbaseES V8R3 一、官方部署建议配置 共享内存 共享存储区(Sh 阅读全文
摘要:
案例说明: 生产环境,KingbaseES V8R6的集群发生failover切换,分析集群切换的原因。 适用版本: KingbaseES V8R6 集群架构: 137.xx.xx.67主 原备库 137.xx.xx.94 原主库 137.xx.xx.68 vip地址 一、日志分析 1、分析原备库h 阅读全文