Tosska DB Ace Enterprise (DBAO™) for Oracle®



非常智慧

智能 SQL 调优 — 超越人类智慧

集预测、查找和解决问题于一身的实用工具
市场上传统的监控和SQL审查工具主要通过定位高资源消耗的 SQL 或基于 SQL 基本语法和分析查询计划来筛选 SQL。Tosska DB Ace Enterprise 是一款极具创新的工具,它不仅可以向您展示从单SQL 运行状况到数据库整体 SQL 的性能情况, 还可以帮助您预测数据库在不同环境中的性能变化。此外DB Ace Enterprise 高度集成了强大的人工智能SQL调优功能,通过更为友好的用户界面,极大简化了从性能预测、问题识别到调优解决问题的过程,以帮助您快速解决 SQL 的性能问题。
模块功能功能描述
审查 SQL – 性能跟踪器预测问题性能跟踪器可以帮助您跟踪数据库环境更改后(例如:更新统计数据、数据库迁移、数据库升级等)的性能变化。
审查SQL查找问题审查数据库的整体 SQL 运行状况,通过 SQL 语法、查询计划和执行统计信息,将 SQL 语句分类到不同的问题区域。
优化SQL解决问题使用人工智能引擎,通过 SQL语法改写、SQL提示注入以及索引建议进行 SQL 语句优化。
优化 SQL Plan解决问题使用人工智能引擎,通过 SQL 提示注入技术进行SQL 语句优化,最后使用 Oracle 的 SQL Patches 或Plan Baselines 进行部署,过程无需更改源代码即可完成 SQL 语句优化。
优化 DB Link SQL解决问题针对分布式数据库环境中的 DB Link SQL 语句,嵌入了专门定制的 SQL语法改写和特定的 SQL提示注入,进行 SQL 语句优化。
优化 Top SQL解决问题从 Oracle AWR 或 SGA 中提取高资源消耗的 SQL 语句,以便批量进行 SQL 调优。
建议全局索引解决问题使用专有的人工智能技术,为从 SGA 或 AWR 捕获的一组给定 SQL 工作负载推荐最佳 N 个索引。
管理SQL Patches管理维护启用/禁用和管理Oracle SQL Patches.
管理SQL Plan Baselines管理维护启用/禁用和管理Oracle SQL Plan Baselines.



SQL 审查器 – 预测和查找 SQL性能问题
DB Ace Enterprise for Oracle内置 SQL审查器模块,可帮助您跟踪和预测数据库环境更改前后的性能变化,例如更新统计信息、数据库迁移、数据库升级等。它还通过审查 SQL 语法、查询计划和 SQL 执行统计信息,来识别有潜在问题SQL,从而告诉您数据库的整体 SQL 运行状况。

揭示您以前没有意识到的问题
DB Ace Enterprise for Oracle 有六项创新的 SQL 审查功能,用以分析来自 Oracle SGA 和 AWR 的 SQL 工作负载。



SQL性能跟踪器
性能跟踪器可以帮助您跟踪数据库环境更改后(例如:更新统计数据、数据库迁移、数据库升级等)的性能变化。

目前数据库存在一个问题,即当您的数据库环境发生更改(例如硬件升级、数据库升级、创建和删除索引、更新统计信息、数据库迁移等)时,它的性能将会如何变化,无从得知。 SQL 性能跟踪器就此应运而生,它拥有强大的功能,可以帮助用户在特定环境更改前后模拟出两个阶段数据库的性能,甚至基准测试不同时段数据库的性能。


SQL性能跟踪器在环境变化的两个数据库之间能分辨出什么?
  • 发现两个数据库之间执行计划变化或成本改变的 SQL。
  • 发现两个数据库环境之间索引使用发生变化的 SQL。
  • 识别两个数据库之间性能下降或改进的 SQL。
  • 在两个数据库之间基准测试的 SQL 性能。
  • 预测统计信息更新、数据库升级和数据库迁移后潜在 SQL性能下降,不需要进行实际的压力测试。
  • 定期检查关键任务 SQL 语句的健康,防止应用程序性能意外下降。



SQL 资源频谱分析
资源分析是一种探索Top M SQL语句的资源消耗比例与整个数据库资源消耗关系的新方法。 在2002 年,微软就曾宣布其软件中大约 80% 的错误和崩溃是由 20% 的检测到的错误引起的。著名的八十法则(帕累托分析法)同样适用于数据库 SQL 行为分析,其 20% 的 SQL 语句应该占整个数据库系统资源80%的消耗。 任何少于 20% 的 SQL 语句消耗超过数据库80%资源的应用系统都被视为异常,应及时进行检查和调整。借助 SQL 资源分析,用户可以自由定义其资源阈值百分比(例如 80%),以定位对应的前 M%(例如 20%)SQL 语句。下图显示了相对少量 (M = 3(<6.98%)) 的 SQL 占用了超过 80% 的总资源消耗。因此,为了最大限度地提高性能调优回报,您应该优先调优这少部分 SQL。


审查整体 SQL 的健康状况
为了让用户对自己的数据库SQL行为一目了然,我们对数据库的SQL进行了评分,评分的方法就是根据每一类分析的“20对80”规则。 差的分数表明总体结果已经偏离了“20对80”规则很多,这意味着一小部分 SQL 耗费了整个数据库的大部分资源消耗。 对于这少部分的 SQL,应立即进行 SQL 调优。

资源消耗最多的 SQL 分析
展示前N条(比如20条)SQL语句的资源消耗,以及对应整个系统的资源消耗比例。 有助于用户快速定位前N条SQL,以便进行SQL调优。



执行计划分析
分析 SQL 语句的查询计划,以发现用户应该注意的各类潜在问题。 例如,查询计划中带有笛卡尔积连接的 SQL 语句,笛卡尔积运算仅适用于小的数据表,如果是大型数据表进行笛卡尔积运算,则很危险。


SQL 语法分析
对SQL 语法分析的目的是为了找出因SQL语法所导致的潜在问题,在数据库系统中出现严重问题之前解决问题。 例如,WHERE 条件带“like ‘%xx’”的 SQL 语句可能对小表有好处,但如果将来数据表变大,将会给数据库带来严重性能问题。


免费下载 | 购买许可证


适用于Oracle数据库世界领先的人工智能 SQL改写和提示注入技术
有经验的开发人员或DBA通过手动改写SQL语句来进行SQL调优,不仅需要非常深入的SQL调优知识,并且耗费巨大的工作时间和成本,往往得花费数小时甚至数天时间来改写SQL和测试,并且由于人工的限制,调优的结果也很难得到较好的SQL。 Tosska A.I.SQL Rewrite plus the A.I. Hints Injection Engine 是世界领先的用于 Oracle 数据库的机器 SQL 调优技术。它通过探索潜在的最佳 SQL 语法和提示注入,不仅大大节省了开发人员改写 SQL 和测试运行的时间,甚至可以探索出经验丰富的 DBA 也无法发现的潜在最优 SQL 语法。

More than 1000 times faster SQL rewrite is generated on the right-hand side


对 SQL 语句进行极限性能优化的 SQL 索引调优
对某些任务关键型 SQL 语句,您可能希望添加些索引以进一步优化SQL语句以实现最终性能,且不会带来额外索引的开销。 Tosska DB Ace Enterprise 提供了一个 A.I.探索索引,可产生即使是专家都没法想到的潜在最优的新索引来调优您的 SQL。


基于工作负载的智能索引建议
这是一个智能的且带有成本感知的索引建议引擎,在现有数据库架构内,帮助用户探索任何新索引可以改进给定的 SQL 工作负载。该引擎可以处理多达数千条 SQL 语句,输出合理的索引建议,这是任何专家都难以实现的。用户还可以查看新索引关联影响的 SQL 语句。此外,它在建议索引过程中还会考虑 SQL 语句的工作负载,多次执行的 SQL 将得到更高加权以匹配其日常工作负载贡献。 索引建议从较少的索引逐步发展扩充为更多的索引,用户可以选择更为经济高效的索引建议,使其不会对数据库产生过多开销。


优化 SQL Plan 模块 – 没有源代码下调优 SQL
Tosska DB Ace Enterprise 还集成了一个创新的优化SQL Plan功能,可以在不接触程序源代码的情况下改进SQL性能。它特别适用于没有程序源代码的用户进行 SQL调优。同样对于应用程序开发人员来说,SQL调优也变得比以往容易了,因为改进有性能问题的SQL语句,不再需经过软件开发周期中耗时的单元测试,集成测试和程序实现。

不能修改源代码,如何进行SQL 调优?
面对以下情况,您将如何处理?您是应用程序的用户,但无法直接修改其 SQL 语句,要如何才能优化 SQL 呢?又或者,您是应用程序开发人员,想快速的修复 SQL 性能且不需要时间进行源代码更改和单元测试,您要怎么做呢?
Oracle 提供了诸多种此功能,例如 SQL 配置文件、SQL Plan Baselines和 SQL Patches,您可以使用这些功能在 Oracle 中完成修复 SQL 性能。 但是这些功能的使用仅限于 SQL 的提示注入,您不能对 SQL 进行改写并要求 Oracle 接受改写后的 SQL 查询计划。 因此,基于提示的 SQL 调优变得无比的重要。Tosska DB Ace Enterprise 提供市场上极具领先水平的自动提示注入解决方案,其从 SQL 调优到执行计划的部署,过程完全实现了自动化。

Ad-hoc SQL 调优更加容易了
有些 SQL 语句会定期执行且涉及大量数据,例如月末或年末进程。如果 Oracle 数据库优化器不能在正确的时间生成一个好的计划,则该进程可能会被拖慢而延长时间并影响业务。因此,应在执行 SQL 语句之前执行预防措施,在启动进程之前应部署或启用由 SQL Patch 控制的更好的查询计划。用户可以在进程完成后禁用或删除该 SQL Patch,使得该查询计划恢复正常,以便更好地进行日常操作。

优化 DB Link SQL 模块- 调优访问远程数据库的 SQL 语句
目前,市场缺乏专门针对 DB Link SQL 语句调优工具,因此对于大多数开发人员和 DBA 来说,对DB Link SQL 语句进行手动 SQL 调优是一项艰巨的任务。 优化 DB Link SQL 模块为 DB Link SQL 语句的定制专门语法改写和特定的SQL提示注入,实现对访问多个数据库的DB Link SQL语句探讨最大潜在性能。

免费下载 | 购买许可证