vCenter Server 6.5 にアップグレードまたは移行するとデータベース アップグレードが原因で失敗する
search cancel

vCenter Server 6.5 にアップグレードまたは移行するとデータベース アップグレードが原因で失敗する

book

Article ID: 341825

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

vCenter Server 6.5 にアップグレードまたは移行すると、初回起動中にエラー「データベースのインプレース アップグレードに失敗しました (Database in-place upgrade failed)」で失敗する。

vcdb_inplace.err ログ ファイルに、次の出力が記録される。
Error while executing ./Upgrade-v2015-to-v2016/postgresql/upgrade_PostgreSQL.sql:1138, reason: Cannot execute statement(rc=-1).ALTER TABLE VPX_VM_DS_SPACE ADD CONSTRAINT FK_VPX_VM_DS_SPACE1 FOREIGN KEY(VM_ID) REFERENCES VPX_VM (ID) ON DELETE CASCADE;




Symptoms:
免責事項:これは英文の記事「Upgrade or Migration to vCenter Server 6.5 Fails because of Database Upgrade (2147558)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


Environment

VMware vCenter Server 6.5.x
VMware vCenter Server Appliance 6.5.x

Resolution

  1. vCenter Server を、アップグレードまたは移行する前の状態にリストアします。
  2. vCenter Server データベースをバックアップからリストアします。
  3. vCenter Server データベースのパスワードを取得します。https://kb.vmware.com/kb/2110031 を参照してください。
  • Microsoft SQL Server Express
  1. vCenter Server マシンに管理者としてログインします。
  2. コマンド プロンプトを開き、次のコマンドを実行します。
    sqlcmd -E -S IP-address-or-FQDN-of-the-database-machine\instance_name -d database-name

  • Microsoft SQL Server
  1. Microsoft SQL Server がインストールされているマシンに管理者としてログインします。
  2. コマンド プロンプトを開き、次のコマンドを実行します。
    sqlcmd -S IP-address-or-FQDN-of-the-database-machine\instance_name -U vCenter-Server-database-user -P password -d database-name

  • Oracle
  1. Oracle データベース マシンに管理者としてログインします。
  2. vCenter Server データベースのユーザー名とパスワードを使用して、sqlplus にログインします。
    sqlplus vCenter-Server-database-user/password

  • PostgreSQL
  1. vCenter Server マシンに管理者としてログインします。
  2. psql を使用してスクリプトを実行し、プロンプトが表示されたらデータベースのパスワードを入力します。
  • vCenter Server の場合は、コマンド プロンプトを開き、次のコマンドを実行します。
    %VMWARE_CIS_HOME%\vPostgres\bin psql -U vCenter-Server-database-user -d database-name
  • vCenter Server Appliance の場合は、アプライアンスのシェルにログインし、次のコマンドを実行します。
    /opt/vmware/vpostgres/current/bin/psql -U vCenter-Server-database-user -d database-name

  • vCenter Server データベースにログインし、次のコマンドを実行します。
    DELETE FROM VPX_VM_CONFIG_INFO WHERE ID NOT IN (SELECT ID FROM VPX_VM );
    DELETE FROM VPX_VM_STATIC_OVERHEAD_MAP WHERE VM_ID NOT IN (SELECT ID FROM VPX_VM );
    DELETE FROM VPX_VM_FILE_LAYOUT_EX WHERE VM_ID NOT IN (SELECT ID FROM VPX_VM );
    DELETE FROM VPX_VM_DS_SPACE WHERE VM_ID NOT IN (SELECT ID FROM VPX_VM );
    DELETE FROM VPX_VM_FLE_DISK_LAYOUT WHERE VM_ID NOT IN (SELECT ID FROM VPX_VM );
    DELETE FROM VPX_COMPUTE_RESOURCE_DAS_VM WHERE VM_ID NOT IN (SELECT ID FROM VPX_VM );
    DELETE FROM VPX_VM_FLE_FILE_INFO WHERE VM_ID NOT IN (SELECT ID FROM VPX_VM );
    DELETE FROM VPX_VM_FLE_SNAPSHOT_LAYOUT WHERE VM_ID NOT IN (SELECT ID FROM VPX_VM );
    DELETE FROM VPX_COMPUTE_RESOURCE_DRS_VM WHERE VM_ID NOT IN (SELECT ID FROM VPX_VM );
    DELETE FROM VPX_GUEST_DISK WHERE VM_ID NOT IN (SELECT ID FROM VPX_VM );

  • アップグレードまたは移行を、もう一度実行します。


Additional Information

Upgrade or Migration to vCenter Server 6.5 Fails because of Database Upgrade