jueves, 13 de diciembre de 2012

Reducir el tamaño de la base de datos del VMware Vcenter Server

Sintomas:

Vcenter va lento e incluso en un  momento el servicio se para con el siguiente error en el visor de eventos
No se encuentra la descripción del id. de evento 1000 en el origen .........
Se incluyó la siguiente información con el evento:

An unrecoverable problem has occurred, stopping the VMware VirtualCenter service. Error: Error[VdbODBCError] (-1) "ODBC error: (42000) - [Microsoft][SQL Native Client][SQL Server]Could not allocate space for object 'dbo.VPX_TEXT_ARRAY' in database 'VIM_VCDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup." is returned when executing SQL statement "INSERT INTO VPX_TEXT_ARRAY WITH (ROWLOCK) (ARRAY_ID, TYPE_ID, VALUE, MO_TYPE, MO_ID) VALUES (?, ?, ?, ?, ?)"

El recurso de mensaje está presente, pero el mensaje no se encuentra en la tabla de cadenas o mensajes
O algo similar. La calve es que la base de datos se ha llenado.

Solución

Deten el servicio de vCenter Server
En la base de datos de Vcenter ( VIM_VCDB )
Haz una copia de seguridad completa.

Abre la tabla dbo.VPX_PARAMETER para editar las primeras 200 filas.
Edita las filas:
event.maxAge  nuevo valor: 30
event.maxAgeEnabled value valor true
task.maxAge nuevo valor: 30

task.maxAgeEnabled value valor true

Luego ejecuta el procediminento almacenado dbo.cleanup_events_tasks_proc Le llevará bastante tiempo pero cuando acabe el vCenter irá como una seda.   Fuente: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1025914