Q1:
SQL Monitor, 这工具需要付费不??
回答: 属于 Oracle Tuning Pack. 可能需要 Oracle Tuning Pack 的 license.
这工具现在用的是哪个版本
回答: 19c
Q2
软件版本需要跟 oracle 库的版本保持一致吗?是不是向低版本 db 兼容
回答:不需保持一致,向下兼容。如果您问的 SQL Monitor 的话,它是 Oracle DB 的内置架
构,不是单独出来的。你可以用不同的工具去查看 SQL Monitor 报告。
Q3
用 sql_monitor 事件在搞并发负载大大环境中消耗大不大
回答:高并发建议不要用 sql_monitor 事件。
Q4
这个 oem 里监控的 sql 也是 sql monitor 监控的吗?一样条件是自动触发的吧
回答:一样的。只是查看工具不一样而已。
SQL Developer 是免费的,功能强大的数据库开发和管理工具。Real-time SQL and PL/SQL
Monitoring 属于 Oracle Tuning Pack
Q5:
我有一个 SQL,装在一个存储过程中,存储过程带两个参数,该存储过程里由 JOB 调用,每
隔一段时间去执行,问题点在于该存储过程里面的语句有时候能够很快跑完,有时候产生大
量的临时数据,侵占临时段,这个 SQL 的条件里有条件是存储过程的入参传进来的,因此
每次实际执行的时候,参数值是不一样的,正常执行和执行慢的时候我已经 monitor 出来了,
执行计划天壤之别,所以我想把这个正常的执行计划固定起来,想问下老师,该如何把这个
带有变量的语句的执行计划通过 SPM 固定起来
回答:找出 SQL ID 和 Plan Hash Value, 加到 SQL plan baseline 里,然后把它设置为 fix 的
plan 就可以了。这样,以后每次运行都会跑 fix 的 plan.
但是,你的这个问题,需要看一下,是不是不同的传入值,返回实际行数差距会很大,也就
是说失败的 SQL,是否真的就是因为返回行数巨大而失败的,如果是这样的话,需要看一看
业务逻辑,是否设计合里。可以看看失败的 SQL 的 SQL monitor 报告到底有什么区别,特
别是预估值。
Q6:
新执行计划 evolve,是根据 sql 执行时的环境(如白天),还是 evolve job 执行的环境(如晚
上),不同时段 db 环境可能差别较大,是否会影响验证结果?
回答:是根据 evolve 时的环境,因为 evolve 其实是优化器去做,优化器会用当时的环境。
Q7:
如果是从 AIX 小机 11.2.0.4 迁移到 x86 的 11.2.0.4,执行计划是否会有部分发生变化
评论