人大金仓学习之一_kwr的简单学习

人大,学习,之一,kwr,简单 · 浏览次数 : 38

小编点评

## KWR简单学习摘要 **安装 Kingbase:** * 下载最新的 ISO 文件 * 在 Windows 中,打开“程序文件” > “环境变量” * 在“变量名”中找到“KINGBASE_HOME” * 添加路径:E:\\Program Files\\Kingbase\\ES\\V8 * 配置 Oracle 兼容模式和 PG 兼容模式 * 保存配置文件,避免丢失数据 **验证 KWR:** * 创建扩展:`ksql -U system -d test输入密码` * 创建快照:`select * from perf.create_snapshot()` * 查询已有快照:`select * from perf.kwr_snapshots` * 清空快照:`select perf.reset_snapshots()` * 生成报告:`select * from perf.kwr_report(start_id,end_id)` * 生成 html 报告:`select * from perf.kwr_report(start_id,end_id,'html'` * 生成 text 报告:`select * from perf.kwr_report(start_id,end_id,'text'` **注意事项:** *配置文件中的参数可能因版本而异,建议参考官方文档。 *可以使用 Windows 下的工具进行验证和设置,例如:KingbaseES_V008R006C007B0012_Win64linux。 * 建议在测试环境中确认配置文件设置正确。

正文

人大金仓学习之一_kwr的简单学习


摘要

周末在家想着学习一下数据库相关的内容.
网上找了不少资料, 想着直接在本地机器上面进行一下安装与验证
理论上linux上面应该更加简单. windows 上面可能不如linux方便

主要是记录一下使用和注意事项. 

ISO下载

直接在人大金仓的官网上面就可以下载最新的ISO介质. 
https://kingbase.com.cn/rjcxxz/index.htm
需要注意 Windows 的最新版有时候会比linux的慢一些
比如: KingbaseES_V008R006C007B0012_Win64
linux: KingbaseES_V008R006C007B0024_Aarch64

需要注意, 建议同事下载序列号文件. 

数据库安装

安装过程较为简单, 需要注意的是记住对应的目录
以及设置的字符集以及Oracle兼容还是PG兼容模式.

可以先保存一下配置, 避免丢失和错误

修改配置文件

因为我这边没太有linux的环境了, 计划使用windows进行验证. 
比如我这边的安装路径为:
E:\Program Files\Kingbase\ES\V8
对应需要修改的配置文件为:
E:\Program Files\Kingbase\ES\V8\data\kingbase.conf

修改的地方主要有:
主要是增加: 
shared_preload_libraries = 'sys_kwr,sys_stat_statements'
可以适当修改一下性能相关的参数
listen_addresses = '*'
max_connections = 1000	
superuser_reserved_connections = 5
shared_buffers = 4GB
work_mem = 32MB		
maintenance_work_mem = 64MB
在"Query and Index Statistics Collector"
新增就可以, 之前的配置文件是被注释掉了
track_activities = on
track_sql = on
track_instance = on
track_wait_timing = on
track_counts = on
track_io_timing = on
track_functions = 'all'
sys_stat_statements.track = 'top'
sys_stat_statements.track_parse = on
sys_stat_statements.track_plan = on
sys_kwr.enable = on
sys_kwr.history_days = 14
sys_kwr.interval = 30

注意部分配置文件的含义

track_activities: 开启记录等待事件,默认为on。
track_wait_timing: 开启累积式等待事件记录等待时间的功能,默认为off
track_io_timing: 开启IO计时统计功能,默认为off
track_functions: 开启函数统计功能,默认为
sys_stat_statements.track:跟踪统计SQL语句的访问,推荐用 ‘top’,默认为’none’
sys_kwr.enable:自动对收集到的数据生成快照并保存到kwr库里
其他参数一般情况下使用默认值即可:
sys_kwr.topn:kwr报告显示topn条件记录,默认20条
sys_kwr.history_days:kwr快照数据保留天数,默认8天
sys_kwr.interval:kwr自动采集快照的间隔,默认60分钟
sys_stat_statements.track_parse:sys_stat_statements记录parse次数和时间,默认
开启
sys_stat_statements.track_plan:sys_stat_statements记录plan次数和时间,默认开启

注意需要重启服务

注意参数配置文件一定要在测试环境中确认好了在进行重启.
不然会导致系统启动失败, 一定要进行一次备份. 尽量每次修改比较少的配置文件. 

重启服务的方法: 
1. 运行 services.msc 手动重启kingbase 的服务
2. 执行命令(以管理员身份打开 cmd ) 
net stop kingbase8_R6_instance 
net start kingbase8_R6_instance            

关于kwr的简单使用

首先,建议将人大金仓的bin目录加到环境变量中. 
E:\Program Files\Kingbase\ES\V8\KESRealPro\V008R006C007B0012\ClientTools\bin
执行命令:
ksql -U system -d test
输入密码就可以登录.
第一步创建extension
create extension sys_kwr;

第二步 可以手工创建 snapshot 这一点与oracle是非常类似的. 
select * from perf.create_snapshot();

第三步 查询已经有的kwr快照
select * from perf.kwr_snapshots;

第四步 一些快照的处理命令
select perf.reset_snapshots();        
#清空所有快照
select perf.drop_snapshots($begin_snap_id,$end_snap_id);			
#清除指定范围的快照

第五步 生成kwr报告
select * from perf.kwr_report(start_id,end_id);

第六步 生成html的报告
select * from perf.kwr_report(start_id,end_id,'html');
注意默认文件在 data\sys_log 下面

第七步 生成具体的kwr报告文件
select * from perf.kwr_report_to_file(1,3,'html','E:\zhaobsh_kwr_test.html');
select * from perf.kwr_report_to_file(1,3,'text','E:\zhaobsh_kwr_test.text');

使用与分析

其实与Oracle的awr报告非常接近.
分析方法也比较类似. 

欢迎关注我的公众号一起学习进步

image

与人大金仓学习之一_kwr的简单学习相似的内容:

人大金仓学习之一_kwr的简单学习

# 人大金仓学习之一_kwr的简单学习 ## 摘要 ``` 周末在家想着学习一下数据库相关的内容. 网上找了不少资料, 想着直接在本地机器上面进行一下安装与验证 理论上linux上面应该更加简单. windows 上面可能不如linux方便 主要是记录一下使用和注意事项. ``` ## ISO下载

人大金仓学习之四-kmonitor

# 人大金仓学习之四-kmonitor ## 背景 ``` kmonitor 其实时一个很好的工具和思路 开元的软件封装一下, 减轻技术复杂度,提高部署效率 并且能够更加快速的定位解决问题. 能够极大的提升客户体验. 并且界面比较好看, 比kwr 看起来高大上多了. 不仅可以解决部分实际问题, 也可

人大金仓学习之三-表空间与跨磁盘存储和分区表

# 人大金仓学习之三-表空间与跨磁盘存储和分区表 ## 背景 ``` 最近在用人大金仓的数据库. 前期学习了 kwr和ksh等工具. 今天想验证一下性能相关的情况. 因为机器正好有多个磁盘的分区. 想着能够将所有的硬盘都用上. 提高性能, 感觉总体还不错, 所以想总结一下. 注意这里只考虑 OLTP

人大金仓学习之二_ksh和kddm的学习

# 人大金仓学习之二_ksh和kddm的学习 ## 摘要 ``` 承接上一篇文章 主要是这里总结一下ksh相关的文档. 这里学习了很多文档: https://help.kingbase.com.cn/v8/perfor/performance-optimization/performance-opt

Jmeter学习之五_跟踪被测试服务器的performance

# Jmeter学习之五_跟踪被测试服务器的performance ## 背景 ``` 这几天简单学习了一些基本的测试过程. 可以实现一些简单基本的功能了. 今天晚上继续进行了jmeter的一些学习. 想着可以在测试人大金仓的同时可以查看一下本地的机器性能. ``` ## 用到的工具以及资料 ```

Jmeter学习之四_kingbaseV8R6数据库的简单验证

# Jmeter学习之四_kingbaseV8R6数据库的简单验证 ## 背景 ``` 周一没去报道, 因为我忘记体检了... 继续在家进行学习提高自己. jmeter周末时开始看的. 今天想着继续研究一下对数据库的处理 突然发现人大金仓的官方csdn有一个文档, 所以想着偷师,并且总结学习一下.

人大金仓备份恢复的简单学习

人大金仓备份恢复的简单学习 背景 最近公司里要适配人大金仓 想着最快的办法是将自己的数据库备份恢复到现场 发现备份很简单. 理论上恢复应该也类似. 想着能够模仿PG数据库的模式进行相关的操作. 备份操作 cd /opt/Kingbase/ES/V8/Server/bin/ ./sys_dump -h

[转帖]人大金仓数据库分区表

分区表 声明式创建分区 按列创建分区(PARTITION BY LIST) 将学员表student按所在城市使用partition by list创建分区 创建分区表(基表) 创建格式 create table 表名(字段名 数据类型)PARTITION BY LIST(要分区的字段名) 创建子分区

[转帖]人大金仓数据库的备份与还原

人大金仓数据库的备份与还原 文章目录 人大金仓数据库的备份与还原前言备份sys_dump 命令 还原ksql 命令sys_restore 一. 从人大金仓数据库备份还原到人大金仓数据库二 从postgresql数据库备份还原到人大金仓数据库 后记 前言 本文记录一次使用人大金仓数据库(Kingbas

人大金仓数据库连接异常简单分析查看的方法

# 人大金仓数据库连接异常简单分析查看的方法 ## 背景 ``` 这边一个测试环境,人大金仓4000的连接池 最近出现多次 连接池用光的问题. 想着简单分析一下. 给研发同事进行问题定位. 这里简单记录一下 ``` ## 问题流程 ``` 研发反馈数据库无法连接. 我这边之前部署了一套 kmonit