NOT
化腐朽为神奇的QueryMapping
化腐朽为神奇的QueryMapping 老车除了报废没别的方法? 应用系统就像老车,经过十几二十年的使用,积累了大量里程数据,但是英雄迟暮,反应迟钝,时不时还要病休。但就这样报废,推到重来,如果没有充足的预算,实在是下不了这个决心,不知道该怎么办,让这辆老车焕发第二春。 人们习惯,难以改变 缓慢的启 ......
KingbaseES V8R3 备份恢复案例 -- sys_rman物理备份异机恢复
案例说明: 在生产环境通过sys_rman执行了物理备份后,需要在异机构建测试环境,本案例描述了通过物理备份异机恢复的详细过程及操作。 适用版本: KingbaseES V8R3 节点信息: [kingbase@node102 bin]$ cat /etc/hosts ...... 192.168. ......
KingbaseES V8R6 集群运维案例 -- 脚本部署集群后ssh无法连接
案例说明: 在kylin V10环境下,通过脚本方式部署KingbaseES V8R6集群后,发现ssh无法连接主机,通过分析发现在脚本部署过程中会对系统环境进行优化配置,在修改了/etc/ssh/sshd_config中的usePAM=yes后,导致ssh连接不上。 适用版本: KingbaseE ......
KingbaseES 行级安全策略介绍
本文详细介绍了KingbaseES中通过CREATE POLICY为一个表定义一条行级安全性策略。注意为了应用已被创建的策略,在表上必须启用行级安全性。 策略名称是针对每个表的。因此,一个策略名称可以被用于很多个不同的表并且对于不同的表呈现适合于该表的定义。 策略可以被应用于特定的命令或者特定的角色 ......
sys_spacequota 扩展插件介绍
插件sys_spacequota简介 sys_spacequota可以对指定表空间的大小进行限额,一旦大于该限额,例如对此表空间里的数据进行insert, update, copy to, select into, create index操作将会被警告或终止(默认为0表示警告,警告或者终止可以通过 ......
KingbaseES 串行化隔离级别引起的阻塞分析
前言 这是实际生产环境中遇到的一个问题,前端业务有如下报错: could not serialize access due to read/write dependencies among transactions Detail: Reason code: Canceled on coinflict ......
KingbaseES数据库改写SQL Server数据库CROSS APPLY和OUTER APPLY
一、功能介绍: CROSS APPLY和OUTER APPLY是SQL Server中的一种连接操作,类似于JOIN语句可以将一张表与一个表函数或一个子查询进行关联。表函数是一种返回一个表类型的数据的函数,子查询是一个嵌套在外部查询中的查询。它们可以与表值函数或子查询配合使用,返回左表和右表的匹配结 ......
KingbaseES数据库分区表添加主键与索引的建议
一、初始化测试环境 # 数据库版本信息 KingbaseES V008R006C007B0012 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit 1. 创建分区表: cre ......
KingbaseES数据库安装PostGIS扩展GEOSUnaryunionPrec错误
一、问题现象: KingbaseES V008R006C007B0012数据库集群安装PostGIS扩展插件报错。 create extension postgis; ERROR: could not load iibrary "/opt/kingbase/cluster/kingbase/lib/ ......
KingbaseES V8R6 创建索引create index concurrently被阻塞
前言 CREATE INDEX CONCURRENTLY(CIC)是DBA们最常用的语句之一,它的好处是不阻塞DML语句。 但在大事务、长事务较多的系统,它可能被阻塞得很久。 本篇就从这个阻塞的案例开始,学习CIC的过程、原理以及注意事项。 测试CREATE INDEX CONCURRENTLY被阻 ......
KingbaseES中不同user之间的权限关系
1.概念 1.schema是每个database中特有的。 schema概念有点像命名空间,这个逻辑空间包含若干表对象。 在DB里面,有了schema才可以创建对象,对象需要依赖于schema,默认为schema为 public 2.user是cluster级别的,它的逻辑架构位于数据库之上。可以在 ......
KingbaseES 查看函数中最耗时的sql
测试 创建测试环境所需表及函数 create table test1(id int); INSERT INTO test1(id) VALUES (generate_series(1, 10000)); create table test2(id int); INSERT INTO test2(id ......
kingbase ES 关于NULL及其相关函数
文章概要: 本文对主要就NULL值及其相关处理函数进行讨论,同时也介绍了ora_input_emptystr_isnull参数 一,关于NULL值 1,sql中的null值 null 值代表未知数据,或者说不确定的值,它与空字符串、0 是不一样的 null 值的处理方式与其他值不同, NULL与任何 ......
kingbaseES坏块修复功能
1、自动坏块修复简介 主数据库访问系统表数据、索引、持久化用户表数据、索引时,从磁盘读取数据块至共享缓冲区,如果检测到坏块,自动从备节点获取坏块的副本,并修复坏块。 坏块修复相关参数 参数名称 默认值 参数描述 auto_bmr.auto_bmr_max_sess 5 设置自动坏块修复最大的会话数 ......
DevOps&Apipost
DevOps旨在通过自动化流程和改善协作,实现软件开发、测试和交付的一体化,从而提高软件交付的质量和速度。为了提高工作效率,加快软件的交付流程,越来越多企业的选择DevOps工作流程。 其中API 管理的地位非常重要。随着 API 数量的大幅增长,也带来了新的 API 管理需求。如何在 DevOps ......
KingbaseES V8R6 集群中复制槽非活跃状态的可能原因
背景 此问题环境是一主五备物理集群,其中node1是主节点,node2,3是集群同步节点,node4,5是集群异地异步节点,由于异地和主节点不同网段,网速非常慢。 kdts-plus工具纯迁数据,每分钟3G数据左右,单机迁移到集群主库再同步到备库。 问题现象:node4,5的复制槽active字段非 ......
KingbaesES数据库查看阻止vacuum的常用语句
KingbaesES数据库中遇到表膨胀,有时碰到vacuum失效的场景。最常见的原因如下。 以下测试基于有关analyze和autovacuum的默认阈值触发条件。 1.autovacuum是否运行,通过查看 sys_stat_user_tables 查看autovacuum_count字段次数。 ......
KingbaseES V8R6 流复制冲突分类以及对应解决方案
背景 据实施人员反馈发现如下报错: FATAL: terminating connection due to conflict with recovery DETAIL: User query might have needed to see row versions that must be re ......
KingbaseES V8R6 等待事件之DataFileRead
等待事件含义 IO:DataFileRead等待事件发生在会话连接等待后端进程从存储中读取所需页面,原因是该页面在共享内存中不可用或无法找到。 所有查询和数据操作(DML)操作都访问缓冲池中的页面,语句包括SELECT、UPDATE和DELETE。例如,UPDATE可以从表或索引中读取页面。如果请求 ......
KingbaseESV8R6使用pageinspect插件观察空值
前言 在KingbaseES元组头数据中,有一个t_bits数组,用于存储空值位图。当元组中没有null值的时候,t_bits是空的,当元组有null值的列时,t_bits使用一个bit来表示列是否为null。 元组中空值存储在Heap TupleData中的前位,它之后存储的是data数据。 pa ......
KingbaseES 名词解释之timeline
timeline定义 每当归档文件恢复完成后,创建一个新的时间线用来区别新生成的WAL记录。WAL文件名由时间线和日志序号组成 引入timeline的意义 为了理解引入时间线的背景,我们来分析一下,如果没有时间线,会有什么问题?先举个将数据库恢复到以前时间点的例子。假设在一个数据库的运行过程中,DB ......
KingbaseES 优化之sql优化方法
金仓数据库在sql层面提供了多种优化手段,但是这些的前提时需要保证我们的统计信息准确,优化器已经在正确信息下选择了它认为的最优的执行计划, 优化手段包括 •使用索引 索引解决的问题用于在进行表的扫描时进行加速,在执行计划中我们经常看到seq scan 它的含义时全表扫描,出现这种情况时我们就要去分析 ......
KingbaseES V8R6集群运维案例之---同一主机节点部署多个集群
案例说明: 在同一主机环境,由于生产需要,需要部署两个集群;本案例详细描述了两个集群的部署过程。 注意:同一主机部署多个集群需要先部署securecmdd服务,节点之间通过securecmdd服务通讯。多个集群共享主机的securecmdd服务在节点之间通讯。 适用版本: KingbaseES V8 ......
8-更大并、可混合接口模式压测的FastHttpUser
FastHttpUser 和HttpUser相比,这个类的运行占用更少压测机的CPU并且可以支撑更大的并发数,并且可以配合gevent类来实现接口混合模式压测(一个user在几乎同一时间并发多个api请求),直接上例子 import time from gevent.pool import Pool ......
9-TaskSet测试任务集
TaskSet 官方介绍:Class defining a set of tasks that a User will execute. 也就是一个把多个task集合起来的一个类,集合内的task的用法与在user类中的并没有多大差异,例如: from locust import TaskSet, ......
10-SequentialTaskset有顺序的测试任务集
SequentialTaskSet 有顺序的任务集 顾名思义,集合内的task是由上到下按顺序执行的,例如: from locust import SequentialTaskSet, task, FastHttpUser class MySTS(SequentialTaskSet): @task ......
11-NO-GUI模式运行测试以及输出测试结果
Command Line运行Locust性能测试 一、使用headless参数,直接运行测试 实际压测场景,使用linux服务器作为压测机一般是没有可视化桌面的,因此需要用到--headless参数来来运行locust测试,如下 locust -f yourlocustfile.py --headl ......
KingbaseES数据库导入数据invalid byte sequence for encoding
一、适用版本: KingbaseES数据库所有版本。 二、问题现象: 使用备份的数据进行还原,还原过程中发生异常。 日志信息: sys_restore: connecting to database for restore sys_restore: creating TABLE "public.ta ......
KingbaseES 数据库中不同user的视图访问授权
前言 本文的目的是实现u1用户访问ud用户下的视图权限。 测试 登录system用户并创建schema,user,并授权schema的有关权限给ud用户 TEST=# select current_user; current_user system (1 row) TEST=# create sch ......
Linux: Android系统
Android系统架构 Android 是谷歌开发的一款基于 Linux 内核的操作系统。系统架构分为五层,从下到上依次是Linux内核层、硬件抽象层、系统运行库层、应用框架层和应用层。 通俗点从下往上依次是: Linux kernel 层,很大一部分内容是驱动程序 HAL 层,对下封装驱动硬件操作 ......