刪除暫存資料表空間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平台的安裝手冊
Linux-6-64下安裝Oracle 12C筆記
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機器中安裝步驟
Debian 下 安裝 Oracle 11g XE R2