解决 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 是一个强大的分析工具,能够帮助用户了解 SQL 语句的执行计划,通过它可以了解 Oracle 是如何连接表、使用什么方式扫描表(索引扫描或全表扫描)以及使用到的索引名称。下面详细讲解 ...
本文将深入探讨如何批量运用sqlplus上传SQL语句,这对于数据库管理员和开发人员来说是一项非常实用的技能。 **sqlplus介绍** Sqlplus是Oracle数据库系统自带的一个命令行工具,它允许用户直接与数据库交互,执行SQL...
批处理文件(如.bat文件)在Windows环境中是一种高效的方式,可以自动化执行一系列命令,包括连接数据库和执行SQL语句。在这个场景中,我们可以利用批处理文件来简化Oracle数据库的操作,如删除用户、创建用户、创建...
执行计划是指Oracle数据库优化器为执行特定SQL语句所选择的一系列操作步骤。通过查看执行计划,我们可以了解到SQL语句是如何被处理的,包括数据的访问方式、排序方法等。这有助于我们发现潜在的问题,并针对性地进行...
在Oracle数据库管理中,SQL*Plus是一个不可或缺的工具,它是一个命令行接口,允许用户直接与Oracle数据库进行交互,执行SQL语句、脚本以及管理数据库任务。Oracle 10g版本中的SQL*Plus功能强大且高效,尤其适合DBA...
### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...
Sqlplus是Oracle提供的一个命令行工具,用于执行SQL和PL/SQL语句。它是Oracle Instant Client的一部分,可以连接到任何远程Oracle数据库,执行查询、DML操作、DDL语句以及PL/SQL块。Sqlplus具有丰富的命令行选项,...
Oracle SQLPlus 学习笔记 Oracle SQLPlus 是 Oracle 数据库管理系统中的一个命令行工具,用于交互式地执行 SQL 语句和 PL/SQL 块。下面是 SQLPlus 的一些常用命令和使用方法: 环境变量设置 在使用 SQLPlus 之前...
在本案例中,我们讨论的是Oracle Instant Client的11.2版本,特别是针对SQL*Plus组件的安装包,文件名为"oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.rar",这表明这是一个RAR格式的压缩包,内含一个适用于x86_...
oracle 使用sqlplus导入大sql文件,需熟悉linux命令,批量导入sql文件以及导入乱码解决方案
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环境附加库; ...
本压缩包“SAP_very_useful_Oracle_SQL_cmd.zip_SAP_SAP rebuild index_Table”提供了与SAP系统相关的一系列Oracle数据库操作的实用工具,主要涉及表的管理和索引重建。 首先,解锁阴影实例(unlock shadow ...
│ ORACLE学习笔记(二)SQLPLUS基础 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ oracle技巧.txt │ ORACLE的索引和约束详解 - Oracle10g - 沪城篱笆.mht │ oracle里常用命令 - Oracle - 51CTO技术论坛_中国领先的IT...
根据提供的文件信息,我们可以归纳出一系列重要的Oracle SQL知识点,这些知识点涵盖了从基本的SQL概念到高级的数据库管理技术。下面是对这些知识点的详细说明: ### 1. SQL介绍 #### 结构化查询语言 (Structured ...
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 SQL Developer 和其他开发工具,包括 Oracle Database Home Page 的使用方法、如何在 Oracle 中使用 SQL*Plus、如何使用 SQL Developer 操作 Oracle 数据库以及如何执行 SQL 语句等...
2. **类似PL/SQL**: PL/SQL是Oracle数据库的内置过程式语言,而这里说的“类似PL/SQL”可能意味着这个工具提供了与PL/SQL类似的语法高亮、代码补全、错误检查等功能,使得用户可以更方便地编写和执行SQL语句。...
SQLPlus是Oracle数据库系统中的一个命令行工具,用于执行SQL语句、管理数据库以及进行基本的数据操作。在“Oracle官方文档中文版-SQLPlus入门”中,你可以学习到如何有效地利用这个工具进行数据库管理和开发工作。...
2. **sqlplus**:这是一个命令行工具,允许用户直接执行SQL语句和PL/SQL块,进行数据查询、更新、管理等操作。 3. **tnsnames.ora**:网络服务名配置文件,定义了数据库连接的逻辑名称及其对应的连接参数,如主机...