25.05.2010 17:03
John Doe
 
Часто всплывает вопрос, каким образом сжимать раздутые датафайлы. Т.е. то, что их дергать в обратную сторону можно - не открытие, но как истинный админ, стремился это дело автоматизировать. Итак:
Код:
select 'alter database datafile '''||file_name||''' resize '||ceil( (nvl(hwm,1)*&&blksize)/1024/1024 )||'m;' cmd
from dba_data_files a, ( select file_id, max(block_id+blocks-1) hwm from dba_extents group by file_id ) b
where a.file_id = b.file_id(+) and ceil( blocks*&&blksize/1024/1024) -ceil( (nvl(hwm,1)*&&blksize)/1024/1024 ) > 0
/
авторство приписывать не буду, как я понял, начал Том Кайт, прошла куча редакций, последнюю из которых допиливал я сам.
Часовой пояс GMT +3, время: 18:50.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.