Oracle Sql Repair Advisor介绍以及使用

2021/12/13 19:21:56

本文主要是介绍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 图形化界面

企业微信截图_16393580342728



这篇关于Oracle Sql Repair Advisor介绍以及使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程