文档中心MogDBMogDB StackUqbar

文档:v5.1

支持的版本:

SCA 结果说明

SCA 结果分为两类:

  • 采集结果 : 源库(Oracle)中的数据采集结果,该结果会自动打包为一个 zip 文件,并在采集最后给出明确文件位置提示。
  • 分析结果 : 在目标 MogDB/openGauss 中执行完分析后生成的分析报告,报告为单独一个文件夹,其中为离线 HTML 格式的报告文档,可任意进行拷贝传阅。

采集结果

数据采集结果会自动打包成 zip 数据包,默认存储在程序当前目录下。

采集完成之后的结果提示信息如下:

2022-02-15 19:20:40.301126 INFO [runMe.py:356] +==================== [ Summary Information ] ====================+
2022-02-15 19:20:40.301184 INFO [runMe.py:357] | Task Name                                  File Name  File Size |
2022-02-15 19:20:40.301222 INFO [runMe.py:358] | --------------------- ------------------------------ ---------- |
2022-02-15 19:20:40.301260 INFO [runMe.py:360] | SCA_SESSION_SQL              sca_sql_information.dat    3.65 KB |
2022-02-15 19:20:40.301294 INFO [runMe.py:360] | SCA_SESSION_SQL_PERF         sca_sql_performance.dat    3.29 KB |
2022-02-15 19:20:40.301326 INFO [runMe.py:360] | SCA_MYSQL_USER_HOST          sca_mysql_user_host.dat    1815  B |
2022-02-15 19:20:40.301357 INFO [runMe.py:360] | SCA_DATABASE                        sca_database.dat     163  B |
2022-02-15 19:20:40.301387 INFO [runMe.py:361] +=================================================================+

 >>> Final Result is:
 >>> ----------------------------------------------
 >>> /Users/hongyedba/Desktop/SCA_MySQL_test.zip

分析报告

兼容性分析与 SQL 性能模拟均会生成对应的分析报告,分析报告默认位于指定的数据目录中,也可以使用 -r 选项指定报告的输出目录。

报告入口

分析报告目录中,index.html 为报告的入口,点击该文件,使用默认浏览器(推荐使用Chrome)打开,即可查看分析报告。

img

img

数据库画像

在 SCA v5.5.0 版本以后,对于 Oracle 数据库,会采集数据库相关的对象与性能数据,构成数据库画像展示。

数据库画像功能页面中,展示如下内容:

  • 基本信息: 包括主机和数据库的基本信息
  • 性能趋势: 多维度的数据库性能指标趋势,包括: DB time, CPU time, 连接数, TPS, QPS, Redo Size, 逻辑读,物理读等。
  • 对象统计: 对象的多维度统计,包括:对象类型统计,非标/保留对象列表,大对象统计等
  • 表统计: 与数据库表相关的各项统计,包括:表类型统计,表行数分布,字段数量分布,字符字段长度分布,特殊字段统计,非标/保留字段列表,Lob大小分布,DML频率分布等。
  • 分区表统计: 单独的分区表相关统计,包括:分区特征统计,分区数量统计等。
  • 索引统计: 索引的各维度相关统计,包括:索引类型统计,表上索引数量统计,索引字段数量统计等。
  • 约束统计: 约束的各维度相关统计,包括:约束类型统计,无主键/唯一键表统计等。
  • PL/SQL统计: 与用户自定义 PL/SQL 相关的统计,包括:PL/SQL行数统计,PL/SQL中特殊SQL统计等。
  • 视图统计: 视图的各维度相关统计,包括:视图查询长度统计,物化视图列表等。
  • SQL统计: 与用户执行过的 SQL 相关的统计,包括:SQL性能分布,SQL长度分布,特殊SQL统计等。

img

img

img

对象兼容度汇总

对象兼容度汇总页面展示本次兼容度分析相关的结果数据,页面表格中按照用户名,对象类型,状态进行汇总,展示相关分类的对象总数,以及兼容情况。

注意: 不同数据库中,该表格展示的内容也略有差异。

img

SQL 兼容度汇总

SQL 兼容度汇总页面展示本次兼容度分析的相关结果数据,页面表格中按照用户名,程序名,模块名汇总,展示系统中采集到的所有 SQL,以及这些 SQL 在 MogDB 中的支持情况。

注意: 不同数据库中,该表格展示的内容也略有差异。

img

SQL 改写规则

SQL 改写规则页面展示本次分析中涉及到的 SQL 改写相关的规则信息。

其中使用情况字段展示该条规则的触发情况:

  • Match 为规则在 SQL 中的命中数量
  • Count 为规则匹配的 SQL 数量

img

SQL 复杂度分布

SQL 复杂度分布页面展示采集到的 SQL 的复杂度分布情况。 复杂度分布目前的评判标准如下:

  1. SQL 涉及的表的数量,表数量越多,复杂度越高
  2. SQL 中使用 connect by 语法的次数,使用 connect by 的次数越多,越有可能出现执行性能问题,对应 SQL 的复杂度越高
  3. SQL 中使用自定义函数的数量,自定义函数中的逻辑复杂度不明,所以使用自定义函数越多,SQL 复杂度越高
  4. SQL 在 Oracle 中的实际执行函数,执行耗时越高,则认为对应的 SQL 复杂度越高

最终每条 SQL 的复杂度则按照以上 4 个评判标准进行汇总。SQL 复杂度越高,在迁移后越需要关注 SQL 的执行性能,避免性能问题导致的业务故障。

img

SQL 性能对比(性能对比汇总)

SQL 性能对比汇总页面展示两个信息:

  1. 性能对比的基础信息,性能对比的一些基础配置,以及对比时使用到的相关阈值设置
  2. SQL 性能汇总,按照总体,提升,下降,不支持,超时等维度对 SQL 进行汇总,分析各类 SQL 对整体负载的影响

img

SQL 性能对比(Top by Workload/SQL, Timeout)

SQL 性能对比中 Top by Workload, Top by SQL, Timeout 等页面内容格式较为相似,以 Top by Workload 为例进行说明。

该列表展示影响最大的 100 条 SQL,其中 SQL FMS 字段为超链接,点击可进一步查看对应 SQL 的分析详情。

SQL 的性能影响有两个评估维度:

  1. SQL 影响: 当前 SQL 在单条 SQL 执行情况下的性能变化影响的比例
  2. 负载影响: 当前 SQL 参考其总执行次数,综合评估其对整个 SQL 负载的性能变化,以及对整体 SQL 性能的影响

img

SQL 性能对比(SQL 详情)

SQL详情页面展示如下几个方面的内容:

  1. SQL 执行信息: SQL 在 Oracle 以及 MogDB 中的执行信息,其中 Oracle 中的执行信息来源于动态性能视图,MogDB 中的执行信息来源于实际 SQL 执行。
  2. SQL 文本: SQL 在 Oracle 中的执行文本,以及在 MogDB 中的实际执行文本。
  3. SQL 绑定变量: SQL 在 Oracle 中的绑定变量信息,该绑定变量信息会应用到 MogDB 中执行的 SQL 文本内,使其能在 MogDB 中真实的模拟业务执行。
  4. Oracle 执行计划: SQL 在 Oracle 中的执行计划,该执行计划来源于动态性能视图。
  5. MogDB 执行计划: SQL 在 MogDB 中的执行计划,该执行计划来源于实际执行,程序会自动对 MogDB 中的执行计划进行初步分析,标识出其中潜在的性能问题点。
  6. MogDB 对象信息: SQL 中涉及到的对象在 MogDB 中的相关结构,以及统计信息。

img

img

img

数据报告

在报告的根目录中的 SCA_Data_Report_<db_name>_<data_id>.xlsx 文件中记录了本次 SQL 兼容度评估涉及到的所有 SQL 的支持情况,SQL 支持情况的各维度汇总,以及部分 SQL 改写的汇总与列表。

Excel 数据报告中主要包含如下 sheet 页面:

  1. 封面页面: 作为 Excel 数据报告的第一页,记录报告的基础信息,名称,采集分析版本,数据编号等
  2. 汇总页面: 作为 Excel 数据报告的第二页,主要记录兼容信息汇总,不支持 SQL 的汇总,以及自动改写 SQL 的汇总
  3. 详细列表: 作为 Excel 数据报告的第三页,记录本次兼容性分析中涉及到的所有 SQL 的详细信息列表
  4. 改写列表: 从 Excel 数据报告的第四页开始,均为 SQL 改写列表,每一页对应一个改写规则,其中 SQL 中涉及到的改写部分均以红色加粗进行标识

文件中的字段内容主要根据数据库的不同,略有差异。

Oracle

  1. 用户名: 执行 SQL 的 Schema 信息,在 Oracle 中一般对应于用户
  2. SQL类型: SQL 类型,区分采集到的 SQL 是系统 SQL 还是用户的业务 SQL,取值为: USER, SYSTEM_CATALOG, SYSTEM_COMMAND
  3. 支持类别: SQL 在 MogDB 中的支持类别:直接支持,改写支持,不支持
  4. 应用模块: 执行 SQL 语句的客户端 module
  5. 应用操作: 执行 SQL 语句的客户端 action
  6. MogDB异常代码: MogDB 中的 SQL 执行错误码
  7. MogDB异常信息: MogDB 中的 SQL 执行报错信息
  8. SQL_ID: Oracle 中的 SQL ID,用于从 Oracle 缓存视图中定位具体 SQL 信息
  9. 原始SQL: 原始 SQL 文本
  10. 转换规则: SQL 满足的自动化改写规则
  11. 改写SQL: 经过自动化改写后的 SQL 文本

MySQL

  1. 库名(schema): 执行 SQL 的 Schema 信息,在 MySQL 中一般对应于数据库
  2. SQL类型: SQL 类型,区分采集到的 SQL 是系统 SQL 还是用户的业务 SQL,取值为: USER, SYSTEM_CATALOG, SYSTEM_COMMAND
  3. 支持类别: SQL 在 MogDB 中的支持类别:直接支持,改写支持,不支持
  4. 用户主机: 执行 SQL 的 MySQL 客户端用户和对应的执行客户端主机信息
  5. MySQL错误代码: SQL 在 MySQL 中的执行情况,如果是 0 则表明 SQL 执行成功,非 0 表示在 MySQL 中执行报错
  6. MogDB异常代码: MogDB 中的 SQL 执行错误码
  7. MogDB异常信息: MogDB 中的 SQL 执行报错信息
  8. 原始SQL: 原始 SQL 文本
  9. 转换规则: SQL 满足的自动化改写规则
  10. 改写SQL: 经过自动化改写后的 SQL 文本

DB2

  1. Schema: 执行 SQL 的 Schema 信息
  2. SQL类型: SQL 类型,区分采集到的 SQL 是系统 SQL 还是用户的业务 SQL,取值为: USER, SYSTEM_CATALOG, SYSTEM_COMMAND
  3. 支持类别: SQL 在 MogDB 中的支持类别:直接支持,改写支持,不支持
  4. 语句类型: DB2 中记录的 SQL 语句类型
  5. MogDB异常代码: MogDB 中的 SQL 执行错误码
  6. MogDB异常信息: MogDB 中的 SQL 执行报错信息
  7. 原始SQL: 原始 SQL 文本
  8. 转换规则: SQL 满足的自动化改写规则
  9. 改写SQL: 经过自动化改写后的 SQL 文本

PostgreSQL

  1. Schema: 执行 SQL 的 Schema 信息
  2. SQL类型: SQL 类型,区分采集到的 SQL 是系统 SQL 还是用户的业务 SQL,取值为: USER, SYSTEM_CATALOG, SYSTEM_COMMAND
  3. 支持类别: SQL 在 MogDB 中的支持类别:直接支持,改写支持,不支持
  4. MogDB异常代码: MogDB 中的 SQL 执行错误码
  5. MogDB异常信息: MogDB 中的 SQL 执行报错信息
  6. 原始SQL: 原始 SQL 文本
  7. 转换规则: SQL 满足的自动化改写规则
  8. 改写SQL: 经过自动化改写后的 SQL 文本

Informix

  1. 用户名: 执行 SQL 的用户信息
  2. SQL类型: SQL 类型,区分采集到的 SQL 是系统 SQL 还是用户的业务 SQL,取值为: USER, SYSTEM_CATALOG, SYSTEM_COMMAND
  3. 支持类别: SQL 在 MogDB 中的支持类别:直接支持,改写支持,不支持
  4. 语句类型: Informix 中记录的 SQL 语句类型
  5. MogDB异常代码: MogDB 中的 SQL 执行错误码
  6. MogDB异常信息: MogDB 中的 SQL 执行报错信息
  7. 原始SQL: 原始 SQL 文本
  8. 转换规则: SQL 满足的自动化改写规则
  9. 改写SQL: 经过自动化改写后的 SQL 文本
Copyright © 2011-2024 www.enmotech.com All rights reserved.