kingbase 数据库升级常用命令

2022-04-01 00:00:00 数据库 等待 进程 死锁 阻塞

[TOC]

kingbase 数据库升级常用命令:

  • 服务器:root/password

  • win:system 123456

  • WIN启停服务

  • 使用win服务。

linux启停服务

  1. [kdb@192-168-12-42 data]$ ps -ef |grep data

  2. root 430 2 1008 ? 00:00:00 [xfs-data/dm-]

  3. root 603 2 1008 ? 00:00:00 [xfs-data/vda1]

  4. root 621 2 1008 ? 00:00:00 [xfs-data/dm-2]

  5. kdb 1220 1 1008 ? 00:04:14 /home/kdb/Kingbase/ES/V8/Server/bin/kingbase -D /home/kdb/Kingbase/ES/V8/data

  6. kdb 119003 1 12:49 pts/ 00:00:00 /home/kdb/Kingbase/ES/V8/Server/bin/kingbase -D /home/kdb/Kingbase/ES/V8/data1

  7. kdb 121062 117570 13:21 pts/ 00:00:00 grep --color=auto data

  8. [kdb@192-168-12-42 data]$ sys_ctl /start/restart/stop -D /home/kdb/Kingbase/ES/data


  9. # 修改端口号

  10. # 修改配置文件/home/kdb/Kingbase/ES/V8/data1/kingbase.conf中的port。



  11. # sql命令查看数据库是否敏感。

  12. SHOW case_sensitive; --off,不敏感。on.敏感。


  13. # 查看linux服务状态

  14. [kdb@192-168-12-42 ~]$ ps -ef |grep kingbase

  15. kdb 1220 1 1008 ? 00:04:14 /home/kdb/Kingbase/ES/V8/Server/bin/kingbase -D /home/kdb/Kingbase/ES/V8/data


  16. 数据库备份

  17. sys_dump -USYSTEM -W123456 -Fc -f HRJ_INFO_COLLECTION.dmp -d HRJ_INFO_COLLECTION

一 数据库不敏感升级敏感流程

1.备份不敏感数据库数据。

数据库备份(防止失败回退用)

  1. sys_dump -USYSTEM -W123456 -Fc -f HRJ_INFO_COLLECTION.dmp -d HRJ_INFO_COLLECTION

单独备份结构(恢复到敏感使用)(home/kdb)

  1. [kdb@192-168-12-42 back1202]$ sys_dump -USYSTEM -W123456 -s -f HRJ_INFO_COLLECTION.sql -d HRJ_INFO_COLLECTION

  2. [kdb@192-168-12-42 back1202]$ sys_dump -USYSTEM -W123456 -sls -f info.sql -d info

  3. [kdb@192-168-12-42 back1202]$ sys_dump -USYSTEM -W123456 -s -f info_01.sql -d info_01

单独备份数据(恢复到敏感使用)

  1. SELECT 'COPY BINARY '||tablename||' TO ''/home/kdb/back1202/mingan/data/'||tablename||''';' FROM sys_tables WHERE schemaname='PUBLIC' ;

2.安装敏感数据库

1)初始化实例

  1. [kdb@192-168-12-42 back1202]$ initdb -USYSTEM -W123456 -E=UTF8 -D /home/kdb/Kingbase/ES/V8/data1

  2. vi /home/kdb/Kingbase/ES/V8/data1/kingbase.conf 修改端口号 data 2 54329

2)建库

  1. create database kumingzi;

3)恢复结构

  1. [kdb@192-168-12-42 jiegou]$ ksql -USYSTEM -W123456 -d HRJ_INFO_COLLECTION -p54322 -f HRJ_INFO_COLLECTION.sql

4)恢复数据

  1. SELECT 'COPY BINARY '||tablename||' TO ''/home/kdb/back1202/mingan/data/'||tablename||''';' FROM sys_tables WHERE schemaname='PUBLIC' ;

特殊修改

  1. 导出 COPY (SELECT * FROM PUBLIC.Dictionary) to '/home/kdb/back1202/mingan/data/Dictionary';

  2. 导入 COPY PUBLIC.Dictionary FROM '/home/kdb/back1202/mingan/data/Dictionary';


  3. COPY BINARY "USER" TO '/home/kdb/back1202/mingan/data/USER';


  4. export JAVA_HOME=/usr/local/java/jdk1.8.0_191

  5. export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

  6. export PATH=$PATH:$JAVA_HOME/bin



  7. vi替换

  8. :%s/ TO / FROM /g

5)数据库死锁常用现状

  1. ### Error updating database. Cause: com.kingbase8.util.KSQLException: 错误: 检测到死锁

  2. Detail: 进程122260等待在事务 14467758上的ShareLock; 由进程121907阻塞.

  3. 进程121907等待在事务 14467778上的ShareLock; 由进程121903阻塞.

  4. 进程121903等待在数据库16387的关系16439中的元组(44322,10)上的ExclusiveLock; 由进程122260阻塞.

  5. Hint: 详细信息请查看服务器日志.

  6. Where: 当锁定关系"COLLECTION_INFO"的元组(44322, 10)时

  7. ### The error may involve com.geodo.hrj.collection.dao.CollectionInfoBOMapper.updateById-Inline

  8. ### The error occurred while setting parameters

  9. ### Cause: com.kingbase8.util.KSQLException: 错误: 检测到死锁

  10. Detail: 进程122260等待在事务 14467758上的ShareLock; 由进程121907阻塞.

  11. 进程121903等待在数据库16387的关系16439中的元组(44322,10)上的ExclusiveLock; 由进程122260阻塞.

  12. Where: 当锁定关系"COLLECTION_INFO"的元组(44322, 10)时

  13. ### The error may involve com.geodo.hrj.collection.dao.CollectionInfoBOMapper.updateById-Inline

  14. ### The error occurred while setting parameters

  15. ### SQL: update "PUBLIC"."COLLECTION_INFO" SET "STATUS" = ?, "LAST_APPROVAL_TIME" = ?,

  16. "OPINION" = ? where "ID" = ?

  17. ### Cause: com.kingbase8.util.KSQLException: 错误: 检测到死锁

  18. Detail: 进程122260等待在事务 14467758上的ShareLock; 由进程121907阻塞.

  19. 进程121907等待在事务 14467778上的ShareLock; 由进程121903阻塞.

  20. 进程121903等待在数据库16387的关系16439中的元组(44322,10)上的ExclusiveLock; 由进程122260阻塞.

  21. Hint: 详细信息请查看服务器日志.

  22. Where: 当锁定关系"COLLECTION_INFO"的元组(44322, 10)时

  23. ; 错误: 检测到死锁

  24. Detail: 进程122260等待在事务 14467758上的ShareLock; 由进程121907阻塞.

  25. 进程121907等待在事务 14467778上的ShareLock; 由进程121903阻塞.

  26. 进程121903等待在数据库16387的关系16439中的元组(44322,10)上的ExclusiveLock; 由进程122260阻塞.

  27. Hint: 详细信息请查看服务器日志.

  28. Where: 当锁定关系"COLLECTION_INFO"的元组(44322, 10)时; nested exception is com.kingbase8.util.KSQLException: 错误: 检测到死锁

  29. Detail: 进程122260等待在事务 14467758上的ShareLock; 由进程121907阻塞.

  30. 进程121907等待在事务 14467778上的ShareLock; 由进程121903阻塞.

  31. 进程121903等待在数据库16387的关系16439中的元组(44322,10)上的ExclusiveLock; 由进程122260阻塞.

  32. Hint: 详细信息请查看服务器日志.

  33. Where: 当锁定关系"COLLECTION_INFO"的元组(44322, 10)时

解决方案:

  1. utovacuum_vacuum_scale_factor = 0.03 # fraction of table size before vacuum

  2. autovacuum_analyze_scale_factor = 0.03 # fraction of table size before analyze

END

时光,在物转星移中渐行渐远,春花一梦,流水无痕,没有在想做的时候去做的事情,都是人生的遗憾。人生需要深思熟虑,也需要一时的冲动。

来自:https://mp.weixin.qq.com/s/gKC1q9dnppEfmi3opHuobg

相关文章