- 博客(43)
- 资源 (8)
- 问答 (5)
- 收藏
- 关注
原创 金仓V8R6主备集群写入阻塞故障排查处理文档
金仓V8R6主备集群写入阻塞故障摘要 故障描述:金仓V8R6主备集群(1主1备)出现主库DDL/DML操作全面阻塞,执行语句无响应,伴随备库recovering卡顿。 关键现象: 主库所有写入操作(INSERT/UPDATE/DELETE/ALTER等)卡住无响应 查询显示存在明确的主库内部进程阻塞链 备库处于recovering状态,WAL日志堆积154MB,LSN延迟明显 杀进程后问题短暂缓解但会复发 处理措施: 通过pg_stat_activity和pg_locks查询阻塞关系 使用pg_termin
2026-03-20 10:48:30
348
原创 KingbaseES 基于 decoderbufs 插件的 WAL 逻辑解析(Python 实现)
摘要:KingbaseES基于PostgreSQL内核,采用WAL机制确保数据一致性。通过decoderbufs插件将物理WAL日志转换为protobuf格式的结构化数据,Python程序可解析该数据。实现步骤包括:配置数据库参数(wal_level=logical、UTF8编码)、创建复制槽、安装Python依赖(protobuf、chardet),并运行解析脚本。关键点包括强制UTF8编码、protobuf文件编译和复制槽管理。该方案可实现无乱码的逻辑复制数据解析,适用于数据同步等场景。
2026-03-19 13:12:46
360
原创 金仓KingbaseES 备份指定表脚本
金仓数据库表备份脚本摘要:该脚本用于定时备份金仓数据库中的指定表为.dmp格式文件。配置项包括数据库连接信息、备份目录、需要备份的表名数组(如kq_ckqsp_35等5张表)、30天保留期限等。脚本通过循环执行sys_dump命令备份每张表,自动创建日期目录存放备份文件,并记录详细日志。备份完成后会自动清理过期备份文件和日志。脚本设置了环境变量避免密码明文显示,包含备份成功/失败判断,支持通过邮件发送失败告警(需取消注释)。建议通过crontab设置每日02:00定时执行。
2026-03-10 09:20:24
20
原创 ip link方式新增一张虚拟网卡,并设置mac地址
摘要:本文介绍在CentOS7系统(NetworkManager服务)下创建持久化虚拟网卡eth8的方法。步骤包括:1)加载dummy内核模块;2)创建虚拟设备并设置MAC地址;3)通过systemd服务实现开机自启,包含设备检测、MAC配置和启用命令。最终通过daemon-reload启用服务,确保重启后虚拟网卡自动重建。该方法适用于需要持久化虚拟网络接口的场景。
2026-02-28 10:02:21
373
1
原创 金仓 KingbaseES 多 GIS 地理数据库部署及用户隔离实施方案
摘要:本文介绍了在金仓KingbaseES PG模式下实现多用户数据库隔离并支持GIS功能的配置方案。通过创建用户名与库名一致的用户和数据库,回收public权限后重新赋予connect权限实现用户隔离。详细说明了创建用户/数据库的shell脚本、为每个库创建独立模式、安装GIS扩展组件(包括postgis、postgis_raster等)的步骤,以及配置search_path参数的方法。最后提到需要使用ArcMap软件和授权文件启用地理数据库功能,并通过普通用户测试GIS功能是否正常。
2026-01-23 09:57:29
178
原创 金仓KingbaseES V8R6双主的2种处理方法
摘要:本文介绍数据库主从切换后恢复非主库节点的操作步骤。首先通过检查Databaseclusterstate和TimeLineID确认双主状态,然后选择NodeB作为新主库。恢复NodeA为备库的具体步骤包括:1)停止NodeA服务;2)执行rejoin操作同步数据;3)启动服务并注册备库。若rejoin失败,则需执行standbyclone彻底重建备机数据目录。操作涉及sys_ctl和repmgr工具的使用。
2025-12-10 11:00:57
416
原创 安装KingbaseES时服务器swap的设置
本文介绍了操作系统的Swap机制及其在数据库服务器中的应用建议。Swap作为物理内存的扩展,通过将不常用数据写入磁盘来缓解内存压力,但会显著降低性能。针对KingbaseES等数据库系统,核心原则是避免活跃数据使用Swap。建议根据服务器内存大小配置Swap:大内存服务器(≥32GB)可设4-8GB;内存紧张时可设与物理内存等大;云环境建议最小化(1-4GB)。关键要合理配置数据库内存参数,确保活跃数据常驻物理内存,并通过监控工具检查Swap使用情况,发现频繁使用时应优先优化应用或扩容内存而非增大Swap。
2025-12-03 09:13:43
400
原创 金仓KingbaseES元命令
h [NAME] SQL命令语法上的说明,用*显示全部命令的语法说明。\df[anptw][S+] [PATRN] 列出[只包括 聚合/常规/程序/触发器/窗口]函数。\dP[itn+] [PATTERN] 列出 [仅索引/表] 分区关系 [n=嵌套]\e [FILE] [LINE] 使用外部编辑器编辑查询缓存区(或文件)\g [文件] or;连接到新数据库(当前是"db01")\C [字符串] 设置表的标题,或如果没有的标题就取消。
2025-08-08 14:58:39
672
原创 麒麟操作系统安全加固
(2)、编辑文件/etc/xinetd.d/telnet(vi /etc/xinetd.d/telnet),把disable项改为yes,即disable = yes。(1)、编辑文件/etc/ssh/sshd_config(vi /etc/ssh/sshd_config),修改PermitRootLogin值为no并去掉注释。(1). 修改/etc/ssh/sshd_conf文件,将默认端口22修改为xxxx(自行确定端口)(本检查项不提供具体升级步骤,请参考相关资料)。
2025-08-08 14:50:28
1197
原创 vobx 下服务器网络配置示例
NAT+Host-only1.windows网络2.vbox网络设置3.服务器网卡设置,内网网卡不要设置默认网关,dns等4.网关默认网关一定是要能连外网的
2025-08-07 10:16:24
222
原创 金仓KingbaseES逻辑架构,与Oracle/MySQL对比
KingbaseES的逻辑结构采用层级式设计,从高到低依次为:实例/集簇 → 数据库(Database) → 模式(Schema) → 数据库对象(表/视图/函数等),其中多个数据库可以共享同一实例但它们之间相互隔离,模式作为命名空间管理对象,用户和角色全局统一管理权限。存储了关于数据库本身的所有信息:有哪些数据库、每个数据库中有哪些模式、每个模式中有哪些对象(表、视图、索引...)、这些对象的定义、用户/角色信息、权限信息、统计信息等。,用于组织和管理数据库对象(如表、视图、索引、函数、序列、类型等)。
2025-08-07 10:10:19
1163
原创 金仓KingbaseES 主备集群备机重做主要命令
bin_path/repmgr -h 新主机ip -U esrep -d esrep -p 数据库端口 -D $data_path standby clone -F --fast-checkpoint。sys_basebackup -D /opt/Kingbase/ES/V8/data -h 主机IP -U SYSTEM -W 密码 -p 54321 -X stream -F p -P。-X, --wal-method=none|fetch|stream 按指定的模式包含必需的WAL日志文件。
2025-08-05 11:49:31
230
原创 金仓数据库KingbaseES 跨库访问
摘要:KingbaseES数据库在不同模式下实现跨库访问的方法:1.Oracle模式下使用kdb_database_link插件,需配置kingbase.conf并创建数据库链接;2.MySQL模式下通过mysql_fdw扩展实现,需创建外部服务器、用户映射和外部表。两种方法均需先安装相应扩展,Oracle模式支持异构数据库访问,MySQL模式仅支持通过外部表方式查询远程数据。具体操作包括配置连接参数、创建映射关系等步骤,文中提供了完整的SQL示例。
2025-08-05 09:55:28
609
原创 oracle 提示ORA-14402
alter table XX disable row movement(修改回来的语句)1、默认情况下,oracle的分区表对于分区字段是不允许进行update操作的,如果有对分区字段行进update,就会报错ORA-14402。这样在update以后,会在老分区删除数据,新分区插入数据。3、enable row movement会改变rowid。ORA-14402: 更新分区关键字列将导致分区的更改。2、解决办法:开启表的行转移功能。
2025-08-04 15:25:07
853
原创 金仓数据库KingbaseES 使用dblink 跨库访问
1.kingbase.conf的 shared_preload_libraries 增加kdb_database_link,重启数据生效;2.登录到库,创建插件。3.创建dblink。
2025-08-04 15:19:28
285
原创 KingbaseES数据库常见问题(持续更新)
currentSchema=schenam_name 修改为jdbc.master.url=jdbc:kingbase8://xxx.xxx.xxx.xxx:54321/db1。/data/kingbase/data/kingbase.conf 里面找到dynamic_shared_memory_type 参数,改为dynamic_shared_memory_type = sysv。
2025-08-04 10:20:53
3301
1
原创 centos7增加swap空间
当物理内存不足时,系统将部分数据移到交换文件中,避免进程崩溃。确保系统重启后自动启用交换文件。在 Linux 系统上。
2025-07-30 14:57:15
234
原创 金仓数据库KingbaseES sys_dump 报错:Cannot enlarge string buffer containing 1073741763 bytes by 78 more byte
这个错误信息表明,sys_dump在尝试扩展一个字符串缓冲区时失败,因为当前缓冲区已经非常大(约1GB,即1073741763字节),而再增加78字节就会超过限制。对于V8R6部分版本,可以使用--copy-binary 参数,新版的Kstudio逻辑备份可以设置自定义参数。
2025-07-25 11:37:58
395
原创 3分钟搞懂金仓数据库KingbaseES autovacuum
不及时清理死元组会导致表和索引物理文件不断增大(膨胀),浪费磁盘空间,显著降低 I/O 性能(需要扫描更多无用数据块)。负责将旧元组的事务 ID “冻结”,回收 ID 空间,避免数据库因 ID 耗尽而进入只读保护模式(灾难性故障)。) 是优化器生成高效查询计划的基础。过时的统计信息会导致选择低效索引、错误的连接顺序等问题,严重影响查询速度。默认值为0.2(表尺寸的20%),即死元组 > 50 + 总共元组(死元组+活元组)* 0.2。操作产生的旧数据(死元组)占用空间问题(表膨胀)。默认值为50个元组,
2025-07-25 10:57:51
1102
原创 金仓数据库KingbaseES获取当前执行的存储过程名称
金仓数据库获取当前执行的存储过程名称,如pro_test(a text),返回的结果为pro_test。
2025-07-22 17:42:36
134
原创 金仓数据库KingbaseES科学计数法格式转换函数
摘要:本文介绍了在KingbaseES V8R6 MySQL模式下创建自定义函数a_stringtoscirnce,用于将科学计数法格式(如'133.23E+4')转换为更易读的形式(如'133.23x10⁴')。该函数通过判断输入字符串中的'E'字符,将数字部分与指数部分分离,并使用上标字符替换指数标记。函数支持±1到±9的指数转换,并处理了特殊情况(如'+0'直接返回原值)。验证结果显示函数能正确转换如'133.23E+4'为'133.23x10⁴'等格式。
2025-07-22 14:43:40
282
原创 金仓数据库KingbaseES拆分库为不同模式,并进行权限分离
本文介绍了金仓数据库KingbaseES的权限分离方案。通过在sde数据库中创建多个模式(zrkj、zrkj_kc等)并创建对应名称的用户,实现权限隔离。每个用户仅拥有自己对应模式的所有权限,管理员账号sde_system拥有全部权限。具体步骤包括:创建数据库和模式、创建用户并修改模式属主、授予用户对自身模式的权限、设置默认权限、以及禁止所有用户访问public模式。这种设计确保了用户只能访问自己所属模式的数据,实现了严格的数据访问控制。
2025-07-21 15:56:34
229
原创 金仓数据库log_duration,log_statement,log_min_duration_statement使用说明
A、C一起使用,产生叠加效果,会记录所有日志+【持续时间】,如果sql语句超过100ms,则会把【sql语句】也记录下来,【持续时间】、【sql语句】写在同一个字段中。B、C一起使用,产生叠加效果,会记录所有sql语句的日志,如果sql语句超过100ms,则会把【持续时间】也记录下来,【持续时间】、【sql语句】写在同一个字段中。log_duration =on #- 负责记录所有的日志+【持续时间】,否则不记录日志(单独一条记录)。·A、B 一起用时会产生两条日志。A、B、C一起用时,则3无效。
2025-07-16 09:58:41
310
原创 金仓数据库KingbaseES 用户权限管理
1.建立数据库a、b、b,用户a_system拥有三个数据库所有权限,用户a拥有数据库a的读写权限。授予模式中所有表的SELECT权限。-- 撤销public模式上的权限。--赋予模式所有权限给a用户。--回收public权限。2.只读用户的创建和删除。-- 现在可以删除角色了。授予未来创建的表的权限。--赋予将来表的权限。--赋权整个模式的表。-- 在数据库中执行。
2025-07-11 16:28:59
662
原创 电科金仓KingbaseES数据库大小写敏感说明
2、 在/u01/Kingbase/ES/V8/Server/bin下,执行initdb -Usystem -W123456 -D data目录 --case-insensitive。2、 在/u01/Kingbase/ES/V8/Server/bin下,执行initdb -Usystem -W --enable-ci -D data目录。举例:initdb -Usystem -W --enable-ci -D /u01/Kingbase/ES/V8/data。
2025-06-24 11:21:03
1892
原创 金仓数据库PG兼容模式下merge into 改写
金仓数据库V8R6版本PG兼容模式下,不直接支持merge into语法,与之相近的语法是INSERT INTO ON conflict,但该语法必须通过主键判断是更新还是插入,有一定的局限性,那就需要通过存储过程方式来实现具体的需求。1.INSERT INTO ON conflict 实例。
2024-09-18 09:39:16
683
1
原创 Kingbase V8R6对已存在数据库修改为透明加密存储
1、关于表空间加密功能表空间加密能够加密表空间中存储的所有数据。SM4算法是一个分组算法。它是对合算法,因此加解密算法相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。2、表空间加密的限制表空间是对整个表空间数据加密,所以不受表加密的相关限制,对数据类型、约束和索引都没有要求。该方式为表空间级别的加密,所有在该表空间下的对象存储时都将加密。1.注意与原库的兼容模式和大小写,有自定义表空间的需要备份自定义表空间,并创建相同目录。是否默认创建表空间加密, 默认值为false即创建表空间默认不加密。
2024-07-19 10:27:50
1079
原创 kingbase 使用kdb_schedule监控数据库每日增长量
interval=1表示从创建定时任务开始,每分钟执行一次,FREQ可以是YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, SECONDLY,INTERVAL。--3.添加kdb_schedule插件,kingbase.conf 文件修改shared_preload_libraries参数,把kdb_schedule添加到里面,重启数据库。BYSECOND=0,10,20,30,40,50',这样便是每十秒执行一次,目前最快十秒一次,不能设置更短的时间。
2024-06-21 17:22:30
585
原创 are not allowed to use this program (crontab)
etc/cron.allow 文件添加kingbase用户后依然提示报错。环境:HiSilicon Kunpeng-920 / ky10。--注意权限,检查/usr/bin/crontab是否有特权。
2024-05-30 09:10:27
1118
原创 KingbaseES安装时内核参数调整说明
shmmax是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值,shmmax设置应足够大,能在一个共享内存段下容纳下整个的SGA,设置的过低可能会导致需要创建多个共享内存段,可能导致系统性能的下降。file-max级别的能够打开的文件句柄的数量, 而ulimit -n控制进程级别能够打开的文件句柄的数量,即file-max是设置 系统所有进程一共可以打开的文件数量。/proc/sys/fs/aio-max-nr 文件是所允许的并发请求的最大个数。最大的TCP数据接收窗口(字节)。
2024-05-28 16:26:31
532
原创 KingbaseV8R6登录输入密码提示password authentication failed
ksql: 错误: could not connect to server: FATAL: password authentication failed for user "user01"sys_hba.conf 配置scram-sha-256 加密方式,登陆时输入的免密是正确的,但是提示用户密码错误。修改password_encryption参数。登录的用户密码加密方式也是md5。数据库加密方式为md5,
2024-05-28 10:47:44
2102
原创 Kingbase V8R6 物理备份提示more than one primary cluster found
原因:kes服务器时采用nat+host-only模式,且虚拟机时复制的方式,nat网卡的mac地址和ip都没有变化,修改或者删除网卡信息后,执行初始化脚本成功。Kingbase V8R6 集群进行物理备份初始化时提示ERROR:[056]:more than one primary cluster found。
2024-02-28 10:52:18
376
原创 人大金仓KingBaseV8常用语句(持续更新)
context,--是否需要重启数据库生效,f--不需要,t--需要。pending_restart --是否重新加载。
2024-01-29 14:21:48
2337
原创 oracle 修改参数不当导致数据库无法启动
背景:由于操作失误,修改了参数,例如修改sga_target过小,导致数据库重启是无法启动。而spfile无法直接修改,所以得先使用pfile取出spfile然后进行修改。操作过程在集群的其中一个节点操作即可1,找到oracle rac 的spfile,大概是这个路径,具体可能不一致。root@gsrzdb01 ~# su - gridalias ls='ls --color=auto'-bash: alias: =ls --color: not found[grid@gsrzdb01
2020-06-08 17:10:35
811
原创 oracle生成AWR报告
AWR 是通过对比两次快照(snapshot)收集到的统计信息,来生成报表数据,生成的报表包括多个部分。具体指标请百度。栗子:脚本位置,$ORACLE_HOME/rdbms/admin/awrrpt.sql$ sqlplus / as sysdbaSQL> @?/rdbms/admin/awrrpt.sqlCurrent Instance~~~~~~~~~~~~~~~~ DB Id DB Name Inst Num Instance----------- -...
2020-06-08 16:31:19
268
【数据库运维】金仓V8R6主备集群写入阻塞故障排查:主库锁阻塞与备库WAL同步异常处理方案
2026-03-20
【数据库日志解析】基于decoderbufs插件与Python的WAL逻辑解码:金仓数据库DML操作实时捕获系统实现
2026-03-19
[鲲鹏920+麒麟V10] Oracle 19c客户端安装包-ARM64版)
2025-08-14
【数据库运维】金仓Kingbase日常运维SQL汇总:数据库管理与优化操作指南了文档的主要内容
2025-07-01
web jsp转换为html,不通过myeclipse也能在页面上看到
2016-02-01
web顶部导航栏一直悬浮怎么实现。
2016-01-29
web,大神看看这个功能怎么实现的。
2016-01-29
web网页中返回顶部怎么实现?
2016-01-28
请问大神这种菜单怎么做呀?用div+css,
2016-01-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅