金仓数据库KingbaseES KWR适配rac的快照与报告
关键字:
KingbaseES、 KWR、人大金仓
Kwr创建快照的流程
创建快照的思路主要依赖于kwr_last_snapshot以及kwr_snapshot两张表。其中kwr_last_snapshot表在开始快照生成之前仅会存储一个值,该值就是本次创建的快照的上一次快照,而生成快照的逻辑就是当前获取一个新的快照值存入kwr_snapshot表并收集必要的快照信息将这些信息存入到kwr_last_snapshot表,在收集完成后,使用当前收集到的信息与kwr_last_snapshot表中之前存储的快照信息做一个差值,得到的差值实际上就是本次生成的快照信息,将本次生成的快照信息存入到kwr_snap表之后快照就完成了生成步骤,而在快照成功生成后会将kwr_last_snapshot的值更新为当前生成的快照的值。
根据以上的流程分析可以得知生成快照的逻辑可以认为是当前时刻收集到的统计信息减去上个时刻收集到的统计信息,这其中的差值就是我们需要的快照,所以这里是有一个相减的过程的。若是在RAC中需要让减出来的结果保持正确有意义,因此不允许跨节点相减,假设现在我要在2节点生成快照,而上一次生成快照是在一节点生成的,这里不允许让在2节点收集到的信息减去上一次1节点收集到的信息,所以这里的期望效果就是对于每个节点都有自己的过去值,现在在2节点要生成快照,那么就让二节点减去自己的过去值即可,各个节点生成快照时仅能见到本节点的值,其它节点的值均不可见。
Rac中KWR报告的操作流程:
配置/sharedata/data_gfs2/xieyp/data/kingbase.conf如下
重启数据库:
连接ksql查询,插件已自动创建:
执行select * from perf.create_snapshot();创建快照
执行select * from perf.kwr_snapshots;查询快照
执行select perf.drop_snapshots(2,3);删除指定范围的快照
select perf.reset_snapshots();清除所有快照:
生成KWR报告select perf.rac_kwr_report_to_file(7,8,'html','/home/xieyp/KWR/report.html','node',1);
查看报告: