ORACLE下回收TEMP表空間


釋放臨時表空間

alter tablespace temp shrink space;

  

--確定TEMP表空間的ts#

SELECT TS#, NAME FROM SYS.TS$;

  

--執行清理操作 temp表空間的TS# 為 3*, So TS#+ 1= 4

BEGIN
FOR CUR IN 1 .. 10 
LOOP 
EXECUTE IMMEDIATE 'alter session set events ''immediate trace name DROP_SEGMENTS level 4''';
END LOOP;
END;
/

  

查看占用temp表空間對象;

set lines 200
col username for a20
col b.BYTES_USED/1024/1024/1024||'G' for a30
SELECT a.username,a.sql_id,a.SEGTYPE,b.BYTES_USED/1024/1024/1024||'G',b.BYTES_FREE/1024/1024/1024 
FROM V$TEMPSEG_USAGE a 
JOIN V$TEMP_SPACE_HEADER b 
ON a.TABLESPACE=b.tablespace_name;


set line 232
set pagesize 49999
set wrap off
col USERNAME for a8
col tablespace for a10
col sql_text for a60
Select se.username,se.sid,se.serial#,su.extents,su.blocks*to_number(rtrim(p.value))as Space,tablespace,segtype,sql_text
from v$sort_usage su,v$parameter p,v$session se,v$sql s
where p.name='db_block_size' and su.session_addr=se.saddr and s.hash_value=su.sqlhash
and s.address=su.sqladdr
order by se.username,se.sid;

  

TEMP臨時表空間的數據文件使用情況

SELECT file_id,TABLESPACE_NAME AS TABLESPACE_NAME,BYTES_USED/1024/1024/1024 AS TABLESAPCE_USED_GB,
BYTES_FREE/1024/1024/1024 AS TABLESAPCE_FREE_GB 
FROM V$TEMP_SPACE_HEADER 
ORDER BY 1 DESC;

  

刪除臨時表空間文件

ALTER TABLESPACE TEMP DROP TEMPFILE '/u01/app/oracle/oradata/GSP/temp02.dbf';

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM