暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

《课程笔记 | Oracle DBA武林秘籍》4

原创 大柏树 2022-08-24
438

《课程笔记 | Oracle DBA武林秘籍》4-升级引发性能问题

一.常见思路

由于升级引发的性能问题,常见思路如下:
1.分别对比原库和新库该SQL对应的执行计划。
2.对比两个执行计划,找到差异部分或最耗时的部分。
3.分析执行计划差异原因,根据原因尝试解决问题。

二.10053查看执行计划中如何改写sql

可以通过10053事件对比查看原库和新库对同一SQL是如何进行改写,如何计算cost的

--原库和新库都执行 alter session set tracefile_identifier='10053'; ALTER SESSION SET EVENTS='10053 trace name context forever, level 1'; select count(*) from v_cjc_01; ALTER SESSION SET EVENTS '10053 trace name context off'; select value from v$diag_info where name='Default Trace File';

查看生成的trace文件:
搜索关键字 Final query after transformations
对比原库和新库的SQL改写部分。

三.sql tuning advisor查看建议

SQL> DECLARE my_task_name VARCHAR2(30); BEGIN my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_id ='gzjy5nh7g0sfs', scope =>'COMPREHENSIVE', time_limit => 3600, task_name =>'cjc_sql_tuing_task', description => 'SQL TUNE TEST'); DBMS_SQLTUNE.EXECUTE_TUNING_TASK(task_name => 'cjc_sql_tuing_task'); END; / SELECT status FROM DBA_ADVISOR_TASKS WHERE task_name = 'cjc_sql_tuing_task'; SET LONG 10000 SET LONGCHUNKSIZE 1000 SET LINESIZE 300 SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('cjc_sql_tuing_task') FROM DUAL;

四.降级OPTIMIZER_FEATURES_ENABLE

当比较紧急,其他办法尝试不能解决问题,临时解决方案可以先降级OPTIMIZER_FEATURES_ENABLE

SQL> show parameter compatible NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ compatible string 19.0.0 noncdb_compatible boolean FALSE --hint中添加提示 降级 insert /*+append OPTIMIZER_FEATURES_ENABLE('11.2.0.4')*/ into T_XX_CJC01
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论