У меня есть таблица в Oracle db, которая получает пару миллионов новых строк каждый месяц. Каждая строка имеет столбец, в котором указывается дата его создания.Oracle дисковое пространство, используемое таблицей
Я хотел бы запустить запрос, который увеличивает объем дискового пространства за последние 6 месяцев. Другими словами, результатом будет таблица с двумя столбцами, где каждая строка будет иметь имя месяца и дисковое пространство, используемые в течение этого месяца.
Спасибо,
Используйте DBA_SEGMENTS вместо DBA_TABLES. Он точно скажет вам, сколько пространства использует объект на диске, и оно не зависит от оценок или статистики. –
Помните, что таблица может состоять из разделов, которые DBA_TABLES не учитывают. Как показывает jonearles, DBA_SEGMENTS и учитывают разделы, также, если вы хотите включать двоичные столбцы объекта (BLOB, CLOB) DBA_LOBS также из-за того, что LOB, не сохраненные в строке, находятся в их собственном сегменте. – Stellios
Насколько я знаю, AVG_ROW_LEN - статистика оптимизатора, а не реальная мера. Я имею в виду, что с соответствующими разрешениями вы можете перезаписать его значение. См. Http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_stats.htm#i997763 – gpeche