檢視單個SQL消耗TEMP表空間以及TEMP表空間使用率
檢視TEMP表空間使用率
--11G下:
select tablespace_name,round(free_space/1024/1024/1024,2) "free(GB)",round(tablespace_size/1024/1024/1024,2) "total(GB)",round(nvl(free_space,0)*100/tablespace_size,3) "Free percent"
from dba_temp_free_space;
--10G下:
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 GV$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;
檢視單個SESSION消耗的TEMP表空間
SELECT S.sid,
SUM (T.blocks) * TBS.block_size / 1024 / 1024 mb_used,
S.serial# sid_serial,
s.INST_ID,
S.username,
S.osuser,
P.spid,
S.module,
P.program,
T.tablespace,
q.sql_text,
nvl(S.sql_id,S.PREV_SQL_ID) sql_id
--COUNT (*) statements
FROM gv$sort_usage T,
gv$session S,
dba_tablespaces TBS,
gv$process P,
gv$sql q
WHERE T.session_addr = S.saddr
AND t.INST_ID = S.INST_ID
AND S.paddr = P.addr
AND S.INST_ID = P.INST_ID
AND nvl(S.sql_id,S.PREV_SQL_ID)=q.sql_id
AND T.tablespace = TBS.tablespace_name
and s.sid='111'
GROUP BY S.sid,
S.serial#,
s.INST_ID,
S.username,
S.osuser,
P.spid,
S.module,
P.program,
TBS.block_size,
T.tablespace,
q.sql_text,
nvl(S.sql_id,S.PREV_SQL_ID)
order by 2 desc
--11G下:
select tablespace_name,round(free_space/1024/1024/1024,2) "free(GB)",round(tablespace_size/1024/1024/1024,2) "total(GB)",round(nvl(free_space,0)*100/tablespace_size,3) "Free percent"
from dba_temp_free_space;
--10G下:
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 GV$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;
檢視單個SESSION消耗的TEMP表空間
SELECT S.sid,
SUM (T.blocks) * TBS.block_size / 1024 / 1024 mb_used,
S.serial# sid_serial,
s.INST_ID,
S.username,
S.osuser,
P.spid,
S.module,
P.program,
T.tablespace,
q.sql_text,
nvl(S.sql_id,S.PREV_SQL_ID) sql_id
--COUNT (*) statements
FROM gv$sort_usage T,
gv$session S,
dba_tablespaces TBS,
gv$process P,
gv$sql q
WHERE T.session_addr = S.saddr
AND t.INST_ID = S.INST_ID
AND S.paddr = P.addr
AND S.INST_ID = P.INST_ID
AND nvl(S.sql_id,S.PREV_SQL_ID)=q.sql_id
AND T.tablespace = TBS.tablespace_name
and s.sid='111'
GROUP BY S.sid,
S.serial#,
s.INST_ID,
S.username,
S.osuser,
P.spid,
S.module,
P.program,
TBS.block_size,
T.tablespace,
q.sql_text,
nvl(S.sql_id,S.PREV_SQL_ID)
order by 2 desc
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26084062/viewspace-1456043/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 檢視temp表空間的消耗明細情況
- oracle temp 表空間Oracle
- Oracle Temp 表空間切換Oracle
- ORA-01652:無法通過128(在表空間TEMP中)擴充套件temp段套件
- ORA-01652 無法透過128 (在表空間 TEMP中)擴充套件temp段套件
- [轉]ORA-01652 無法通過128 (在表空間 TEMP中)擴充套件temp段套件
- undo表空間使用率100%的原因檢視
- Oracle RMAN備份為什麼會大量使用temp表空間?Oracle
- SQL Server檢視所有表大小,所佔空間SQLServer
- 臨時表空間和回滾表空間使用率查詢
- 12C關於CDB、PDB 臨時temp表空間的總結
- 16、表空間 建立表空間
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- oracle表空間使用率查詢Oracle
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- 檢視oracle臨時表空間佔用率的檢視Oracle
- oracle sql 表空間利用率OracleSQL
- undo表空間使用率過高解決
- Oracle表空間Oracle
- oracle 表空間Oracle
- PostgreSQL 表空間SQL
- PostgreSQL:表空間SQL
- 表空間集自包含檢查
- 當使用者無限制使用表空間配額且表空間有足夠空間時出現超出表空間的空間限額
- 表空間利用率及表空間的補充
- UNDO表空間空間回收及切換
- MySQL 遷移表空間,備份單表MySql
- Oracle11g新增檢視查詢表空間使用率DBA_TABLESPACE_USAGE_METRICSOracle
- undo表空間容量
- 增加oracle表空間Oracle
- Configure innodb 表空間
- 表空間限額
- 3.2. 表空間
- 只讀表空間
- KingbaseES的表空間
- oracle 表移動表空間Oracle
- Oracle表移動表空間Oracle
- SQL Server 檢視錶佔用空間大小SQLServer
- oracle 檢視錶空間Oracle