...
Code Block | ||||
---|---|---|---|---|
| ||||
WITH TBLSP_TOTAL AS ( SELECT TABLESPACE_NAME, ROUND(SUM(BYTES)/(1024*1024)) ALLOCATED_MB, ROUND(SUM(DECODE(MAXBYTES, 0, BYTES, MAXBYTES))/(1024*1024)) MAX_MB FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME UNION ALL SELECT TABLESPACE_NAME, ROUND(SUM(BYTES)/(1024*1024)) ALLOCATED_MB, ROUND(SUM(DECODE(MAXBYTES, 0, BYTES, MAXBYTES))/(1024*1024)) MAX_MB FROM DBA_TEMP_FILES GROUP BY TABLESPACE_NAME), TBLSP_FREE AS ( SELECT TABLESPACE_NAME, ROUND(SUM(BYTES)/(1024*1024)) FREE_MB FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME UNION ALL SELECT TABLESPACE_NAME, ROUND(FREE_SPACE/(1024*1024)) FREE_MB FROM DBA_TEMP_FREE_SPACE), TBLSP_USED AS ( SELECT TS.TABLESPACE_NAME, TS.ALLOCATED_MB - NVL(FS.FREE_MB, 0) TABLESPACE_NAME USED_MB, NVL((TS.ALLOCATED_MB-FS.FREE_MB), 0) USED_MB, NVL(FS.FREE_MB, 0) FREE_MB, TS.ALLOCATED_MB TOTAL_MB, TS.MAX_MB TOTAL_MAX_MB, TS.MAX_MB - (TS.ALLOCATED_MB - NVL(FS.FREE_MB, 0)) FREE_MAX_MB FROM TBLSP_TOTAL TS, TBLSP_FREE FS WHERE FS.TABLESPACE_NAME(+) = TS.TABLESPACE_NAME) SELECT TABLESPACE_NAME "TABLESPACE", USED_MB "Used MB", FREE_MB "Free MB", TOTAL_MB "Total MB", TOTAL_MAX_MB "Total Max MB", FREE_MAX_MB "Free Max MB", ROUND(100*((TOTALFREE_MAX_MB-USED_MB)/TOTAL_MAX_MB)) "Pct. Free" FROM TBLSP_USED ORDER BY TABLESPACE_NAME; |
...
# | TABLESPACE | Used MB | Free MB | Total MB | Total Max MB | Free Max MB | Pct. Free |
---|---|---|---|---|---|---|---|
1 | HYDRA | 22903 | 27555 | 50458 | 61492 | 38589 | 63 |
2 | HYDRA_INDEX | 40621 | 6781 | 47402 | 94292 | 53671 | 57 |
3 | SYSAUX | 1829 | 321 | 2150 | 32768 | 30939 | 94 |
4 | SYSTEM | 14413 | 67 | 14480 | 32768 | 18355 | 56 |
5 | TOOLS | 1 | 31 | 32 | 32 | 31 | 97 |
6 | UNDOTBS1 | 8445 | 29078 | 37523 | 65536 | 57091 | 87 |
7 | USERS | 1 | 4 | 5 | 32768 | 32767 | 100 |
Значения полей:
- TABLESPACE — название табличного пространства
- Used MB — объем несвободных блоков в занятом объеме на диске
- Free MB — объем свободных блоков в занятом объеме на диске
- Total MB — занятый объем на диске
- Total Max MB — максимально возможный объем на диске, который разрешено захватить СУБД с ростом данных. Может быть больше объема доступного дискового пространства.
- Free Max MB — максимально возможный объем, на который может разрешено увеличиться с ростом данных. Может быть больше объема доступного дискового пространства.
- Pct. Free — процент свободного объема. Расчитывается как отношение Free Max MB к Total Max MB.
Здесь особое внимание нужно уделить показателю Pct. Free для пространств HYDRA
и HYDRA_INDEX
. При слишком малых значениях его (менее 20%) необходимо автоматически информировать администратора о проблеме со свободным местом. В противном случае в БД, например, могут остановиться важные системные задания с такой подобной ошибкой:
Code Block |
---|
Ошибка при запуске JB_DATA_COLLECT_PKG.EX_DATA_COLLECT_ACCOUNTING [ORA-01654: unable to extend index AIS_NET.EX_TRAFFIC_COL_C_FIRM_IDX by 8192 in tablespace HYDRA_INDEX] |
Значение Total MB показывает фактически выделенное место под табличное пространство, а Total Max MB показывает максимально возможное место, которое СУБД разрешено захватить под данное пространство при его автоматическом расширении с ростом данных. Следует учитывать, что значение Total Max MB может быть больше объема доступного дискового пространства. Процент свободного места (Pct. Free) расчитывается на основании использованого места (Used MB) и максимально возможного (Total Max MB).
Контроль нетарифицированных телефонных звонков
...