日期:2014-05-17  浏览次数:20900 次

删除表时报错,求解决~~~~~~
删表时报错:

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

------解决方案--------------------
如果是你本机的,就把服务重启下

如果是生产库,就找对应的进程,看能不能杀掉。

然后再删除。
------解决方案--------------------
你的这个临时表应该是基于会话的.建表语句大概是:
CREATE GLOBAL TEMPORARY TABLE XXX
   (XX XXXX)
   ON COMMIT PRESERVE ROWS;
但是这个临时表有一个很大的问题,就是如果会话使用了这个临时表,要删除的时候就会有问题.
所以,要么杀掉会话,要么重启机器.

同楼上所言.

之后建临时表,尽量使用 on comment delete rows
------解决方案--------------------
举例来说:
1、你在A窗口建了一个临时表,然后插入了数据。
2、你在B窗口drop它,这是不被允许的
解决办法:在A窗口truncate 一下这个临时表,再删除它。

总的来说就是有session占用它,只要找到这个session后,kill掉就ok了。
如果这个session所在的窗口你没有关闭,就可以truncate就行。