oracle如何修改或者删除临时表

这篇文章给大家分享的是有关oracle如何修改或者删除临时表的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

在生成环境中,因为业务的需求,需要对临时表进行处理。如果说临时表在使用中,被占用,操作就会报错。针对这种问题,解决方法如下:
(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#';

 kill 操作之后你再修改你的临时表或者drop都不会报错了。注:有时候会有多个地方用到同一个临时表,需要把(1)中的 sid= 改成 sid in   , id1 = 改成 id1 in ,将查出的所有sid和serial#全部kill 掉。

感谢各位的阅读!关于“oracle如何修改或者删除临时表”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!