Oracle中表空間查詢
1、查看表占的空間
SELECT t.segment_name, round(SUM(t.bytes/1024/1024/1024),2) FROM user_segments t GROUP BY t.segment_name ORDER BY SUM(t.bytes/1024/1024/1024) DESC
2、查看表空間使用率(包含臨時表空間)
SELECT * FROM ( SELECT A.TABLESPACE_NAME,ROUND(A.BYTES / (1024 * 1024 * 1024), 2) AS "表空間大小(GB)" ,ROUND(B.BYTES / (1024 * 1024 * 1024), 2) AS "表空間剩余大小(GB)" ,ROUND((A.BYTES - B.BYTES) / (1024 * 1024 * 1024), 2) AS "表空間使用大小(GB)" ,TO_CHAR((1 - B.BYTES / A.BYTES) * 100, '99.99999') || '%' AS "使用率" FROM (SELECT TABLESPACE_NAME, SUM(BYTES) BYTES FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) A, (SELECT TABLESPACE_NAME, SUM(BYTES) BYTES FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) B WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME UNION ALL SELECT C.TABLESPACE_NAME,ROUND(C.BYTES / (1024 * 1024 * 1024), 2) "表空間大小(GB)" ,ROUND((C.BYTES - D.BYTES_USED) / (1024 * 1024 * 1024), 2) "表空間剩余大小(GB)" ,ROUND(D.BYTES_USED / (1024 * 1024 * 1024), 2) "表空間使用大小(GB)" ,TO_CHAR(D.BYTES_USED * 100 / C.BYTES, '99.99999') || '%' "使用率" FROM(SELECT TABLESPACE_NAME, SUM(BYTES) BYTES FROM DBA_TEMP_FILES GROUP BY TABLESPACE_NAME) C, (SELECT TABLESPACE_NAME, SUM(BYTES_CACHED) BYTES_USED FROM V$TEMP_EXTENT_POOL GROUP BY TABLESPACE_NAME) D WHERE C.TABLESPACE_NAME = D.TABLESPACE_NAME ) ORDER BY 5 desc ;
3、查看表空間或者用戶的表占用的空間
查看具體的表空間 SELECT TABLESPACE_NAME,OWNER,SEGMENT_NAME,/*PARTITION_NAME,*/SEGMENT_TYPE,ROUND(SUM(BYTES)/1024/1024/1024,2) SIZE_GB FROM DBA_SEGMENTS WHERE TABLESPACE_NAME = UPPER('PCGSPDATA') GROUP BY TABLESPACE_NAME, OWNER, SEGMENT_NAME,/*PARTITION_NAME,*/ SEGMENT_TYPE HAVING ROUND(SUM(BYTES)/1024/1024/1024,2) >= 0.1 ORDER BY SIZE_GB DESC ;
不管在什么地方上班,請記住:
工作不養(yǎng)閑人,團(tuán)隊不養(yǎng)懶人。入一行先別惦記著賺錢,先學(xué)著讓自己值錢。賺不到錢賺知識;賺不到知識賺經(jīng)歷;賺不到經(jīng)歷賺閱歷;以上都賺到了就不可能賺不到錢。只有先改變自己的態(tài)度,才能改變?nèi)松母叨取? 讓一個人迷茫的原因只有一個,那就是本該拼搏的年紀(jì),卻想的太多,做的太少。

浙公網(wǎng)安備 33010602011771號