Текущий объём БД

gugu
Дата: 10.11.2008 10:41:48
Как правильнее получать текущий объём БД?

select sum(bytes)
from dba_extents

или

select sum(bytes)
from dba_data_files
?
pravednik
Дата: 10.11.2008 10:46:19
gugu
Как правильнее получать текущий объём БД?

select sum(bytes)
from dba_extents

или

select sum(bytes)
from dba_data_files
?

в зависимости от того, что вы подразумеваете под "текущий объём БД"
Учитывайте, что датафайл может занимать 1 гиг, а инфы содержать на пару килобайт
gugu
Дата: 10.11.2008 10:49:46
Объём реально содержащейся информации,
а не выделенного места.
Alexey181
Дата: 10.11.2008 10:50:44
select  sum(bytes/(1024*1024*1024)) Gb from dba_segments 
лучше так инфу получить
dobru
Дата: 10.11.2008 11:26:04
Alexey181
select  sum(bytes/(1024*1024*1024)) Gb from dba_segments 
лучше так инфу получить


Автор, хочет:
автор
Объём реально содержащейся информации,
а не выделенного места.


Если подходить слишком жестко, то при выделении сегмента, и его экстентов, заполненным может быть только один экстент из всех, да еще может на 10 %.

Так что если точно, то на уровне подсчета занятых блоков, локально управляемого(или словар-устар) таблич пространства - Но это уже совсем жесть :-)
Alexey181
Дата: 10.11.2008 11:40:49
да согласен с вами, не успел это сообщение автора прочитать.
тут может RMAN поможет, хотя он тоже объективно не скажет, т.к. неиспользуемые блоки в случае удаления строк или усечения таблицы в образ добавит, но вот никогда неиспользуемые блоки точно в образ не добавит.
orawish
Дата: 10.11.2008 11:41:44
gugu
Как правильнее получать текущий объём БД?

очевидно же - площадь (основания) БД умножить на высоту БД

многие понимают под сабж. конкретно-и-однозначно (суммарный) размер дамп файла(ов)
pravednik
Дата: 10.11.2008 11:45:09
Alexey181
да согласен с вами, не успел это сообщение автора прочитать.
тут может RMAN поможет, хотя он тоже объективно не скажет, т.к. неиспользуемые блоки в случае удаления строк или усечения таблицы в образ добавит, но вот никогда неиспользуемые блоки точно в образ не добавит.

вы уточняйте, что будете делать с RMAN, чтоб он так помог..и какую версию....
к примеру, в >10 инкрементал 0 поможет лучше ;)
pravednik
Дата: 10.11.2008 11:45:49
pravednik
Alexey181
да согласен с вами, не успел это сообщение автора прочитать.
тут может RMAN поможет, хотя он тоже объективно не скажет, т.к. неиспользуемые блоки в случае удаления строк или усечения таблицы в образ добавит, но вот никогда неиспользуемые блоки точно в образ не добавит.

вы уточняйте, что будете делать с RMAN, чтоб он так помог..и какую версию....
к примеру, в >10 инкрементал 0 поможет лучше ;)

>=10
Andrew (First)
Дата: 10.11.2008 13:27:56
В мегабайтах...
SELECT sum(NVL(TO_CHAR(((d.bytes - s.bytes) / 1024 / 1024),'99999990.000'), TO_CHAR((d.bytes / 1024 / 1024), '99999990.000')))
FROM sys.dba_data_files d, 
v$datafile v, (SELECT file_id, SUM(bytes) bytes  FROM sys.dba_free_space    GROUP BY file_id) s WHERE (s.file_id (+)= d.file_id) 
 AND (d.file_name = v.name)