KeyWeb

Уменьшить объем базы VMWare

1111111111Rating 0.00 (0 Votes)
База разраслась до размеров в ~50Гб, возникла необходимость ее обрезать, так как данные для просмотра администраторами (в данном случае) актуальны не более трех месяцев. В самой БД содержатся параметры, которые позволяют включить максимальный срок жизни хранения событий (по умолчанию этот параметр отключен), для этого необходимо открыть SQL Server Management Studio, развернуть БД VCentre - Tables, найти таблицу dbo.VPX_PARAMETER, щелкнуть ПКМ и выбрать опцию - Edit Top 200 Rows
 
truncate vmware db
 
Далее найти строки - event.maxAge и event.maxAgeEnabled, в первом параметре необходимо выставить нужное количество дней (по умолчанию 180), у параметра event.maxAgeEnabled выставить true
 
truncate vmware db 2
 
Дале необходимо запустить процедуру по очистке данных из БД, эта процедура имеется в БД, открыть ее можно - БД VCentre - Programmability, найти процедуру - cleanup_events_tasks_proc - ПКМ - Execute Stored Procedure
 
truncate vmware db 3
 
Далее необходимо выполнить скрипт:

alter table VPX_EVENT_ARG drop constraint FK_VPX_EVENT_ARG_REF_EVENT, FK_VPX_EVENT_ARG_REF_ENTITY
alter table VPX_ENTITY_LAST_EVENT drop constraint FK_VPX_LAST_EVENT_EVENT
truncate table VPX_TASK
truncate table VPX_ENTITY_LAST_EVENT
truncate table VPX_EVENT
truncate table VPX_EVENT_ARG
alter table VPX_EVENT_ARG add constraint FK_VPX_EVENT_ARG_REF_EVENT foreign key(EVENT_ID) references VPX_EVENT (EVENT_ID) on delete cascade,
constraint FK_VPX_EVENT_ARG_REF_ENTITY foreign key (OBJ_TYPE) references VPX_OBJECT_TYPE (ID)
alter table VPX_ENTITY_LAST_EVENT add constraint FK_VPX_LAST_EVENT_EVENT foreign key(LAST_EVENT_ID)
references VPX_EVENT (EVENT_ID) on delete cascade

Установка детализации статистики VMware

Эта настройка производится в настрйоках VCentre - Administration - vCenter Server Settings - Statistics, необходимо выбрать нужный период (Interval Duration) и выставить уровень Statistic Level
 
truncate vmware db 4
 
Использование скриптов по очистке
С офф сайта, необходимо загрузить скрипт, в момем случае это VCDB_Purge_MSSQL_V2.X.zip, который нужно:
  • распаковать
  • открыть
  • выбрать БД в SQL Server Management Studio
  • проверить парсинг используя кнопку Pase (галочка возле кнопки Execute)
  • в теле скрипта можно указать количество дней
  • выполнить
В результате в области Message, будет указано сколько строк будет удалено из БД.

Сжатие БД

Строки можно удалить, используя параметр DELETE_DATA скрипта выставив его значение 1:
SET @DELETE_DATA = 1
В скрипте можно указать, за сколько дней можно произвести чистку, например в 20 дней (по умолчанию в 180):
SET @CUTOFF_DATE = GETUTCDATE()-30
Далее необходимо выполниить скрипт окончательно, после выполненных действий, можно посмотреть реальный размер логов и занимаемый ими объем:
dbcc sqlperf (logspace)
Посмотреть размер бд и лога:

SELECT
DB_NAME(db.database_id) DatabaseName,
(CAST(mfrows.RowSize AS FLOAT)*8)/1024 RowSizeMB,
(CAST(mflog.LogSize AS FLOAT)*8)/1024 LogSizeMB
FROM sys.databases db
LEFT JOIN (SELECT database_id, SUM(size) RowSize FROM sys.master_files WHERE type = 0 GROUP BY database_id, type) mfrows ON mfrows.database_id = db.database_id
LEFT JOIN (SELECT database_id, SUM(size) LogSize FROM sys.master_files WHERE type = 1 GROUP BY database_id, type) mflog ON mflog.database_id = db.database_id
go

Далее осуществляем шринк - БД - ПКМ - Tasks - Shrink - Database
 
truncate vmware db 5
 
 В открывшемся окне можно увидеть сколько занято пространства и сколько может освободиться
 
 truncate vmware db 6
 
Для применения нажимаем ОК, в итоге база была сжата до 402 мегабайт с изначальных 48 с лишним Гб ))
 

Добавить комментарий


Обновить
Защитный код

KeyWeb

Сейчас один гость и ни одного зарегистрированного пользователя на сайте

Вверх
Вниз