Welcome 微信登录

首页 / 数据库 / MySQL / 删除临时表空间ORA-25152错误

删除Oracle临时表空间,或者收缩临时表空间经常会出现表空间占用等情况。
 
下面我们就对这种情况进行处理,
 
首先查找被锁的sid:
 
SELECT a.INST_ID,b.TABLESPACE
 , b.segfile#
 , b.segblk#
 , ROUND ( ( ( b.blocks * p.VALUE ) / 1024 / 1024 ), 2 ) size_mb
 , a.SID
 , a.serial#
 , a.username
 , a.oSUSEr
 , a.program
 , a.status
 FROM gv$session a
 , gv$sort_usage b
 , gv$process c
 , gv$parameter p
 WHERE p.NAME = "db_block_size"
 AND a.saddr = b.session_addr
 AND a.paddr = c.addr
 ORDER BY b.TABLESPACE
 , b.segfile#
 , b.segblk#
 , b.blocks;通过查找就可以找到相关临时表空间的sid,和serial#然后同过ALTER system kill session ‘sid,serial#"删除。下面就可以删除临时表空间或者收缩临时表空间。下面介绍一种更为方便的方法select "alter system kill session """||a.sid||","||a.serial#||""" immediate;"
 from
    v$session    a,
    v$sort_usage b,
    v$process    c,
    v$parameter  d
 where
    d.name = "db_block_size"
 and
    a.saddr = b.session_addr
 and
    a.paddr = c.addr
 and
    b.tablespace="TEMP" -- 需要收缩或者删除的临时表空间名称
 order by
    b.tablespace,
    b.segfile#,
    b.segblk#,
    b.blocks;可以批量的结束临时表空间的占用。Oracle 11g 在RedHat Linux 5.8_x64平台的安装手册 http://www.linuxidc.com/Linux/2014-07/104745.htmLinux-6-64下安装Oracle 12C笔记 http://www.linuxidc.com/Linux/2013-07/86805.htm在CentOS 6.4下安装Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htmOracle 11gR2 在VMWare虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htmDebian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址