Каков фактический показатель полного табличного пространства? Физический размер файла (выделенный) или используемое пространство? У нас есть только одна схема, использующая DATA01 в качестве основного табличного пространства в базе данных. См. sql ниже:
Select Bytes/1024/1024/1024,Tablespace_Name,File_Name From Dba_Data_Files;
or
Select df.tablespace_name Tablespace,
totalusedspace Used_MB,
(df.totalspace - tu.totalusedspace) Free_MB,
Df.Totalspace Total_Mb,
round(100 * ( (df.totalspace - tu.totalusedspace)/ df.totalspace)) Pct_Free
from
(select tablespace_name,
round(sum(bytes) / 1048576) TotalSpace
from dba_data_files
Group By Tablespace_Name) Df,
(select round(sum(bytes)/(1024*1024)) totalusedspace, tablespace_name from dba_segments
group by tablespace_name) tu
where df.tablespace_name = tu.tablespace_name;
Первый sql дает следующий результат:
SQL> Select Bytes/1024/1024/1024,Tablespace_Name,File_Name From Dba_Data_Files;
BYTES/1024/1024/1024 TABLESPACE_NAME
-------------------- ------------------------------
FILE_NAME
------------------------------------------------------------------------------------------------------------------------
.004882813 USERS
+DATA/xxx/datafile/users.289.863434089
1.43066406 UNDOTBS1
+DATA/xxx/datafile/undotbs1.288.863434089
5 SYSAUX
+DATA/xxx/datafile/sysaux.287.863434089
5 SYSTEM
+DATA/xxx/datafile/system.286.863434087
.537109375 UNDOTBS2
+DATA/xxx/datafile/undotbs2.294.863434493
31.9999847 DATA01
+DATA/xxx/datafile/data01a.dbf
31.9999847 DATA01
+DATA/xxx/datafile/data01b.dbf
31.9999847 DATA01
+DATA/xxx/datafile/data01c.dbf
.09765625 DATA02
+DATA/xxx/datafile/data02a.dbf
6.4831543 INDEX02
+DATA/xxx/datafile/index02a.dbf
31.9414063 DATA01
+DATA/xxx/datafile/data01d.dbf
Второй sql дает следующий результат:
TABLESPACE USED_MB FREE_MB TOTAL_MB PCT_FREE
------------------------------ ---------- ---------- ---------- ----------
UNDOTBS1 27 1438 1465 98
SYSAUX 2211 2909 5120 57
SYSTEM 2579 2541 5120 50
DATA01 86363 44649 131012 34
UNDOTBS2 17 533 550 97
INDEX02 3103 3536 6639 53
Как показано, четыре файла данных data01a/data01b/data01c/data01d имеют размер почти 32G, но почему результат второго sql показывает, что для табличного пространства DATA01 все еще есть 34% свободного места?
Кроме того, гораздо более странно, когда DBA отправляет скриншот ниже из консоли db:
Имя файла данных| Использование | Размер | Используется | бесплатно |
данные01d.dbf| 0% | 31,96 Гб | 47Мб| 31,9Гб
Вопросы:
- Как указано выше, какой оператор должен быть основной ссылкой на полное табличное пространство? Чтобы проверить размер физических файлов или использование?
- Почему на снимке экрана для data01d.dbf показано использование 0%, но фактический физический размер файла составляет около 31,94 ГБ?
- Что приводит к увеличению размера файла dbf до 31,96 ГБ?
Большое спасибо за любые комментарии/советы, ценю это.