參考:
--檢視臨時表空間
select temp_used.tablespace_name,
total - used as "free",
total as "total",
round(nvl(total - used, 0) * 100 / total,3) "free percent"
from (select tablespace_name, sum(bytes_used)/ 1024 / 1024 used
from **$temp_space_header
group by tablespace_name) temp_used,
(select tablespace_name, sum(bytes) / 1024/ 1024 total
from dba_temp_files
group by tablespace_name) temp_total
where temp_used.tablespace_name = temp_total.tablespace_name;
--檢視使用者臨時表空間
select d.username, t.file_name, d.temporary_tablespace from
dba_temp_files t,dba_users d where t.tablespace_name = d.temporary_tablespace
--修改使用者的臨時表空間
alter user *** temporary tablespace data_temp;
--查詢原先的資料檔案做個記錄
select * from dba_temp_files
--事務在表空間下面的段狀態,必須等待臨時表空間下的所有段狀態變成offline才能drop
select segment_name,tablespace_name ,r.status
,(initial_extent/1024) initialextent,(next_extent/1024) nextextent,
max_extents,v.curext curextent from dba_rollback_segs r
,v$rollstat v where r.segment_id=v.usn(+) order by segment_name
--刪除原來的臨時表空間
drop tablespace pdm_temp including contents and datafiles;
--如果一直刪不掉,檢視是那些使用者仍在使用原先的臨時表空間
select to_char( b.sql_fulltext),(select osuser from v$session v where v.saddr=session_addr ),
(select sid from v$session v where v.saddr=session_addr )
, (select serial# from v$session v where v.saddr=session_addr ),
tablespace,a.* from v$tempseg_usage a,v$sql b where a.sql_id=b.sql_id
--alter system kill session '428,24107'
--建立新的臨時表空間
create temporary tablespace pdm_temp
tempfile '/data/pdm/data/pdm_temp01.dbf' size 30g ,
'/data/pdm/data/pdm_temp02.dbf' size 30g,
'/data/pdm/data/pdm_temp03.dbf' size 30g,
'/data/pdm/data/pdm_temp04.dbf' size 30g,
'/data/pdm/data/pdm_temp05.dbf' size 30g
autoextend off;
--檢視使用者臨時表空間
select d.username, t.file_name, d.temporary_tablespace from dba_temp_files t
,dba_users d where t.tablespace_name = d.temporary_tablespace
--切換為原先的臨時表空間
alter user *** temporary tablespace pdm_temp;
--刪掉臨時用來切換的表空間
drop tablespace data_temp including contents and datafiles;
臨時表空間爆滿的處理辦法
1這個是檢視當前占用臨時表空間的sql select se.username,se.sid,su.extents,su.blocks to number rtrim p.value as space,tablespace,segtype,sql text from v sort usage su,v...
臨時表空間不足問題
今晚開發臨時拉我去定位乙個資料庫問題,是臨時表空間不足的問題,主要是他們的sql存在clob大字段排序把臨時表空間佔滿了且不釋放。這種問題解決的最好辦法就是優化sql,能把臨時表空間耗盡的sql明顯是存在很大的問題的。但目前臨時表空間不足已經影響到其他應用,所以恢復臨時表空間是當務之急。治標不治本的...
臨時表空間
臨時表空間 1.什麼是臨時表空間 在oracle資料庫中進行排序 分組彙總 索引等到作時,會產生很多的臨時資料。如有一張員工資訊表,資料庫中是安裝記錄建立的時間來儲存的。如果使用者查詢時,使用order by排序語句指定按員工編號來排序,那麼排序後產生的所有記錄就是臨時資料。對於這些臨時資料,ora...