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

zengtc 2012-07-03 08:43:27
删表时报错:

删掉 CALCBYWORK_TEMP错误:
ORA-14452:试图创建,更改或删除正在使用的临时表中的索引。
...全文
114 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
BenChiM888 2012-07-05
  • 打赏
  • 举报
回复
举例来说:
1、你在A窗口建了一个临时表,然后插入了数据。
2、你在B窗口drop它,这是不被允许的
解决办法:在A窗口truncate 一下这个临时表,再删除它。

总的来说就是有session占用它,只要找到这个session后,kill掉就ok了。
如果这个session所在的窗口你没有关闭,就可以truncate就行。
陈字文 2012-07-03
  • 打赏
  • 举报
回复
你的这个临时表应该是基于会话的.建表语句大概是:
CREATE GLOBAL TEMPORARY TABLE XXX
   (XX XXXX)
   ON COMMIT PRESERVE ROWS;
但是这个临时表有一个很大的问题,就是如果会话使用了这个临时表,要删除的时候就会有问题.
所以,要么杀掉会话,要么重启机器.

同楼上所言.

之后建临时表,尽量使用 on comment delete rows
horizonlyhw 2012-07-03
  • 打赏
  • 举报
回复
如果是你本机的,就把服务重启下

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

然后再删除。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧