[20201105]再分析sql语句.txt --//有时候工作需要再分析执行某个sql语句,一般常用的方法就是从共享池里面清除,刷新共享池,但是这样做代价太大。 --//还有一种方式使用 dbms_shared_pool.purge命令。我使用的脚本如下: $ cat flush_sql.sql DECLARE name varchar2(100); version varchar2(3); BEGIN select regexp_replace(version,'\..*') into version from v$instance; if version = '10' then execute immediate q'[alter session set events '5614566 trace name context forever']'; -- bug fix for 10.2.0.4 backport end if; select address||','||hash_value into name from v$sqlarea where sql_id like '&1'; dbms_shared_pool.purge(name,'C',&2); END; / --//当然还有一些简单的方法就是grant或者comment注解表信息,这样可以导致执行时重新分析。 --//前一段时间看链接: https://martincarstenbach.wordpress.com/2020/10/26/enforcing-a-re-parse-of-a-cursor-in-autonomous-database-using-a-hammer/ --//作者提供了另外的方法,设置表noparallel,实际上根本没有改动,导致再次执行时重新分析。自己测试看看: 1.环境: SCOTT@book> @ ver1 PORT_STRING VERSION BANNER ------------------------------ -------------- -------------------------------------------------------------------------------- x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production 2.测试: SCOTT@book> select count(*) from dept ; COUNT(*) ---------- 4 SCOTT@book> @ hash HASH_VALUE SQL_ID CHILD_NUMBER HASH_HEX ---------- ------------- ------------ --------- 3940382763 dh11gtgpduy1b 0 eadd782b SCOTT@book> select plan_hash_value, child_number, invalidations, executions, is_bind_aware, is_bind_sensitive from v$sql where sql_id = 'dh11gtgpduy1b'; PLAN_HASH_VALUE CHILD_NUMBER INVALIDATIONS EXECUTIONS I I --------------- ------------ ------------- ---------- - - 3051237957 0 0 1 N N SCOTT@book> select object_name, object_type, sysdate as now, last_ddl_time from dba_objects where object_name = 'DEPT' and owner = user; OBJECT_NAME OBJECT_TYPE NOW LAST_DDL_TIME -------------------- ------------------- ------------------- ------------------- DEPT TABLE 2020-11-05 08:47:56 2020-03-25 10:08:55 SCOTT@book> select degree from dba_tables where owner = user and table_name = 'DEPT'; DEGREE -------------------- 1 SCOTT@book> alter table dept noparallel; Table altered. SCOTT@book> select degree from dba_tables where owner = user and table_name = 'DEPT'; DEGREE -------------------- 1 --//可以发现DEGREE没有变化。 SCOTT@book> select object_name, object_type, sysdate as now, last_ddl_time from dba_objects where object_name = 'DEPT' and owner = user; OBJECT_NAME OBJECT_TYPE NOW LAST_DDL_TIME -------------------- ------------------- ------------------- ------------------- DEPT TABLE 2020-11-05 08:50:27 2020-11-05 08:49:08 --//LAST_DDL_TIME发生了变化。 SCOTT@book> select count(*) from dept ; COUNT(*) ---------- 4 SCOTT@book> select plan_hash_value, child_number, invalidations, executions, is_bind_aware, is_bind_sensitive from v$sql where sql_id = 'dh11gtgpduy1b'; PLAN_HASH_VALUE CHILD_NUMBER INVALIDATIONS EXECUTIONS I I --------------- ------------ ------------- ---------- - - 3051237957 0 1 1 N N --//可以发现重新分析sql语句。而且并没有生成新的子光标CHILD_NUMBER=0,作者最后的结论: Remember that a DML operation as the one shown in this post is a blunt weapon and only to be used as a last resort. --//请记住,DML操作,如本文所示,是一种钝器,仅作为最后手段使用。 --//实际上如果想想也许还能想出许多方法。 --//当然这样的方式导致只要涉及到这个表的sql语句都要重新分析。
[20201105]再分析sql语句.txt
来源:这里教程网
时间:2026-03-03 16:15:37
作者:
编辑推荐:
- [20201105]再分析sql语句.txt03-03
- 12C RAC 修改监听端口03-03
- 细粒度审计 FGA03-03
- ios苹果企业开发者账号的收购03-03
- Apple开发者账号介绍03-03
- 禁止oracle表的触发器trigger03-03
- 静默安装19c单机03-03
- Sqoop从Oracle抽数错:IO Error: Connection reset03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- DDD 在京东 DevOps 项目协作领域的落地实战
DDD 在京东 DevOps 项目协作领域的落地实战
26-03-03 - Oracle DG同步失败故障处理(二)
Oracle DG同步失败故障处理(二)
26-03-03 - GoldenGate Enterprise Manager Plug-In(12.1.0.3.0) 部署文档
- 当 RPA 遇见人工智能 京东 RPA 实现 500% 效率提升
当 RPA 遇见人工智能 京东 RPA 实现 500% 效率提升
26-03-03 - 作为一个 DBA 常用的软件工具有哪些?
作为一个 DBA 常用的软件工具有哪些?
26-03-03 - Oracle服务器开启HugePages以支持大内存SGA
Oracle服务器开启HugePages以支持大内存SGA
26-03-03 - Oracle 恶意攻击问题分析和解决(一)
Oracle 恶意攻击问题分析和解决(一)
26-03-03 - 记一次12c pdb打补丁失败处理过程
记一次12c pdb打补丁失败处理过程
26-03-03 - 关于Heap中的一些概念
关于Heap中的一些概念
26-03-03 - 如何提高抖音直播间人气
如何提高抖音直播间人气
26-03-03
