vCenter Stops with Database Error
Today I had to do some troubleshooting on a vCenter 6.7 that stopped working.
The vCenter tried to start the vCenter service in a loop, but always stoppen.
I looked at the logs for the vCenter, when it was stating and after a minuts I found the problem.
2019-11-12T10:00:32.752+01:00 error vpxd[13536] [Originator@6876 sub=Default opID=HB-host-276676@5660-594724f6] [Vdb::VdbField] Invalid value written to column DEVICE_INFO_SUMMARY in table VPX_VM_SN_VIRTUAL_DEVICE 2019-11-12T10:00:32.752+01:00 error vpxd[13536] [Originator@6876 sub=Default opID=HB-host-276676@5660-594724f6] [Vdb::VdbField] String too large: 514 > max(510)
And quickly found a VMware KB, that describe a simuler problem on vCenter 6.5, but the solution was only to extend the column i the table to 512 chars, so we contacted VMware support, so clarify if we could alter the table column to more then 512, and they were okay with this, so we extended it to 600 chars, using the guide in the KB.
Afterward we did som root cause analyzes of why this happend.
The column i that table contains diffent devices attached to virtual machines, and one of the is ISO files, for datastore, and Content Library.
So looking in the table we found that there was VM’s that had mounted a ISO from a content library, with windows server 2019.
That string(chars) looks like this: “ISO [] /vmfs/volumes/5da72ead-8283dae4- 0718-3863dd16bc80/contentlib-cce696e6-6be1-41f3-b803- f2390daacc80/a12cd445-100a-42f7-a87e- e1448f2b0d65/SW_DVD9_Win_Server_STD_CORE_2019_1809.1_64Bit_English _DC_STD_MLF_X22-02970_f3c122b1-dec7-4598-6c69-6bab63f06a81.ISO”
And this is 257 characters log, and saved as double bytes, that’s 514 Chars.
Hi Allan,
Thank you for this useful article. I had this same issue yesterday, support tried same steps to alter db to 512 and it wasn’t working, the string was 514 and finally I resolved it by unmounting the iso and deleting the OVF snapshot of the vm using the iso file.
Just so I have better understanding Can you explain more about your last sentence “And this is 257 characters log, and saved as double bytes, that’s 514 Chars.”
thanks,
Armen
The database uses double byte to save text strings, to accommodate traditional Chinese characters, so if the text string i 257 ACSII characters long, i will be using 514 chars/bytes.