分析表空間空閒率並收縮表空間
點選(此處)摺疊或開啟
-
COL TBS_NAME FORMAT A15
-
COL USAGE_RATE FORMAT A10
-
SELECT Upper(F.TABLESPACE_NAME) "TBS_NAME",
-
D.TOT_GROOTTE_MB "TBS_MB",
-
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "USAGE_MB",
-
To_char(Round(( D.TOT_GROOTTE_MB - F.TOTAL_BYTES ) / D.TOT_GROOTTE_MB * 100, 2), '990.99')
-
|| '%' "USAGE_RATE",
-
F.TOTAL_BYTES "FREE_SPACE_MB",
-
F.MAX_BYTES "MAX_BLOCK_SIZE_MB"
-
FROM (SELECT TABLESPACE_NAME,
-
Round(Sum(BYTES) / ( 1024 * 1024 ), 2) TOTAL_BYTES,
-
Round(Max(BYTES) / ( 1024 * 1024 ), 2) MAX_BYTES
-
FROM SYS.DBA_FREE_SPACE
-
GROUP BY TABLESPACE_NAME) F,
-
(SELECT DD.TABLESPACE_NAME,
-
Round(Sum(DD.BYTES) / ( 1024 * 1024 ), 2) TOT_GROOTTE_MB
-
FROM SYS.DBA_DATA_FILES DD
-
GROUP BY DD.TABLESPACE_NAME) D
-
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
- ORDER BY 4 DESC;
TBS_NAME TBS_MB USAGE_MB USAGE_RATE FREE_SPACE_MB MAX_BLOCK_SIZE_MB
--------------- ---------- ---------- ---------- ------------- -----------------
SYSTEM 740 738.19 99.76% 1.81 1.81
SYSAUX 540 512.94 94.99% 27.06 27.06
USERS 5 1.31 26.20% 3.69 3.69
UNDOTBS1 90 15.31 17.01% 74.69 53
點選(此處)摺疊或開啟
-
COL CMD FORMAT A80
-
-
select 'alter database datafile ''' || a.file_name || ''' resize ' ||
-
round(a.filesize - (a.filesize - c.hwmsize - 100) * 0.8) || 'M;' AS CMD,
-
a.filesize || 'M' as "TOTAL_SIZE",
-
c.hwmsize || 'M' as "HW"
-
from (select file_id, file_name, round(bytes / 1024 / 1024) as filesize
-
from dba_data_files) a,
-
(select file_id, round(max(block_id) * 8 / 1024) as HWMsize
-
from dba_extents
-
group by file_id) c
-
where a.file_id = c.file_id
- and a.filesize - c.hwmsize > 100;
CMD TOTAL_SIZE HW
alter database datafile '/KBACH1T/data/logdata01.dbf' resize 9427M; 30000M 4184M
HW表示實際有效利用的空間
接下來執行CMD命令即可。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22621861/viewspace-1590434/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle表空間收縮方案Oracle
- mysql收縮共享表空間MySql
- 16、表空間 建立表空間
- 【RESIZE】Oracle收縮表空間主要命令Oracle
- 表空間(資料檔案shrink)收縮示例
- mysql共享表空間擴容,收縮,遷移MySql
- 當使用者無限制使用表空間配額且表空間有足夠空間時出現超出表空間的空間限額
- Oracle表空間Oracle
- oracle 表空間Oracle
- PostgreSQL 表空間SQL
- PostgreSQL:表空間SQL
- UNDO表空間空間回收及切換
- 表空間利用率及表空間的補充
- MySQL 5.7新特性之線上收縮undo表空間MySql
- undo表空間容量
- 增加oracle表空間Oracle
- Configure innodb 表空間
- 表空間限額
- 3.2. 表空間
- 只讀表空間
- oracle temp 表空間Oracle
- KingbaseES的表空間
- oracle 表移動表空間Oracle
- Oracle表移動表空間Oracle
- Oracle案例11——Oracle表空間資料庫檔案收縮Oracle資料庫
- lvm收縮邏輯卷空間LVM
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- 臨時表空間和回滾表空間使用率查詢
- MySQL 中的共享表空間與獨立表空間如何選擇MySql
- Ora-01536:超出了表空間users的空間限量
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- 獲取表空間DDL
- Innodb:Undo 表空間巨大
- Tablespace表空間刪除
- MySQL InnoDB表空間加密MySql加密
- oracle表空間的整理Oracle
- Oracle 批量建表空間Oracle
- 更改undo表空間大小
- Oracle清理SYSAUX表空間OracleUX