生成性能报告

基于RDR Snapshot数据表统计数据,生成性能报告。

操作步骤

1、查询 sys_rdr.snapshot 表,以获取快照的snapshot_id。

select * from sys_rdr.snapshot;

2、执行如下命令可以手动创建快照。若需要查看在当前时间段数据库的监控数据,可以选择手动执行快照操作,该命令需要用户具有管理员权限。

select create_rdr_snapshot();

3、报告生成

select generate_rdr_report(dbid bigint, instance_number int,begin_snap_id bigint, end_snap_id bigint, report_type cstring)

generate_rdr_report函数参数说明

参数 说明
dbid 数据库id
instance_number 实例号
begin_snap_id 查询时间段开始的snapshot的id
end_snap_id 查询时间段结束的snapshot的id
report_type 指定生成report的类型,summary/all

4、注意事项

dbid 下要存在 begin_snap_id 和 end_snap_id,end_snap_id 要大于 begin_snap_id,且都存在于sys_rdr.snapshot表中。

同时在这段时间内数据库没有经历重启。sys_rdr.snapshot 表中 DB_START_UP 值相等则代表没有经历重启。

生成示例

 select * from sys_rdr.snapshot;
 SNAPSHOT_ID | DBID | INSTANCE_NUMBER |         DB_START_UP         |              START_TS              |               END_TS               | SESSION_NUM
-------------+------+-----------------+-----------------------------+------------------------------------+------------------------------------+-------------
          18 |    1 |               1 | 2024-10-22 13:39:40 +08:00  | 2024-10-22 13:55:24.731437 +08:00  | 2024-10-22 13:55:25.308177 +08:00  |           1
          19 |    1 |               1 | 2024-10-22 13:39:40 +08:00  | 2024-10-22 13:55:26.32401 +08:00   | 2024-10-22 13:55:26.853916 +08:00  |           1
          20 |    1 |               1 | 2024-10-22 13:39:40 +08:00  | 2024-10-22 13:55:27.856617 +08:00  | 2024-10-22 13:55:28.40009 +08:00   |           1
--选择 dbid 和 instance_number,查找该实例下存在的快照
--选择 DB_START_UP 相同的 snapshot_id
--在此选择 18 作 begin_snapshot_id,20 作 end_snapshot_id。
--报告生成类型为 'all',默认为 'summary',如果传入NULL值,那么为默认值
select generate_rdr_report(1,1,18,20,'all');
--如果不关注 dbid 和 instance_number ,向使用本机的 dbid 和 instance_number,那么可以使用如下用法
select generate_rdr_report(NULL,NULL,18,20,'all');

5、isql客户端生成报告

如果使用 isql 客户端的话,可以使用例如如下的命令,重定向到文件。

(-A 非对齐模式,-t 只输出结果,不输出头 -o 重定向文件 -c 执行sql -h 连接ip -d 连接库)

isql.exe -h 192.168.1.127 -d osrdb -c "select generate_rdr_report(1,1,18,19,'all')" -A -t -o "test_rdr.html"

生成性能对比报告

基于RDR Snapshot数据表统计数据,生成性能对比报告。

操作步骤

1、查询 sys_rdr.snapshot 表,以获取快照的snapshot_id

select * from sys_rdr.snapshot;

2、报告生成

select generate_rdr_diff_report(frist_dbid bigint,frist_instance_number int,frist_begin_snap_id bigint, frist_end_snap_id1 bigint, second_dbid bigint,second_instance_number int ,second_begin_snap_id bigint, second_end_snap_id bigint)

generate_rdr_diff_report函数参数说明

参数 说明
frist_dbid 首个性能报告的数据库id
frist_instance_number 首个性能报告的实例号
frist_begin_snap_id 首个性能报告查询时间段开始的snapshot的id
frist_end_snap_id 首个性能报告查询时间段结束的snapshot的id
second_dbid 第二个性能报告的数据库id
second_instance_number 第二个性能报告的实例号
second_begin_snap_id 第二个性能报告查询时间段开始的snapshot的id
second_end_snap_id 第二个性能报告查询时间段结束的snapshot的id

生成示例

 select * from sys_rdr.snapshot;
 SNAPSHOT_ID | DBID | INSTANCE_NUMBER |         DB_START_UP         |              START_TS              |               END_TS               | SESSION_NUM
 ------------+------+-----------------+-----------------------------+------------------------------------+------------------------------------+-------------
          16 |    1 |               1 | 2024-10-22 13:39:40 +08:00  | 2024-10-22 13:55:24.731437 +08:00  | 2024-10-22 13:55:25.308177 +08:00  |           1
          17 |    1 |               1 | 2024-10-22 13:39:40 +08:00  | 2024-10-22 13:55:26.32401 +08:00   | 2024-10-22 13:55:26.853916 +08:00  |           1
          18 |    1 |               1 | 2024-10-22 13:39:40 +08:00  | 2024-10-22 13:55:27.856617 +08:00  | 2024-10-22 13:55:28.40009 +08:00   |           1
          19 |    1 |               1 | 2024-10-22 13:39:40 +08:00  | 2024-10-22 14:02:14.759593 +08:00  | 2024-10-22 14:02:15.317816 +08:00  |           1
          20 |    1 |               1 | 2024-10-22 13:39:40 +08:00  | 2024-10-22 14:02:16.318238 +08:00  | 2024-10-22 14:02:16.848407 +08:00  |           1
--在此选择 18 作 frist_begin_snap_id ,19 作 frist_end_snap_id。19 作 second_begin_snap_id,20 作 second_end_snap_id。
--生成报告
select generate_rdr_diff_report(1,1,18,19,1,1,19,20);