千家信息网

vcenter5.5升级到6.0失败的分析与思考--数据库大于50G

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,事件:vcenter5.5升级到6.0失败1.升级时,有十几个Pl (存储过程)失效2.30G temp 表空间很快就被用完,临时扩充表空间到99G,空间也快被用满。3. 检查升级过程中执行的SQL语
千家信息网最后更新 2026年10月31日vcenter5.5升级到6.0失败的分析与思考--数据库大于50G

事件:vcenter5.5升级到6.0失败

1.升级时,有十几个Pl (存储过程)失效

2.30G temp 表空间很快就被用完,临时扩充表空间到99G,空间也快被用满。

3. 检查升级过程中执行的SQL语句,发现如下一条语句执行时间超长

INSERT INTO VPX_HIST_STAT1_224 SELECT INSERTED.COUNTER_ID,HS.TIME_ID,SUM(STAT_VAL) FROM VPX_HIST_STAT1_224 HS INNER JOIN VPX_STAT_COUNTER SC ON HS.COUNTER_ID = SC.COUNTER_ID INNER JOIN VPX_DEVICE D ON SC.DEVICE_ID=D.DEVICE_ID INNER JOIN VPX_OBJECT_HIERARCHY H ON SC.ENTITY_ID = H.STAT_ENTITY_ID INNER JOIN (SELECT SC.ENTITY_ID, SC.COUNTER_ID, CASE WHEN SD49.NAME='swapused' AND SD49.GROUP_NAME='mem' AND SD49.ROLLUP_TYPE=0 THEN (SELECT ID FROM VPX_STAT_DEF WHERE NAME='swapped' AND GROUP_NAME='mem' AND ROLLUP_TYPE=0) ELSE SC.STAT_ID END MODSTAT_ID, NC.AGGR_TO, NC.AGGR_TYPE FROM VPX_STAT_ID T INNER JOIN VPX_STAT_COUNTER SC ON SC.ENTITY_ID=T.ID INNER JOIN VPX_NEW_COUNTERS NC ON NC.COUNTER_ID = SC.STAT_ID INNER JOIN VPX_STAT_DEF SD49 ON SD49.ID = SC.STAT_ID) INSERTED ON H.PARENT_STAT_ENTITY_ID=INSERTED.ENTITY_ID AND INSERTED.MODSTAT_ID=SC.STAT_ID AND (INSERTED.AGGR_TYPE=H.ENTITY_TYPE OR H.ENTITY_TYPE='R' ) AND (H.ENTITY_TYPE=INSERTED.AGGR_TO OR (INSERTED.AGGR_TO='C' AND H.ENTITY_TYPE IN ('V','H'))) WHERE D.DEVICE_NAME IS NULL GROUP BY HS.TIME_ID,SC.STAT_ID,INSERTED.COUNTER_ID

现象: 此语句一直被执行,temp 里空间也是被此语句占满

4. 在升级界面没有反应一个多小时后,报升级失败。


分析:

升级过程在同版本的其他vc上非常顺利,但这个生产VC上却报错。检查了下库,发现在这个VC上,VCTBS表空间有74G,B比其他VC上的数据库都大。


翻看官方的KB,发现一个KB中提到如果数据库过大超50G,表的行数超8亿,容易出现升级缓慢和失败,需要重新减小数据库尺寸再升级。

如果vCenter Server数据库是非常大的(50 GB或更多),在vpx_hist_stat#表的行数很高(8亿以上),数据库汇总脚本可能难以处理的数据量。要使汇总的脚本运行速度更快,则需要减少vCenter Server数据库的大小。



分析:

要减小 vCenter Server 数据库的大小,可以将删除所有历史数据。 但为了安全,需要保留一些历史性能数据而不是全部删除。


解决:

1、确保已经完好备份 vCenter Server Database。


2、关闭 VMware VirtualCenter Server 服务及任何其他使用该数据库的服务


3、截断 VPX_HIST_STAT1 表及相应的 VPX_SAMPLE_TIME1 表。 截断完成后,验证汇总作业现在是否已成功完成。


要截断表,请执行以下 SQL 语句:

truncate table VPX_HIST_STAT1;

注意: 在 vCenter Server 5.1 和 5.5 中,表名称为 VPX_HIST_STAT1_n。

truncate table VPX_SAMPLE_TIME1;

注意: 要减小 vCenter Server 数据库的大小,还可以删除 VPX_EVENT、VPX_EVENT_ARG 和 VPX_TASK 表中的数据。 要删除这些表中的数据,请参见 Purging old data from the database used by vCenter Server (1025914) 或 Purging old data from the database used by VirtualCenter 2.x (1000125)。

如果汇总作业未成功完成,则您可能需要截断 VPX_HIST_STAT2 表及相应的 VPX_SAMPLE_TIME2 表。 继续截断 VPX_HIST_STAT[1-4] 表及相应的VPX_SAMPLE_TIME[1-4] 表,直到汇总作业成功完成。

注意: vCenter Server 4.1 和 5.0 中的以下其他表也可以截断以进一步减小 vCenter Server 数据库的大小。 在处理性能数据并将其移至VPX_HIST_STAT1 之前,VPX_TEMPTABLEx 表是性能数据的暂存/缓存区域。

truncate table VPX_TEMPTABLE0;
truncate table VPX_TEMPTABLE1;
truncate table VPX_TEMPTABLE2;
实际解决办法:

按以下步骤来操作

  1. 1. https://kb.vmware.com/kb/2110031 下载ORACLE脚本

  2. 2. 上传到ORACLE服务器上

  3. 3. 运行脚本

SQL> @/2110031_Oracle_task_event_stat.sql

Table created.

…..

Enter value for 1: 1

Enter value for 2: 1

Enter value for 3: 1

-------------------------------------------------------------------

Database cleanup may take long time depends on size of VPX_TASK,

VPX_EVENT, VPX_SAMPLE_TIME1, VPX_SAMPLE_TIME2, VPX_SAMPLE_TIME3,

VPX_SAMPLE_TIME4 and all VPX_HIST_STATx_y tables.

-------------------------------------------------------------------

Staring cleanup database at 03-07-2017 09:48:41

---------------------------------------------------------------

Deleting tasks older than 03-06-2017 01:48:41

Deleting events older than 03-06-2017 01:48:54

Deleting statistics older than 03-06-2017 01:50:01

---------------------------------------------------------------

Cleanup database completed at 03-07-2017 09:50:44

Table dropped.

…

  1. 4. 正常升级.

  2. 5. 检查临时表空间使用率

TABLESPACE_NAME TOTAL_BYTES FREE_BYTES USE_BYTES USE

------------------------------ ----------- ----------- ----------- -------

SYSAUX 1,670.000 208.250 1,461.750 87.53%

UNDOTBS1 6,075.000 4,031.063 2,043.938 33.65%

VUM 1,024.000 1,013.688 10.313 1.01%

USERS 5.000 3.688 1.313 26.25%

SYSTEM 820.000 9.125 810.875 98.89%

VCTBS 73,727.984 62,865.250 10,862.734 14.73%

TEMP 28,672.000 23,132.000 5,540.000 19.32%

然后等升级完成就可以了

关于汇总脚本

  1. 要运行汇总脚本,请执行以下步骤:

    1. 使用 SQL Management Studio 连接到 vCenter Server 的 SQL 数据库。

    2. 导航到 SQL Server Agent > 作业。

    3. 选择各个汇总作业,然后右键单击并选择启动作业于步骤。

  2. 启动 VMware VirtualCenter Server 服务及任何其他在步骤 2 中停止的服务。

截断 vCenter Server 5.1、5.5 和 6.0 中的所有性能数据

有关截断 vCenter Server 和 vCenter Server Appliance 5.1、5.5 及 6.0 中数据的信息,请参见 Selective deletion of tasks, events, and historical performance data in vSphere 5.x and 6.x (2110031)

数据 数据库 升级 空间 脚本 作业 语句 服务 大小 性能 步骤 成功 过程 检查 运行 分析 历史 处理 选择 完好 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技 关于新基建和互联网科技 深圳互联网络科技有限公司 互联网科技媒体 互联网金融科技创新 时间互联网络科技 互联网养老 桔豆科技 广西拼得多互联网科技有限公司 成都玖崟互联网科技有限公司乐商圈怎么样 华服互联网科技官网 语蝶互联网科技有限公司 青岛科技大学互联网大赛研究生 青海科技产业互联网发展 深圳市罗太互联网科技有限公司 从那以后互联网科技有限公司 广州燕处互联网科技有限公司 广州梦谷互联网科技有限公司领导 世界互联网科技成果奖 互联网时代科技型公司的机会 唐山双旺合互联网科技产业园 互联网络科技有限公司 湖南洣水互联网科技有限公司扣款 互联网科技商业 开一家科技互联网公司需要多少钱 特约风豹互联网科技为什么扣费 济南有互联网科技公司吗 工业互联网山东科技大学 2021世界互联网领先科技成果发布 广东鹅鹅鹅互联网科技有限公司 广西泛欧互联网科技有限公司
0