'PLAN_TABLE' is old version处理方法-删除当前用户下的PLAN_TABLE

今天在处理下属分公司的一个问题时,想让同事帮助看一下执行计划,发现显示的信息与我这边测试的不太一样,

SET AUTOTRACE ON EXP后

最下面显示:

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

数据库版本:11.2.0.3 RAC

操作系统为:Windows2008

后来经过从网上搜索相关资料,找到了问题的原因:

由于同事不会使用SQLPLUS看执行计划,之前都是使用PL/SQL DEVERLOPER看,并且PL/SQL DEVERLOPER工具版本也较低,所以执行了它自带的脚本生在当前用户下成了plan_table表。

后来让同事查看当前用户下果然有一个plan_table表,然后通过drop table plan_table purge,然后@?/rdbms/admin/utlxplan.sql在当前用户下重新创建后,执行计划显示正常。

小插曲:在删除当前用户下的PLAN_TABLE表时,当时出现了ORA-00054: resource busy and acquire with NOWAIT specified的错误

后来通过如下的语句确认了PLAN_TABLE表确认被锁了:

SELECT  l.oracle_username User_name,o.object_name,o.object_type,s.sid,s.serial#,p.spid

FROM  v$locked_object l, dba_objects o, v$session s, v$process p

WHERE  l.object_id = o.object_id AND l.session_id = s.sid and s.paddr = p.addr; 

处理方法当然可以 ALTER SYSTEM KILL SESSION '142,38';掉,后来确认是由于还有别的窗口查看了执行计划,把别的会话exit后,就可以成功删除了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值