Oracle 12c Pluggable Database(PDB)中查看执行计划的方法

2023-11-10 14:32

本文主要是介绍Oracle 12c Pluggable Database(PDB)中查看执行计划的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在Oracle 12c 中启动了Pluggable Database后,通过SQL Plus查看SQL语句的执行计划时,可能会遇到不能查看的情况,尤其是使用下面的方法,没有什么有效的显示信息,这个问题可以采用如下方法来解决。

问题描述

环境:Oracle 12c 12.2.0.1 Database,配置了一个PDB,名字为 coffeebean

SQL> select con_id,dbid,name,open_mode from v$pdbs;CON_ID       DBID NAME                                     OPEN_MODE
---------- ---------- ---------------------------------------- --------------------2 3070021761 PDB$SEED                                 READ ONLY3 1729418692 COFFEEBEAN                               READ WRITE

设置容器为 PDB

SQL> alter session set container=coffeebean;

以SYS用户,进行授权:

SQL> show user;
USER 为 "SYS"
SQL> grant select on v_$sql to oe;授权成功。已用时间:  00: 00: 00.15
SQL> grant select on v_$session to oe;授权成功。已用时间:  00: 00: 00.03
SQL> grant select on v_$sql_plan_statistics_all to oe;授权成功。已用时间:  00: 00: 00.14

修改参数statistics_level,注意一定需要从 TYPICAL修改为 ALL。

SQL> show parameter statistics_level;NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
statistics_level                     string                 TYPICALSQL> alter system set statistics_level=ALL;系统已更改。已用时间:  00: 00: 00.11

OE模式下,执行一条SQL语句。

然后执行语句:

SQL> select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL_ID  7cfz5wy9caaf4, child number 0
-------------------------------------
SELECT NAME NAME_COL_PLUS_SHOW_PARAM,DECODE(TYPE,1,'boolean',2,'string',
3,'integer',4,'file',5,'number',        6,'big integer', 'unknown')
TYPE,DISPLAY_VALUE VALUE_COL_PLUS_SHOW_PARAM FROM V$PARAMETER WHERE
UPPER(NAME) LIKE UPPER(:NMBIND_SHOW_OBJ) ORDER BY
NAME_COL_PLUS_SHOW_PARAM,ROWNUMPlan hash value: 3852611832-------------------------------------------------------------------------------------------
| Id  | Operation                  | Name             | E-Rows |  OMem |  1Mem | Used-Mem |
-------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT           |                  |        |       |       |          |
|   1 |  SORT ORDER BY             |                  |      1 |  2048 |  2048 | 2048  (0)|
|   2 |   COUNT                    |                  |        |       |       |          |
|   3 |    NESTED LOOPS            |                  |      1 |       |       |          |
|*  4 |     FIXED TABLE FULL       | X$KSPPI          |     12 |       |       |          |
|*  5 |     FIXED TABLE FIXED INDEX| X$KSPPCV (ind:1) |      1 |       |       |          |
-------------------------------------------------------------------------------------------Predicate Information (identified by operation id):
---------------------------------------------------4 - filter((UPPER("KSPPINM") LIKE UPPER(:NMBIND_SHOW_OBJ) ANDTRANSLATE("KSPPINM",'_','$') NOT LIKE '$$%' AND "X"."INST_ID"=USERENV('INSTANCE')AND BITAND("KSPPIFLG",268435456)=0))5 - filter(("X"."INDX"="Y"."INDX" AND (TRANSLATE("KSPPINM",'_','$') NOT LIKE'$%' OR "KSPPSTDF"='FALSE' OR BITAND("KSPPSTVF",5)>0) ANDINTERNAL_FUNCTION("Y"."CON_ID")))Note
------ Warning: basic plan statistics not available. These are only collected when:* hint 'gather_plan_statistics' is used for the statement or* parameter 'statistics_level' is set to 'ALL', at session or system level已选择 37 行。

(完)

这篇关于Oracle 12c Pluggable Database(PDB)中查看执行计划的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/383284

相关文章

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

python 线程池顺序执行的方法实现

《python线程池顺序执行的方法实现》在Python中,线程池默认是并发执行任务的,但若需要实现任务的顺序执行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录方案一:强制单线程(伪顺序执行)方案二:按提交顺序获取结果方案三:任务间依赖控制方案四:队列顺序消

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac