Check usage of TEMP tablespace with non CDB and PDBs database
Check the Temp Tablespace Usages
SELECT A.tablespace_name tablespace, D.mb_total,
SUM (A.used_blocks * D.block_size) / 1024 / 1024 mb_used,
D.mb_total - SUM (A.used_blocks * D.block_size) / 1024 / 1024 mb_free
FROM v$sort_segment A,
(
SELECT B.name, C.block_size, SUM (C.bytes) / 1024 / 1024 mb_total
FROM v$tablespace B, v$tempfile C
WHERE B.ts#= C.ts#
GROUP BY B.name, C.block_size) D
WHERE A.tablespace_name = D.name
GROUP by A.tablespace_name, D.mb_total;
TABLESPACE MB_TOTAL MB_USED MB_FREE ------------------- --------- ---------- ---------- TEMP 2220 0 2220
Check Temp tablespace usages for all pdbs which are in open state
col tablespace for a10
SELECT d.con_id,A.tablespace_name tablespace, D.mb_total,
SUM (A.used_blocks * D.block_size) / 1024 / 1024 mb_used,
D.mb_total - SUM (A.used_blocks * D.block_size) / 1024 / 1024 mb_free
FROM v$sort_segment A,
(
SELECT b.con_id, b.tablespace_name, C.block_size, SUM (C.bytes) / 1024 / 1024 mb_total
FROM cdb_temp_files B, v$tempfile C
WHERE B.con_id= C.con_id and b.file_name = c.name
GROUP BY b.con_id,b.tablespace_name, C.block_size) D
WHERE A.tablespace_name = D.tablespace_name
GROUP by D.con_id,A.tablespace_name, D.mb_total;
CON_ID TABLESPACE MB_TOTAL MB_USED MB_FREE ---------- ---------- ---------- ---------- ---------- 1 TEMP 129 0 129 4 TEMP 62 0 62 3 TEMP 129 0 129 5 TEMP 62 0 62
Check Input/Output usage of each temp file give you all PDBs or non container temp files
set line 200 pages 200
col file_name for a40
SELECT SUBSTR(t.name,1,50) AS file_name,
f.phyblkrd AS blocks_read,
f.phyblkwrt AS blocks_written,
f.phyblkrd + f.phyblkwrt AS total_io
FROM v$tempstat f,v$tempfile t
WHERE t.file# = f.file#
ORDER BY f.phyblkrd + f.phyblkwrt DESC;
Session wise usage of Temp file
select * from (SELECT u.tablespace, s.username, s.sid, s.serial#, s.logon_time, program, u.extents, ((u.blocks*8)/1024) as MB,
i.inst_id,i.host_name
FROM gv$session s, gv$sort_usage u ,gv$instance i
WHERE s.saddr=u.session_addr and u.inst_id=i.inst_id order by MB DESC) a where rownum<10;