我們今天主要描述Oracle查看表空間使用情況,願在你學習Oracle查看表空間中以起到拋磚引玉的作用。如果你對其相關的實際操作有興趣的話,你就可以對以下的文章點擊觀看了。以下就是正文的就介紹。
SELECT df.tablespace_name "表空間",
(df.totalspace - NVL(fs.freespace, 0)) "已使用(MB)",
NVL(fs.freespace, 0) "剩余(MB)",
df.totalspace "合計(MB)",
ROUND(100 * (1 - NVL(fs.freespace, 0) / df.totalspace), 2) "使用率(%)"
- FROM (SELECT tablespace_name, ROUND(SUM(bytes) / 1048576) totalspace
- FROM dba_data_files
- GROUP BY tablespace_name) df,
- (SELECT tablespace_name, ROUND(SUM(bytes) / 1048576) freespace
- FROM dba_free_space
- GROUP BY tablespace_name) fs
- WHERE df.tablespace_name = fs.tablespace_name(+)
- ORDER BY 5 DESC;
- /*
Oracle查詢表空間是否需壓縮.SQL
rem 由於自由空間碎片是由幾部分組成,如范圍數量、最大范圍尺寸等,我們可用FSFI--Free Space Fragmentation Index(自由空間碎片索引)值來直觀體現
rem 可以將表空間的缺省存儲參數pctincrease改為非0。一般將其設為1, 這樣SMON便會將自由范圍自動合並。也可以手工合並自由范圍
- rem FSFI Value Compute
- column FSFI format 999,99
- */
- select tablespace_name,sqrt(max(blocks)/sum(blocks))
*(100/sqrt(sqrt(count(blocks)))) FSFI- from dba_free_space
- group by tablespace_name order by FSFI desc;
上述的相關內容就是對 Oracle查看表空間使用情況的描述,希望會給你帶來一些幫助在此方面。