人大金仓学习之一_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的简单学习相似的内容: