生成性能报告¶
基于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);