[转]Oracle 修改或者删除临时表 ORA-14452: 试图创建, 更改或删除正在使用的临时表中的索引

摘要:
执行存储过程时发现临时表缺少一个字段。然而,无论如何修改或删除临时表,都会报告错误ORA-14452:试图在使用中的临时表中创建、更改或删除索引。我在网上发现了几篇帖子,上面写着“截短表名,试试看,但刚才的错误没有改善”。当然,还有更复杂的操作。

本文转自:http://blog.csdn.net/treasurelifelhf/article/details/7290729

   由于存储过程出现问题,导致前台页面无法显示数据。执行存储过程发现临时表少一字段,无奈无论怎么修改或者删除临时表都报错

ORA-14452: 试图创建, 更改或删除正在使用的临时表中的索引。

                   在网上找了几篇帖子都说是:truncate table 表名,试了下,可是刚才的错误并没有好转。当然还有更复杂的操作。下面就介绍下比较

方便的操作方法:

 (1)---查找还在使用临时表的会话

 SELECT sid, serial#   FROM v$session                                                     

WHERE sid = (SELECT sid FROM v$lock                                                                                          

WHERE id1 = (SELECT object_id  FROM user_objects                                                                                                                     

WHERE object_name = upper('你的临时表名')));

(2)--使用上面查出的sid和serial#,杀掉会话

 ALTER system kill session 'sid,serial#';

这样操作之后你再修改你的临时表或者drop都没有报错了。

免责声明:文章转载自《[转]Oracle 修改或者删除临时表 ORA-14452: 试图创建, 更改或删除正在使用的临时表中的索引》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇设置Shiro超时时间CSS背景图怎么自适应全屏(手机或者电脑)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

oracle中导出表的结构和数据

在linux环境上: exp user_name/password@//ip_address:1521/service_name file=aa.sql tables=(table_name); 或者: exp user_name/password@tns_name file=aa.sql tables=(table_name); 在window环境上:...

Oracle函数应用与查询聚合统计

Oracle预定义函数 Oracle数据库系统中定义了很多的函数(预定义)。这些函数能够完成本身特有的数据操作功能,执行效率更高并重复使用。 Oracle中的预定义函数按照对数据的操作执行特征可以分为: 单行函数——对每个记录执行一次 聚合函数(多行函数)——对多个记录行执行一次 单行函数 字符串函数 日期时间函数 数学计算函数 其它特殊函数 字符串操作函...

Oracle分区表

最近因为业务上客户数据的表空间占用过大,而想通过删除一部分数据来缩小表空间文件的大小无法实现,故想到使用分区表来实现 分区表分为范围分区(range)、哈希分区(hash)、列表分区(list)、以及一些组合分区(range-hash、range-list) 以下为各个分区的创建语法: 1、范围分区(range) 简介: 语法: 1     CREATE...

oracle中去掉回车换行空格的方法详解

函数: 1.translate语法:TRANSLATE(char, from, to)用法:返回将出现在from中的每个字符替换为to中的相应字符以后的字符串。            若from比to字符串长,那么在from中比to中多出的字符将会被删除。            三个参数中有一个是空,返回值也将是空值。 举例:SQL> select...

oracle 强杀进程

在ORACLE数据库当中,有时候会使用ALTER SYSTEM KILL SESSION 'sid,serial#'杀掉一个会话进程,但是使用这个SQL语句杀掉会话后,数据库并不会立即释放掉相关的资源,有时候你会发现锁定的资源很长时间也不会释放,即使会话状态为“KILLED”,依然会阻塞其它会话。 1、查看锁表进程 --查看锁表进程SQL语句1: **...

mysql创建触发器

首先,我们来了解一下什么是触发器,触发器,就是在对一张表数据进行增(insert),删(delete),改(update)的时候,为了保持数据的一致性,对别的表也要进行相应的数据修改。 我们都知道mysql最后事务提交后,数据是会保存到磁盘上的,那么每次在insert,delete,update时候旧数据和新数据,会在内存中生成临时的行数据,分别叫old和...