Oracle Sql Repair Advisor介绍以及使用
sql repair advisor 分析单条sql语句,主要用于sql 执行错误、性能问题、sql 产生错误的结果问题并应用sql patch 进行问题修复,oracle 自11g 开始提供,主要通过以下几种方式去使用:
方式一:通过plsql dbms_sqldiag 诊断包
declare
l_sql_diag_task_id varchar2(100);
begin
--
-- Create diagnostic task
--wrong results
l_sql_diag_task_id := dbms_sqldiag.create_diagnosis_task (
sql_id => '&sql_id',
problem_type => dbms_sqldiag.PROBLEM_TYPE_WRONG_RESULTS,
task_name => '&sql_id_diagnostic_task' );
--performance issue
l_sql_diag_task_id := dbms_sqldiag.create_diagnosis_task (
sql_id => '&sql_id',
problem_type => dbms_sqldiag.PROBLEM_TYPE_PERFORMANCE,
task_name => '&sql_id_diagnostic_task' );
--execution error
l_sql_diag_task_id := dbms_sqldiag.create_diagnosis_task (
sql_id => '&sql_id',
problem_type => dbms_sqldiag.PROBLEM_TYPE_EXECUTION_ERROR,
task_name => '&sql_id_diagnostic_task' );
--
-- Setup parameters for the task to give verbose output
--
dbms_sqltune.set_tuning_task_parameter(
l_sql_diag_task_id,
'_SQLDIAG_FINDING_MODE',
DBMS_SQLDIAG.SQLDIAG_FINDINGS_FILTER_PLANS);
end;
/
--
-- Execute the task
--
exec dbms_sqldiag.execute_diagnosis_task ( task_name => '&sql_id_diagnostic_task' );
--
-- Generate and output the report for the task
--
select dbms_sqldiag.report_diagnosis_task ('&sql_id_diagnostic_task') as recommendations from dual;
方式二:通过OEM 图形化界面
本文来自博客园,作者:踏雪无痕2017,转载请注明原文链接:https://www.cnblogs.com/oradba/p/15681589.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)