随笔分类 - 数据库运维
摘要:一、引言 WAL日志的目的:WAL(Write-Ahead Logging)是KingbaseES数据库中的一个关键特性,用于确保在数据库崩溃或故障后能够恢复数据。WAL日志记录了数据库的所有更改,这样即使数据库突然宕机,也可以从WAL文件中恢复数据到一致性状态。 命令的功能:sys_resetwa
阅读全文
摘要:一、背景及理论阐述 某项目数据库系统是集群环境,主库业务卡顿,应用反馈部分业务无法正常进行。 在操作系统中,物理内存(RAM)是有限的资源,当内存需求超过物理内存的容量时,操作系统会使用页面调度机制来管理内存资源。页面调度涉及将不常用的内存页面(Page)移到磁盘上的交换空间(Swap Space)
阅读全文
摘要:一、权限介绍 KingbaseES数据库中的权限控制主要分为两个层次:实例级别和数据库级别。实例级别的权限由sys_hba.conf文件控制,而数据库级别的权限则由数据库内部的权限系统控制。对于数据库以及实例的权限控制,这两者权限控制可以理解为粗粒度,细粒度。 实例级别权限:这主要通过sys_hba
阅读全文
摘要:**## 前言 数据库设计控制文件多路复用的理念和原理主要体现在提高控制文件的安全性和避免数据库单点故障的风险。 首先,控制文件在Oracle和KingbaseES数据库中扮演着非常重要的角色,它包含了数据库的结构信息、数据文件和日志文件信息以及数据库中元数据信息等。控制文件是数据库的大脑,没有控制
阅读全文
摘要:前言 为了方便,我们测试环境经常使用system用户执行测试,它拥有最高权限。 角色基本上是用户和组的概念。你可以以角色身份登录,并且一个角色可以属于另一个角色。每个角色都有一个类似的属性,指示你是否可以作为该角色登录,以及该角色是否从所属角色继承权限。你可以使用命令将角色添加到另一个角色的成员中。
阅读全文
摘要:前言 Oracle数据库去除重复数据方法一般根据rowid进行去重,KingbaseES数据库如何去重呢?可以根据ctid去重。 我们使用大数据量测试,因为一般生产环境数据量还是蛮大的。 测试 创建一张测试表,并插入一定量的重复数据,数据量21万,其中重复数据1万。 create table del
阅读全文
摘要:授予schema下对象权限 创建一个名为schematest的schema: CREATE SCHEMA schematest; 创建一个新的用户,名为test02用户: 创建一个新的用户,名为test02用户: 如果不对test02用户授予任何权限,切换到test02用户执行craete tabl
阅读全文
摘要:前言 前几天同事在生产环境遇到的一个报错:tuple concurrently updated 从字面意思看是行的并发争用。这个问题原因是数据库更新系统表时产生了争用,所以不同session不能并发更新系统表。 测试 窗口1,不提交事务 begin; truncate t1; 窗口2,因为无法更新系
阅读全文
摘要:案例说明: 生产用户从Oracle环境迁移到KingbaseES数据库后,需要使用Oracle下scott用户的应用测试环境,本案例借助Oracle创建scott用户应用环境的脚本,创建KingbaseES下的应用测试环境。 适用版本: KingbaseES V8R3/R6 SCOTT用户有四张数据
阅读全文
摘要:前言 我们经常碰到由于数据库连接数太多导致耗费太多服务器内存,除了连接池,我们可以在数据库上限制应用连接数。 真实连接数限制 整个数据库实例的连接数限制参数是max_connections 为超级用户保留的连接数量参数是superuser_reserved_connections,默认值是3。 它是
阅读全文
摘要:背景 wal日志一直增长很快,查看归档目录也在执行归档,归档无异常,是归档执行太慢的原因吗?还是wal 日志生成的太快了的原因呢?现场环境wal日志的磁盘空间比较小。 分析 首先我们分析可否加速归档速度呢,因为如果能加快归档速度就可以缓解wal日志所在磁盘空间紧张的问题,答案是不可以。archive
阅读全文
摘要:逻辑导入时权限报错: ERROR: must be member of role "system" 实验: 1、在超级用户system下新建用户与schema: create user user1; create schema s1; 修改user1的默认权限: test=# alter defau
阅读全文
摘要:案例说明: KingbaseES V8R3和V8R6集群在通过函数获取wal日志的相关信息时,两个版本的函数名称不同,本案例做了函数应用的对比和总结。 适用版本: KingbaseES V8R3/R6 一、KingbaseES V8R3相关函数 Tips: 在V8R3的版本,事务日志名称为xlog。
阅读全文
摘要:案例说明: 生产中心需对数据库日志建立审计,需要将数据库服务器的日志发送到日志服务器集中存储并建立审计。 适用版本: KingbaseES V8R3/R6 案例主机架构: node201 192.168.1.201 # 数据库主机、syslog客户端 node202 192.168.1.202 #
阅读全文
摘要:前言 KES中我们经常遇到表膨胀情况,然而索引也会膨胀,随着业务DML语句的增长,稍不留神索引就会膨胀的很严重,膨胀后的索引只有VACUUM FULL才会真正释放磁盘空间,对于新构建的索引往往比更新的旧索引提供更好的访问性能。所以,我们需要重建膨胀的索引。 REINDEX命令需要ACCESS EXC
阅读全文
摘要:前言 KingbaseES中,索引不可用原则介绍 oracle数据库中,如果索引不可用(unusable),在进行DML操作时,会触发报错:索引不可用。 在KES中如果设置索引不可用,插入数据不会报错,因为当索引被置为不可用状态后,如果要重新启动索引需要rebuild索引,此时会在新索引中重新组织表
阅读全文
摘要:临时表在数据库管理和数据处理中有着广泛的应用,主要用于存储临时数据或进行中间计算。临时表中的数据对会话是私有的,每个会话只能看到和修改自己会话的数据。 KingbaseES支持本地临时表和全局临时表。创建临时表时若不指定GLOBAL或LOCAL,则默认值指定为LOCAL。 本地临时表和全局临时表有如
阅读全文
摘要:从oracle迁移至KingbaseES的用户,经常会问在KingbaseES中怎么查询表的创建时间。 由于KingbaseES本身并不直接存储表的创建时间,所以获取这一信息通常需要依赖于间接方法或日志记录。 如果确实有这种需求,可以通过创建事件触发器的将相关的信息保存下来。 建立保存信息的数据表
阅读全文
摘要:KingbaseES 使用角色的概念管理数据库访问权限。为了方便权限管理,用户可以建立多个角色,对角色进行授权和权限回收,并把角色授予其他用户。 数据库初始化时,会创建一个超级用户的角色:system(默认,可修改)。 任何操作都是从该用户开始的。 创建角色 CREATE ROLE name [ [
阅读全文
摘要:背景 同事A在客户现场,最近注意到客户的主数据库性能有所下降,尤其是在高峰时段。怀疑可能有一些复杂的查询影响了数据库的性能,但尚未确定具体是哪些查询。 为了诊断问题,A决定查看高峰期正在执行的查询,先通过sys_stat_activity视图看下当前有哪些sql在运行: SELECT pid, us
阅读全文