首页 > 数据库 >Oracle 从缓存里面查找真实的执行计划

Oracle 从缓存里面查找真实的执行计划

时间:2022-10-19 22:00:09浏览次数:58  
标签:oper 缓存 hash SID value 查找 sql Oracle id


 

 

有关Oracle 的执行计划说明,参考我的Blog:

            Oracle Explain Plan

      

 

 

一.  查看当前session 的SID

 

SYS@anqing1(rac1)> SELECT USERENV('SID') FROM DUAL;

USERENV('SID')

--------------

137

 

SYS@anqing1(rac1)> SELECT SID FROM V$MYSTAT WHERE ROWNUM =1;

SID

----------

 137

 

二.  查看缓存中的Explain Plan

1)根据SID,从v$sql中找到相应SQL的HASH_VALUE和ADDRESS

 

/* Formatted on 2011/6/20 17:38:20 (QP5 v5.163.1008.3004) */

SELECT a.sql_text, a.address, a.hash_value

  FROM v$sql a, v$session b

 WHERE a.hash_value = b.sql_hash_value AND b.sid = &sid;

 

 

2)根据hash_value和address的值,从v$sql_plan中找到真实的执行计划

 

/* Formatted on 2011/6/20 17:39:22 (QP5 v5.163.1008.3004) */

   SET LINE 200;

   COL oper FORMAT a100;

    SELECT LPAD (oper, LENGTH (oper) + LEVEL * 2, ' ') oper, cost

      FROM (SELECT object_name || ':' || operation || ' ' || options AS oper,

                   cost,

                   id,

                   parent_id

              FROM v$sql_plan

             WHERE hash_value = '&hash_value' AND address = '&address')

START WITH id = 0

CONNECT BY PRIOR id = parent_id;

 

 

如:

     

 

 


标签:oper,缓存,hash,SID,value,查找,sql,Oracle,id
From: https://blog.51cto.com/cndba/5776812

相关文章

  • oracle xtts 在aix环境上无法运行全备脚本
    随着业务升级,部分老机器(aix)的数据需迁移至新的服务器上(linux-x86_64),而且数据量也比较大,还涉及较多的blob字段,再加上又是跨平台,跨版本迁移,所以这里选择使用oracle官方推......
  • ORACLE中如何找出统计信息过期的表
    在ORACLE数据库当中,我们如何判断当前对象的统计信息是否过期/过时(Stale)的呢?从哪些维度去判断呢?我们有那些方法呢?下面介绍ORACLE数据库中一些找出过期统计信息的方法,主要......
  • Oracle substr用法
    一、正序截取字符substr(字符串,起始位置,截取长度)二、倒叙截取字符substr(字符串,截取长度)举例:substr('hello',-3)从o开始截取,共截取三位,结果为'llo'......
  • MySQL与Redis缓存的同步方案
    本文介绍MySQL与Redis缓存的同步的两种方案通过MySQL自动同步刷新Redis,MySQL触发器+UDF函数实现解析MySQL的binlog实现,将数据库中的数据同步到Redis一、方案1(UDF)场景......
  • 使用DataX将oracle中的数据同步到MySQL
    1.环境准备(1).在oracle上创建表及数据createtableORACLE_DATAX1(user_codeVARCHAR2(20)notnull,user_nameVARCHAR2(50));insertintoORACLE_DATAX1(user_code,......
  • 数据库oracle
    14控制用户访问知识点:1)如何创建用户、修改密码;2)如何创建角色,把不同的权限分配给角色、用户;3)如何进行授权和回收权限(grant、revoke);14.1创建用户DBA使用createuse......
  • Oracle最高可用性架构(MAA)|青铜级(BRONZE)
    提到数据库高可用,Oracle作为先行者,其体系全面,值得参考和学习1、什么是MAA先下个定义MAA即最高可用性架构(MaximumAvailabilityArchitecture )Oracle最高可用性架构(MAA......
  • Elasticsearch 缓存深入详解
    手敲脑图串讲Elasticsearch核心知识点1、Elasticsearch缓存引出Elasticsearch查询的响应需要占用CPU、内存资源,在复杂业务场景,会出现慢查询,需要花费大量的时间。如......
  • Oracle 19C静默安装详解
    1.检查主机名和网络并且配置/etc/hosts文件关闭防火墙#检查防火墙状态[root@bogonapp]#systemctlstatusfirewalld.service●firewalld.service-firewalld-dynamic......
  • oracle open hang 等待cursor: pin S wait on X---惜分飞
    客户19.3数据库无法在open过程hang住分析alert日志 2022-10-18T15:04:57.374918+08:00db_recovery_file_dest_sizeof102400MBis9.58%used.Thisisaus......