[20240327]建立完善mfms.sql脚本.txt
[20240327]建立完善mfms.sql脚本.txt--//最近一直在通过FORCE_MATCHING_SIGNATURE定位有问题的SQL语句,这些语句大量没有使用绑定变量,导致不会出现AWR报表里面.--//建立一个脚本收集共享池的sql语句force_matching_signature相同,sql_id不同的情况.$ cat mfms.sql-- Copyright 2023 lfre
[20240326]建立完善expand_sql_text.sql脚本.txt
[20240326]建立完善expand_sql_text.sql脚本.txt--//我写的脚本在19c上报错,检查发现一个小错误.--//原始脚本如下:$ cat expand_sql_text.sqlset long 20000set serveroutput ondeclare L_sqltext clob := null; &nbs
[20240325]expand_sql_text dba_hist_sysstat(12c).txt
[20240325]expand_sql_text dba_hist_sysstat(12c).txt--//前几天测试dba_hist_sysdate的底层视图定义里面包含提示.--//测试一条sql语句包含dba_hist_sysstat 使用expand_sql_text的展开情况.1.环境:SYS@test> @ver1PORT_STRING &nb
[20240325]FORCE_MATCHING_SIGNATURE与DML.txt
[20240325]FORCE_MATCHING_SIGNATURE与DML.txt--//生产系统遇到1个FORCE_MATCHING_SIGNATURE重合的奇怪现象,一般情况都是相似的sql语句(没有使用绑定变量的sql语句),--//FORCE_MATCHING_SIGNATURE相同。--//实际上insert语句真实FORCE_MATCHING_SIGNATURE=0,但是在v$act
[20240321]提示冲突问题.txt
[20240321]提示冲突问题.txt--//今天优化一条监控sql语句,遇到提示冲突的问题,做一个记录:1.环境:SYS@192.168.100.235:1521/orcl> @ pr==============================PORT_STRING &n
[20240321]分析FORCE_MATCHING_SIGNATURE重合的奇怪情况.txt
[20240321]分析FORCE_MATCHING_SIGNATURE重合的奇怪情况.txt--//生产系统遇到1个FORCE_MATCHING_SIGNATURE重合的奇怪现象,一般情况都是相似的sql语句(没有使用绑定变量的sql语句),--//FORCE_MATCHING_SIGNATURE相同。--//注:11g之前如果绑定变量与常量混合,会出现EXACT_MATCHING_SIGNAT
[20240320]空格与sqlpus的sql语句.txt
[20240320]空格与sqlpus的sql语句.txt--//优化sql语句时遇到的问题,自己上我发现我手工执行获得的sql_id与程序里面的sql_id不一致,原因很多sqlplus下如果是dos文本格--//式,计算的文本会将\r\n字符变成\n,如果多行,文本结尾的空格会删除等等,通过例子说明:--//本文的deptno = 10 应该是连在一起的.1.环境:SCOTT@book>
[20240314]建立完善sqlpatch.sql脚本.txt
[20240314]建立完善sqlpatch.sql脚本.txt--//以前写的脚本sql语句只能从v$sql视图抽取,但是有一些情况不在共享池,要从DBA_HIST_SQLTEXT抽取.--//纠正一些拼写错误.加入一些版本信息.如果在共享池改写为gv$sqlarea视图. $ cat sqlpatchz.sql-- Copyright 2023 lfree. All rights r
[20240314]建立完善b5.sql脚本.txt
[20240314]建立完善b5.sql脚本.txt--//昨天优化调试sql语句,遇到sql语句如下:SYS@127.0.0.1:9014/ywdb> @ sql_id 1f52yqf7s5bs3--SQL_ID = 1f52yqf7s5bs3Select sum ( zjje ) From zy_fymx Where yzxh =:1 And zyh =:2 ;--//这样生成的sql语
[20240313]使用tpt ashtop.sql脚本的困惑.txt
[20240313]使用tpt ashtop.sql脚本的困惑.txt--//使用tpt ashtop.sql脚本遇到的问题,做一些分析以及说明:1.环境:SYS@127.0.0.1:9014/ywdb> @ver1PORT_STRING
[20240313]奇怪的高逻辑读后续.txt
[20240313]奇怪的高逻辑读后续.txt--//生产系统遇到一条sql语句出现高逻辑读的情况,前面我已经分析过在于带入的变量有等于的情况0,回表记录太多,导致逻辑读很高--//的情况。突然想到我可以通过sql patch的方式加入提示bind_aware,测试看看。1.环境:SYS@127.0.0.1:9014/ywdb> @ver1PORT_STRING &nb
[20240313]toad gather_plan_statistics执行计划相关问题.txt
[20240313]toad gather_plan_statistics执行计划相关问题.txt--//自己现在已经很少使用toad,使用也是作为辅助功能,毕竟图形界面能更快的操作显示信息.--//昨天遇到一个问题,自己当时没有反映过来,浪费点时间,做一个记录避免以后再次犯浑.--//我一般在toad的sql编辑界面下尽可能看真实的执行计划--//参考:https://blog.itpub.ne
[20240312]sqlplus define数据类型问题.txt
[20240312]sqlplus define数据类型问题.txt--//编写sql脚本遇到的问题,通过例子说明。1.环境:SCOTT@book> @ ver1 111PORT_STRING  
[20240311]sql_id=c8s65f1cuhcb1的优化.txt
[20240311]sql_id=c8s65f1cuhcb1的优化.txt1.环境:SYS@127.0.0.1:9014/ywdb> @ver1PORT_STRING
[20240311]建立完善bind_cap.sql脚本.txt
[20240311]建立完善bind_cap.sql脚本.txt--//以前写的查询v$sql以及v$sql_bind_capture,换成gv$sql以及gv$sql_bind_capture,并且显示inst_id信息.$ cat bind_cap.sql-- Copyright 2023 lfree. All rights reserved.-- Licensed under the Apa
[20240309]利用FORCE_MATCHING_SIGNATURE字段定位有问题的sql语句.txt
[20240309]利用FORCE_MATCHING_SIGNATURE字段定位有问题的sql语句.txt--//前天遇到一个问题,使用tpt ash_index_helperz.sql查询时,我发现有一个表ATF_YPXX存在全表扫描.1.环境:SYS@127.0.0.1:9014/ywdb> @ver1PORT_STRING &n
[20240309]建立完善fms.sql与dfms.sql脚本.txt
[20240309]建立完善fms.sql与dfms.sql脚本.txt--//自己写一个脚本先收集force_matching_signature相同,sql_id不同的信息.$ cat fms.sql-- Copyright 2023 lfree. All rights reserved.-- Licensed under the Apache License, Version 2.0. Se
[20240308]建立完善查询表字段的comments信息.txt
[20240308]建立完善查询表字段的comments信息.txt--//优化sql语句时有时候要了解字段的意思,我以前已经根据开发文档更新了许多字段注解.--//这是一项非常耗时无聊的工作,几乎花了我一个星期完成这项工作,但是一些定制化的需求,比如增加一些字段.--//但当我向对方提出这些字段的相关文档时,我把那些没有注解的字段打印提交给对方,对方几乎拿不出来相关的解析,--//这些字段基本是
[20240308]建立完善colour.sql脚本.txt
[20240308]建立完善colour.sql脚本.txt--//想观察sql优化效果,发现awr不再记录该语句执行情况。平时执行太少,有时候查询v$sqlarea也没有结果,--//也就是该语句根本不在共享池里面。--//为了记录该语句的执行情况需要使用dbms_workload_repository.add_colored_sql命令,写一个脚本方便管理。--//该脚本仅仅生成执行语句,要手
[20240309]在windwos下使用sed遇到的问题.txt
[20240309]在windwos下使用sed遇到的问题.txt--//在windows下使用sed对批处理做一些修改,发现处理后保存的文件格式变为unix的文本格式,丢失了ascii码13,--//也就是必须再转换为dos格式.--//例子如下:sed -e .... -e "s/$/\r/" d:\xxxx.bat > d:\xxxx1.bat--//注:我发现老版