SF_INJECT_HINT(‘SQL语句’,‘ENABLE_INDEX_JOIN(0)’,‘HINT_1207_1’,‘这是一条对莫某功能语句的优化’,TRUE,TRUE);
参数说明:
第一个参数:SQL语句这个我们数据库有性能的语句,这个语句贴到函数中,请勿格式化,也请勿前后带有空格,否则不匹配;
第二个参数:ENABLE_INDEX_JOIN(0),这里填写需要新增的hint,直接填写合适的hint即可,无需加/*+ */这类标识符,通常我们写在SQL中才需要这样加;
第三个参数:HINT_1207_1这个是只是一个NAME名称;
第四个参数:可以理解成一种注解;
第五个参数:是否理解生效,我们一般救急肯定就设置TRUE了
第六个参数:匹配规则为精准匹配或模糊匹配,设置NULL和TRUE是模糊匹配,否则FALSE 或缺省时精确匹配,如果SQL明确建议精确匹配;
SF_DEINJECT_HINT(‘HINT_1207_1’');
某集团二级单位收到同事反馈,有个SQL执行非常慢,DSC双节点,已经积压了800多活动会话,情况比较紧急,当接到通知,我首先是快速登录客户端,通过慢SQL实时抓取方式,获取到了大量的积压SQL,看是否有异常的SQL,发现大量积压的SQL,是一个层次查询,然后在客户端执行下预估执行计划;
看预估执行计划(如下图),明显估算不准确;

--注释说明:SQL脱敏处理过,代码逻辑是没有变化的SELECT /*+ CNNTB_OPT_FLAG(2)*/COXXID ,COMPXXDE ,PCOXXID ,COMPXXME ,ORGTYPEXXDE,DCXXDE ,STIME ,STOPXXAGFROMBASIC_ORGANIXXXXONWHEREOWNXXID = -1AND AXXID = -1AND NVL(STOPXXAG, 0) =0AND ORGANXXAG =1 STARTWITH COXXID = '3000'AND OWNXXID = -1AND AXXID = -1 CONNECT BY PRIOR COXXID = PMANAGECOXXIDAND OWNXXID = -1AND AXXID = -1ORDER BYORG_SXXT


SF_INJECT_HINT('SELECT COXXID , COMPXXDE , PCOXXID, COMPXXME,ORGTYPEXXDE,DCXXDE,STIME,STOPXXAG FROM BASIC_ORGANIXXXXON WHERE OWNXXID= ? AND AXXID= ? AND NVL(STOPXXAG,0) =? AND ORGANXXAG=? START WITH COXXID = ? AND OWNXXID= ? AND AXXID= ? CONNECT BY PRIOR COXXID = PMANAGECOXXID AND OWNXXID= ? AND AXXID= ? ORDER BY ORG_SXXT ','CNNTB_OPT_FLAG(16)','HINT_1207_1',NULL,TRUE,TRUE);











sftp> lcd C:\Users\xxxxx\Downloads\nmon16e_mpgincsftp> put nmon_x86_64_centos7Uploading nmon_x86_64_centos7 to /root/nmon_x86_64_centos7100% 392KB 392KB/s 00:00:01C:/Users/xxxxx/Downloads/nmon16e_mpginc/nmon_x86_64_centos7: 402146 bytes transferred in 1 seconds (392 KB/s)sftp> pwd/root
mv nmon_x86_64_centos7 /nmon_test/
chmod 775 nmon_x86_64_centos7
3.2、实时快捷监控CPU,内存,IO信息等
#./nmon_x86_64_centos7


#./nmon_x86_64_centos7 -s 10 -c 30 -f -m /nmon_test
#ls -all








文章转载自达梦E学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




