達夢資料庫表空間等空間大小查詢方法總結
1 、檢視所有表空間大小及其使用情況
SELECT F.TABLESPACE_NAME, (T.TOTAL_SPACE - F.FREE_SPACE) / 1024 "USED (GB)", F.FREE_SPACE / 1024 "FREE (GB)", T.TOTAL_SPACE / 1024 "TOTAL(GB)", (ROUND((F.FREE_SPACE / T.TOTAL_SPACE) * 100)) || '% ' PER_FREE FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BLOCKS * (SELECT PARA_VALUE / 1024 FROM V$DM_INI WHERE PARA_NAME = 'GLOBAL_PAGE_SIZE') / 1024)) FREE_SPACE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F, (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES / 1048576)) TOTAL_SPACE FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) T WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME;
2 、檢視指定表空間大小及其使用情況,如檢視DMHR開頭的表空間大小及其使用情況
SELECT F.TABLESPACE_NAME, (T.TOTAL_SPACE - F.FREE_SPACE) / 1024 "USED (GB)", F.FREE_SPACE / 1024 "FREE (GB)", T.TOTAL_SPACE / 1024 "TOTAL(GB)", (ROUND((F.FREE_SPACE / T.TOTAL_SPACE) * 100)) || '% ' PER_FREE FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BLOCKS * (SELECT PARA_VALUE / 1024 FROM V$DM_INI WHERE PARA_NAME = 'GLOBAL_PAGE_SIZE') / 1024)) FREE_SPACE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F, (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES / 1048576)) TOTAL_SPACE FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) T WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME AND T.TABLESPACE_NAME LIKE 'DMHR%';
3 、檢視指定使用者佔用的空間大小,如檢視SYSDBA使用者佔用的空間大小
SELECT USER_USED_SPACE('SYSDBA') * PARA_VALUE / 1024 / 1024 "USER_USED_SPACE(MB)" FROM V$DM_INI WHERE PARA_NAME LIKE 'GLOBAL_PAGE_SIZE';
4 、檢視指定表佔用的空間大小,如檢視DMHR使用者下CITY表佔用的空間大小
SELECT TABLE_USED_PAGES('DMHR', 'CITY') * PARA_VALUE / 1024 / 1024 "USER_USED_SPACE(MB)" FROM V$DM_INI WHERE PARA_NAME LIKE 'GLOBAL_PAGE_SIZE';
5 、檢視指定表已使用的空間大小,如檢視DMHR使用者下CITY表已使用的空間大小
SELECT TABLE_USED_SPACE('DMHR', 'CITY') * PARA_VALUE / 1024 / 1024 "USER_USED_SPACE(MB)" FROM V$DM_INI WHERE PARA_NAME LIKE 'GLOBAL_PAGE_SIZE';
6 、檢視指定索引佔用的空間大小,如檢視DMHR使用者下EMPLOYEE表已上的索引INDEX33555541佔用的空間大小,達夢資料庫查詢索引空間佔用是以索引的ID為傳入引數,可以通過以下SQL查詢索引的ID
SELECT NAME, ID FROM SYSOBJECTS WHERE NAME IN (SELECT INDEX_NAME FROM DBA_INDEXES WHERE OWNER = 'DMHR' AND TABLE_NAME = 'EMPLOYEE') AND INDEX_NAME = 'INDEX33555541';
然後根據上面查到的ID來查詢對應的索引佔用的空間大小
SELECT INDEX_USED_PAGES(33555524) * PARA_VALUE / 1024 / 1024 "USER_USED_SPACE(MB)" FROM V$DM_INI WHERE PARA_NAME LIKE 'GLOBAL_PAGE_SIZE';
7 、檢視指定索引已使用的空間大小,如檢視DMHR使用者下EMPLOYEE表已上的索引INDEX33555541使用的空間大小,達夢資料庫查詢索引空間佔用是以索引的ID為傳入引數,可以通過以下SQL查詢索引的ID
SELECT NAME, ID FROM SYSOBJECTS WHERE NAME IN (SELECT INDEX_NAME FROM DBA_INDEXES WHERE OWNER = 'DMHR' AND TABLE_NAME = 'EMPLOYEE') AND INDEX_NAME = 'INDEX33555541';
然後根據上面查到的ID來查詢對應的索引使用的空間大小
SELECT INDEX_USED_SPACE(33555524) * PARA_VALUE / 1024 / 1024 "USER_USED_SPACE(MB)" FROM V$DM_INI WHERE PARA_NAME LIKE 'GLOBAL_PAGE_SIZE';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31403259/viewspace-2759188/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 表空間大小查詢
- [轉帖]達夢資料庫-統計資料表資料量及空間表大小資料庫
- 達夢表空間管理注意事項總結
- Oracle查詢表佔磁碟空間大小及移動表空間Oracle
- 達夢資料庫表空間管理方法及實戰演示資料庫
- mysql 資料庫或者表空間使用查詢MySql資料庫
- Oracle 查詢表大小以及表空間使用率Oracle
- oracle表空間查詢Oracle
- 表空間查詢資訊
- 檢視Oracle資料庫表空間大小,是否需要增加表空間的資料檔案Oracle資料庫
- 查詢表空間的大小和使用率
- 【SQL】查詢及修改資料庫預設表空間SQL資料庫
- 表空間中有資料也可以壓縮表空間(資料檔案)大小
- 達夢資料庫之初始化頁大小對於表及表空間的影響分析資料庫
- oracle查詢表空間的空間佔用情況Oracle
- 查詢表空間容量時顯示大小為空的問題
- 查詢表的大小及表空間的使用情況
- oracle 表空間,臨時表空間使用率查詢Oracle
- 達夢(DM)資料庫的表空間建立和遷移維護資料庫
- 如何檢視Oracle資料庫表空間大小(空閒、已使用),是否要增加表空間的資料檔案...Oracle資料庫
- 查詢表空間已使用空間和空閒空間的簡單檢視
- Oracle 表空間利用率及物件大小查詢Oracle物件
- 達夢資料庫系統表空間資料檔案遷移過程資料庫
- 表空間查詢和管理
- 表空間相關查詢
- 臨時表空間的空間使用情況查詢
- undo表空間總結
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- Oracle資料庫表空間的資料檔案大小上限。Oracle資料庫
- MySQL innodb共享表空間新增表空間資料檔案方法MySql
- Oracle 查詢各個 “表空間/資料檔案” 的空間使用比情況Oracle
- 【TABLESPACE】Oracle資料庫預設永久表空間的查詢及刪除方法Oracle資料庫
- 如何獲取 PostgreSQL 資料庫中的表大小、資料庫大小、索引大小、模式大小、表空間大小、列大小SQL資料庫索引模式
- 臨時表空間和回滾表空間使用率查詢
- 表空間使用量查詢
- 查詢表空間使用情況
- 檢視資料庫表空間資料庫
- oracle清除資料庫表空間Oracle資料庫