ITPub博客

首页 > 数据库 > Oracle > oracle 修改或者删除临时表

oracle 修改或者删除临时表

原创 Oracle 作者:hz_ganwei 时间:2018-05-10 14:12:03 0 删除 编辑
在生成环境中,因为业务的需求,需要对临时表进行处理。如果说临时表在使用中,被占用,操作就会报错。针对这种问题,解决方法如下:
(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 掉。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29609890/viewspace-2154277/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: MySQL学习笔记一
下一篇: hadoop-2.8.1 编译
请登录后发表评论 登录
全部评论

注册时间:2014-04-15

  • 博文量
    44
  • 访问量
    82153