- 博客(34)
- 收藏
- 关注
原创 kingbase 共享内存不足
临时修改max_lock_per_transactions参数,默认为64,可根据实际应用改大,该参数需要小于8192,比如改成500,然后重启数据库;在还原命令中,可以加入–lobs-per-trans=500,这样就可以完成还原。
2024-01-03 09:28:24
735
原创 kingbase 常见乱码问题
3)要显示正常中文必须保证:操作系统编码、Kingbase服务器的LOG输出编码(服务器系统内默认指定编码为GBK,而对数据库的访问log是根据所访问数据库的serverencoding来决定输出编码的)、终端显示编码三者一致。1)kingbase服务器系统默认字符集是GBK,所以安装时候输出信息为GBK编码,而一般操作系统默认字符集为UTF8,所以字符界面安装的时候因输出与操作系统、终端显示的字符集不一致,导致安装时候的中文信息为乱码。当接受连接后,服务器使用的是1)中方式输出log。
2024-01-02 22:48:12
1889
原创 kingbase 常见故障列表及相关故障处理方法
当Kingbase数据库出现坏块时,Kingbase数据库在查询到记录时,记录坏块的信息:其中,<1301>代表据坏块的块号,出现这种情况时,应该首先检查是否是硬件及操作系统上的故障导致Kingbase数据库出现坏块。在排除了数据库以外的原因后,再对发生坏块的数据库对象进行处理。修复方法方法一:如果发生坏块的对象是一个索引,那么可以直接把索引DROP掉后,再根据表里的记录进行重建;如果发生坏块的表的记录可以根据其它表的记录生成的话,那么可以直接把这个表DROP掉后重建;
2024-01-02 22:45:59
1068
原创 kingbase逻辑恢复
no-tablespaces:不恢复表空间分配。-c:在重新创建之前清除(删除)数据库对象。–if-exists:删除对象时使用。-x:跳过恢复访问权限(授予/撤销)-O:跳过恢复对象所有权。
2024-01-02 22:42:24
581
原创 kingbase 数据坏块
这里的163899是根据select sys_relation_filepath(‘test’);1、在kingbase.conf 中最后一行添加zero_damaged_pages=on 参数。kingbase.conf删除zero_damaged_pages=on参数,重启数据库。3、丢失了一部分数据,将现有数据导出来,删掉原表,再重新导入。(3)做checkpoint落盘:checkpoint;添加zero_damaged_pages=on。1、创建测试表并插入数据。(1)查看表的物理文件。
2024-01-02 22:33:00
427
原创 kingbase 无where条件全表更新误操作
(2)启动:sys_ctl start -D /kdb/data_bak。(3)根据sys_log日志确认update时间点。(3)验证ceshi表是不是update之前的数据。3、备份ceshi表,还原正式库。4、登录正式库改名ceshi表。将正式库中的ceshi表改名。
2024-01-02 21:15:39
459
原创 kingbase 单表误删,基于时间点恢复单表
(2)备份ceshi表,还原正式库。(1)创建ceshi表,并确认时间。C:验证ceshi表是否存在。
2024-01-02 21:06:46
758
原创 kingbase集群环境误删除软件目录
B:如果是恢复到指定时间点,需要使用物理备份恢复到指定的时间点。启动新的数据库实例,并且从新恢复的实例中使用sys_dumpall 备份并且恢复至集群环境中。A:如果是恢复到最新时间点,使用逻辑备份的sql 文件直接恢复到集群环境即可。(4)使用数据库部署工具重新搭建集群(参考集群部署手册)集群情况下,删除任一节点机器的软件目录恢复方式如下。(2)将集群数据进行备份,包括物理备份和逻辑备份。(3)将集群停掉,将主机的数据目录进行冷备。集群恢复方式类似备机删除软件后的恢复步骤。
2024-01-02 20:52:44
376
原创 kingbase单机环境误删除软件目
(2)若是没有备份,那可以寻找可以恢复磁盘数据的厂商,看是否有方法恢复。如果没有备份,且第三方数据恢复公司没有方法,那删除的数据无法找回,属于严重生产事故。重新安装数据库(参考数据库安装手册),将data替换启动即可。(1)数据目录删除后,应用的服务会停掉。1、重新安装数据库(参考数据库安装手册)2、借助备份文件进行数据的还原操作。A:在新初始化的数据库中进行恢复。以下故障处理方式为有备份的情况。(1)借助逻辑备份进行还原。2、借助物理备份进行还原。A:重新初始化数据目录。(2)物理备份初始化。
2024-01-02 20:31:35
561
原创 kingbase收集统计信息
stats collector process子进程是统计信息收集器进程。表和索引的行数、块数等统计信息记录在系统表sys_class中,其他的统计信息主要收集在系统表 sys_statistic中。analyze命令可以收集统计信息。然后将结果保存在系统表sys_statistic中。
2024-01-02 20:11:01
766
原创 kingbase在线重建索引
目前数据库版本不支持在线重建索引,需要在线新建一个不同名字的索引,然后删除原索引。3、当索引需要重建时,需采用在线创建一个不同名字的新索引,然后再删除原来的索引。
2024-01-02 20:09:08
643
1
原创 kingbase慢SQL
总结:通过查找占用系统CPU、内存、io高的进程,在数据库中查找此进程执行的序列找出慢sql进程进行优化。对于慢SQL语句的发现和优化是运维中需要经常接触的工作。因此,需要关注慢SQL语句,对其进行追踪和优化。设置对于单个SQL最小的执行时间,执行时间大于这个值的语句都将会被记录到日志中。(2)通过系统资源使用查找慢sql。(3)查询慢执行慢sql的后台进程。(1)执行时间大于1s的慢sql。(4)慢SQL(耗CPU)(1)日志记录慢sql语句。(2)设置慢SQL阈值。2、模拟慢SQL执行。
2023-12-28 19:56:30
892
1
原创 kingbase数据库响应慢排查步骤
修改log_min_duration_statement参数,根据实际情况超出多长时间的sql将在日志中打印出来,时间单位是ms。2、对data/sys_log下生成的kingbase-%Y%m%d_%H%M%S.log生成html分析报告。1、在kingbase.conf配置数据库日志参数,reload数据库生效,在报告中对响应时间较长的sql可做响应优化。
2023-12-28 19:53:30
881
1
原创 kingbase数据库内存溢出处理
如果出现数据库占用大量内存,导致操作系统无法提供更多内存时,会触发操作系统的oom,操作系统会找到占用内存最多的进程杀掉。由于我们一般建议shared_buffers设置为最多25%的操作系统内存,因此一般杀掉的会是一个数据库的服务进程(每个数据库连接对应一个服务进程)。服务进程被杀掉后,数据库会自动重启所有进程,避免共享内存的不一致。如果是集群环境,如果内存溢出的是主节点,可能会因为数据库自动重启所有进程的时间过长,导致集群切机,这时按一般的集群切机处理方法“集群failover修复”修复集群即可。
2023-12-28 19:51:22
797
1
原创 kingbase死锁处理
死锁数据库会自动进行处理,自动分析判断干掉影响较小的一个SQL语句,并记录到运行日志中。因此虽然出现死锁后,数据库会自动解锁,但业务已经受到了影响,死锁都是业务逻辑存在问题。需要定期检查数据库日志,将死锁涉及到的SQL发给应用厂商的研发,确认业务逻辑。
2023-12-28 19:50:47
769
1
原创 kingbase长时间锁阻塞处理
pid为select sys_blocking_pids();查出来的pid,释放锁。2、Session B:在事务B中执行drop table。1、Session A: 在事务A中执行insert。4、查看到哪个进程被锁住了,得到一个pid.可以看到哪个进程被锁住了,得到一个pid。3、Session C:检测死锁。(1)查看当前活跃会话。6、终止会话,释放锁。
2023-12-28 19:49:21
656
1
原创 kingbase数据库HANG住分析
1、Session A: 执行select查询。3、Session A:事务结束后,锁被释放。2、Session B: 查看锁信息。
2023-12-28 19:37:54
404
1
原创 kingbase数据库无法登录
alter user 用户 with password ‘密码’;解决:system登陆数据库执行:enable user 用户名即可解锁。解决:使用数据库管理员用户system更改密码过期期限即可。故障:(1)忘记密码;(2)数据库系统用户system、esrep密码修改。数据库系统用户system登陆数据库。现象:登陆用户操作时,报错密码过期。(1)应用普通用户密码修改。A:使用脚本修改密码。
2023-12-28 19:35:53
1766
1
原创 kingbase 数据库无法连接
2、在客户端telnet远程服务端telnet 数据库服务器ip 数据库服务器端口,如:telnet 10.11.12.11 54321。ps -ef|grep kingbase检查数据库进程是否已存在;1、在数据库服务器检查数据库是否已启动。
2023-12-28 19:34:21
1569
1
原创 kingbase 数据库无法启动
2、因数据库异常宕机或事物日志被误删除导致无法启动数据库,查看数据库日志data/sys_log。(4)切换到root用户,修改权限(如果为kingbase用户上传,此步骤可忽略)(3)上传新的license,将其更名为license.dat并放至安装目录下。1、license过期导致数据库无法启动,更换新license文件。命令:mv license.dat license_old.dat。(1)查找license.dat位置:依如下命令查到的为准。(2)进入目录,将原license重命名。
2023-12-28 19:31:40
2577
2
原创 kingbase 系统运行常见问题-sys_wal过大
sys_xlog是数据库的预写日志(wal),过大可能导致数据磁盘爆满,进而引发数据库宕机,sys_xlog过大时可以手动进行清理。物理备份路径在安装目录/home/kingbase/cluster/kingbase/share,配置sys_backup.conf。各节点分别用df查看整体磁盘空间情况,以及用du查看wal日志(位置在$KINGBASE_DATA/sys_wal)磁盘占用情况。cp -r /kdb/data/sys_wal /kdb/data/sys_wal_bak_日期。
2023-12-28 19:30:07
1213
1
原创 kingbase控制文件查看
DATADIR 表示实例的根目录(通常为data)。sys_controlfile是一个用来查看sys_control控制文件内容的命令行工具。
2023-12-28 19:22:23
657
1
原创 kingbase监测预警机制
从磁盘读入的数据(主要包括表和索引)都缓存在这里,适当提高该值可以减少数据库的磁盘IO,注意32bit的windows该值不宜超过1.3GB,32bit的linux该值不宜超过1.8G,64bit的平台可以设置根据物理内存大小设置。一般情况下数据库的连接数会随着应用的增加或用户的增加而发生变化,DBA要定时对数据库的连接情况进行检查,查看数据库建立的会话数是否有正常,连接设置太多会消耗数据库的资源。因此需要对数据库的连接数进行合理的设置。注:日志缓冲区的大小,是共享缓冲区的一个部分。
2023-12-28 19:16:17
584
1
原创 kingbaseESV8集群管理-Node Rejoin
Node rejoin 操作常见的场景:primary 宕机,standby 接管,旧的 primary 要重新加入集群。
2023-09-04 19:34:49
329
1
原创 kingbaseESV8集群切换-Standby Follow
–sibling-follow” 选项通常用于 3 个及以上节点的集群,在进行 standby switchover 时, “–sibling-follow”表示其它的 Standby 节点是否将 Upstream 指向新的 primary node。如果不指定“–sibling-follow”参数,则指向原节点不变。可以看到,在没有指定选项“–sibling-follow”时,node103 Upstream 不会指向新的 primary。
2023-09-04 19:28:21
157
1
原创 kingbaseV8集群主备切换-repmgr standby switchover
在 node102 运行 checkpoint从 node102 去除 VIP在 node102 运行 sys_ctl stop,关闭数据库确认 vip 及 102 数据库已停止在 node101 启动 VIP,并运行 promote 命令,将 node101 数据库提升为 primary启动 node102 数据库在 node103 运行 repmgr standby follow。
2023-09-04 19:24:19
601
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅