如果 vCenter Server 的数据库发生迁移,并且在迁移之后 load_stats_proc_mssql.sql 或 load_stats_proc_oracle.sql 存储过程缺失,则会出现此问题。
要确定是否收集数据并存储在数据库中,请执行以下操作:
- 连接数据库并运行以下 SQL 语句:
select count (*) from vpx_hist_stat1
select count (*) from vpx_sample_time1
- 如果没有数据返回,将不会有任何数据加载到数据库中。必须重新创建load_stats_proc存储过程。有关详细信息,请参见 VirtualCenter 2.5 数据库升级失败 (1009950) (VirtualCenter 2.5 database upgrade fails (1009950))。
- 重新创建存储过程时,按照针对 MS SQL 或 Oracle 的步骤进行操作。
要针对 MS SQL 解决此问题,请执行以下操作:
- 将文件 C:\Program Files\VMware\Infrastructure\VirtualCenter Server\load_stats_proc_mssql.sql 从 vCenter Server 复制到托管 vCenter Server 数据库的服务器。
- 打开 SQL Enterprise Manager 并输入相应的凭据以获取 SQL 的访问权限。
- 单击文件>打开>文件。
- 选择 load_stats_proc_mssql.sql 文件。
- 单击确定。
注意:如果系统提示输入用户名和密码,则相应进行输入。
- 确保在“可用数据库”下拉菜单中选择的数据库是 vCenter Server 数据库而非主数据库。
- 单击执行。如果作业创建成功,将显示一条消息,内容为 Command(s) Completed successfully。
- 在对象资源管理器上单击刷新按钮。
要针对 Oracle 解决此问题,请执行以下操作:
- 将文件 C:\Program Files\VMware\Infrastructure\VirtualCenter Server\load_stats_proc_oracle.sql 从 vCenter Server 复制到托管 vCenter Server 数据库的服务器。
- 打开 SQL Plus。
- 单击文件>打开>文件。
- 选择 load_stats_proc_oracle.sql 文件。
- 单击确定。
- 确保已选择 vCenter 数据库。
- 单击执行查询。如果作业更新成功,则显示一条确认程序更新的消息。
创建存储过程后,vCenter Server 有 30 分钟的时间来收集数据,然后验证过去日期的性能数据是否可用。
注意:要验证是否要立即收集数据,请在创建存储过程后等待 5 分钟时间,然后对 vCenter Server 数据库运行此 SQL 语句:
select count (*) from vpx_hist_stat1
在某些情况下,可能需要运行其他存储过程。有关详细信息,请参见其他信息 (Additional Information) 部分。
注意:在vpxd.log中搜索 SQL Native Client 可帮助确定缺失的存储过程。