`
weishaoxiang
  • 浏览: 96232 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

ORACLE学习笔记系列(2)解决 SQLPLUS分析SQL语句出现 'PLAN_TABLE' is old version

 
阅读更多

解决 SQLPLUS分析SQL语句出现 'PLAN_TABLE' is old version

 

分析sql执行计划时,遇到 'PLAN_TABLE' is old version
 
解决方法: 删除plan_table重建

 

SQL>explain plan for select * from users;

Explained.

SQL>select * from table(dbms_xplan.display);

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------

-----------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
-----------------------------------------------------------
| 0 | SELECT STATEMENT | | 455 | 19565 | 4 |
| 1 | TABLE ACCESS FULL| USERS | 455 | 19565 | 4 |
-----------------------------------------------------------

Note
-----
- 'PLAN_TABLE' is old version

11 rows selected.

 

 

--处理如下:

SQL> drop table plan_table purge;

Table dropped.

SQL> @E:\app\product\11.2.0\dbhome_1\RDBMS\ADMIN\utlxplan.sql

Table created.


SQL> clear screen

SQL> SET LINESIZE 10000

SQL> explain plan FOR SELECT * FROM USER_TABLES;

已解释。

SQL> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------
Plan hash value: 4102440123

----------------------------------------------------------------------------------------------------
| Id  | Operation                          | Name          | Rows  | Bytes | Cost (%CPU)| Time     |
----------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                   |               |  2443 |  5604K|   730   (7)| 00:00:09 |
|*  1 |  HASH JOIN                         |               |  2443 |  5604K|   730   (7)| 00:00:09 |
|   2 |   FIXED TABLE FULL                 | X$KSPPCV      |   100 |   196K|     0   (0)| 00:00:01 |
|   3 |   MERGE JOIN CARTESIAN             |               |  2443 |   796K|   729   (7)| 00:00:09 |
|*  4 |    HASH JOIN RIGHT OUTER           |               |  2443 |   665K|   686   (2)| 00:00:09 |
|   5 |     TABLE ACCESS FULL              | SEG$          |  6400 |   281K|    52   (0)| 00:00:01 |

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------
|*  6 |     HASH JOIN RIGHT OUTER          |               |  2392 |   546K|   633   (1)| 00:00:08 |
|   7 |      TABLE ACCESS FULL             | USER$         |    95 |  1615 |     3   (0)| 00:00:01 |
|*  8 |      HASH JOIN RIGHT OUTER         |               |  2392 |   506K|   630   (1)| 00:00:08 |
|   9 |       TABLE ACCESS FULL            | DEFERRED_STG$ |  2781 | 69525 |     7   (0)| 00:00:01 |
|* 10 |       HASH JOIN OUTER              |               |  2392 |   448K|   622   (1)| 00:00:08 |
|  11 |        NESTED LOOPS OUTER          |               |  2392 |   429K|   563   (1)| 00:00:07 |
|* 12 |         HASH JOIN                  |               |  2392 |   359K|   361   (2)| 00:00:05 |
|  13 |          TABLE ACCESS FULL         | TS$           |     8 |   160 |     5   (0)| 00:00:01 |
|  14 |          NESTED LOOPS              |               |  2392 |   313K|   356   (2)| 00:00:05 |
|* 15 |           TABLE ACCESS FULL        | OBJ$          |  2392 | 86112 |   253   (2)| 00:00:04 |
|* 16 |           TABLE ACCESS CLUSTER     | TAB$          |     1 |    98 |     1   (0)| 00:00:01 |

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------
|* 17 |            INDEX UNIQUE SCAN       | I_OBJ#        |     1 |       |     0   (0)| 00:00:01 |
|  18 |         TABLE ACCESS BY INDEX ROWID| OBJ$          |     1 |    30 |     2   (0)| 00:00:01 |
|* 19 |          INDEX RANGE SCAN          | I_OBJ1        |     1 |       |     1   (0)| 00:00:01 |
|  20 |        INDEX FAST FULL SCAN        | I_OBJ1        | 74188 |   579K|    58   (0)| 00:00:01 |
|  21 |    BUFFER SORT                     |               |     1 |    55 |   677   (8)| 00:00:09 |
|* 22 |     FIXED TABLE FULL               | X$KSPPI       |     1 |    55 |     0   (0)| 00:00:01 |
----------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------


PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------
   1 - access("KSPPI"."INDX"="KSPPCV"."INDX")
   4 - access("T"."FILE#"="S"."FILE#"(+) AND "T"."BLOCK#"="S"."BLOCK#"(+) AND
              "T"."TS#"="S"."TS#"(+))
   6 - access("CX"."OWNER#"="CU"."USER#"(+))
   8 - access("T"."OBJ#"="DS"."OBJ#"(+))
  10 - access("T"."DATAOBJ#"="CX"."OBJ#"(+))
  12 - access("T"."TS#"="TS"."TS#")
  15 - filter("O"."OWNER#"=USERENV('SCHEMAID') AND BITAND("O"."FLAGS",128)=0)
  16 - filter(BITAND("T"."PROPERTY",1)=0)
  17 - access("O"."OBJ#"="T"."OBJ#")
  19 - access("T"."BOBJ#"="CO"."OBJ#"(+))

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------
  22 - filter("KSPPI"."KSPPINM"='_dml_monitoring_enabled')

已选择45行。

SQL>

 

 

分享到:
评论

相关推荐

    Oracle中explain_plan的用法

    Oracle 中的 explain_plan 是一个强大的分析工具,能够帮助用户了解 SQL 语句的执行计划,通过它可以了解 Oracle 是如何连接表、使用什么方式扫描表(索引扫描或全表扫描)以及使用到的索引名称。下面详细讲解 ...

    批量运用sqlplus上传sql语句

    本文将深入探讨如何批量运用sqlplus上传SQL语句,这对于数据库管理员和开发人员来说是一项非常实用的技能。 **sqlplus介绍** Sqlplus是Oracle数据库系统自带的一个命令行工具,它允许用户直接与数据库交互,执行SQL...

    oracle利用批处理文件执行SQL语句,bat连接oracle数据库并执行语句

    批处理文件(如.bat文件)在Windows环境中是一种高效的方式,可以自动化执行一系列命令,包括连接数据库和执行SQL语句。在这个场景中,我们可以利用批处理文件来简化Oracle数据库的操作,如删除用户、创建用户、创建...

    oracle explain plan总结

    执行计划是指Oracle数据库优化器为执行特定SQL语句所选择的一系列操作步骤。通过查看执行计划,我们可以了解到SQL语句是如何被处理的,包括数据的访问方式、排序方法等。这有助于我们发现潜在的问题,并针对性地进行...

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.zip

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.ziporacle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.ziporacle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.ziporacle-instantclient11.2-sqlplus...

    Oracle instantclient_11_2(含oci.dll和sqlplus)

    Sqlplus是Oracle提供的一个命令行工具,用于执行SQL和PL/SQL语句。它是Oracle Instant Client的一部分,可以连接到任何远程Oracle数据库,执行查询、DML操作、DDL语句以及PL/SQL块。Sqlplus具有丰富的命令行选项,...

    oracle-sqlplus-.rar_plus_sqlplus

    在Oracle数据库管理中,SQL*Plus是一个不可或缺的工具,它是一个命令行接口,允许用户直接与Oracle数据库进行交互,执行SQL语句、脚本以及管理数据库任务。Oracle 10g版本中的SQL*Plus功能强大且高效,尤其适合DBA...

    Oracle学习笔记 PDF

    ### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...

    oracle的sqlplus学习笔记.docx

    Oracle SQLPlus 学习笔记 Oracle SQLPlus 是 Oracle 数据库管理系统中的一个命令行工具,用于交互式地执行 SQL 语句和 PL/SQL 块。下面是 SQLPlus 的一些常用命令和使用方法: 环境变量设置 在使用 SQLPlus 之前...

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm sqlplus安装包集合

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm --补充包/文件,是为了运行sql*plus 的即时客户端; oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm --补充包/文件,为运行ODBC环境附加库; ...

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.rar

    在本案例中,我们讨论的是Oracle Instant Client的11.2版本,特别是针对SQL*Plus组件的安装包,文件名为"oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.rar",这表明这是一个RAR格式的压缩包,内含一个适用于x86_...

    oracle 使用sqlplus导入大sql文件(实战)

    oracle 使用sqlplus导入大sql文件,需熟悉linux命令,批量导入sql文件以及导入乱码解决方案

    SAP_very_useful_Oracle_SQL_cmd.zip_SAP_SAP rebuild index_Table

    本压缩包“SAP_very_useful_Oracle_SQL_cmd.zip_SAP_SAP rebuild index_Table”提供了与SAP系统相关的一系列Oracle数据库操作的实用工具,主要涉及表的管理和索引重建。 首先,解锁阴影实例(unlock shadow ...

    Oracle 10g 学习笔记

    │ ORACLE学习笔记(二)SQLPLUS基础 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ oracle技巧.txt │ ORACLE的索引和约束详解 - Oracle10g - 沪城篱笆.mht │ oracle里常用命令 - Oracle - 51CTO技术论坛_中国领先的IT...

    Oracle SQL笔记.pdf

    根据提供的文件信息,我们可以归纳出一系列重要的Oracle SQL知识点,这些知识点涵盖了从基本的SQL概念到高级的数据库管理技术。下面是对这些知识点的详细说明: ### 1. SQL介绍 #### 结构化查询语言 (Structured ...

    ORACLE_SQLDeveloper使用教程

    本文详细介绍了如何使用 Oracle SQL Developer 和其他开发工具,包括 Oracle Database Home Page 的使用方法、如何在 Oracle 中使用 SQL*Plus、如何使用 SQL Developer 操作 Oracle 数据库以及如何执行 SQL 语句等...

    SQLPlus_delphi_delphi7_简单查询工具_

    2. **类似PL/SQL**: PL/SQL是Oracle数据库的内置过程式语言,而这里说的“类似PL/SQL”可能意味着这个工具提供了与PL/SQL类似的语法高亮、代码补全、错误检查等功能,使得用户可以更方便地编写和执行SQL语句。...

    Oracle官方文档中文版-SQLPlus入门

    SQLPlus是Oracle数据库系统中的一个命令行工具,用于执行SQL语句、管理数据库以及进行基本的数据操作。在“Oracle官方文档中文版-SQLPlus入门”中,你可以学习到如何有效地利用这个工具进行数据库管理和开发工作。...

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64

    2. **sqlplus**:这是一个命令行工具,允许用户直接执行SQL语句和PL/SQL块,进行数据查询、更新、管理等操作。 3. **tnsnames.ora**:网络服务名配置文件,定义了数据库连接的逻辑名称及其对应的连接参数,如主机...

Global site tag (gtag.js) - Google Analytics