セル管理ツールの dbextract コマンドを使用すると、vCloud Director データベースからデータをエクスポートできます。

データベース テーブルをエクスポートするには、次の形式でコマンドラインを使用します。
cell-management-tool dbextract options
表 1. セル管理ツールのオプションと引数、dbextract サブコマンド
オプション 引数 説明
--help (-h) なし このカテゴリで使用可能なコマンドの概要を示します。
-categories エクスポートするテーブル カテゴリのカンマ区切りリスト。 任意。NETWORKING が唯一サポートされているカテゴリです。
-dataFile エクスポートするデータを記述したファイルへの絶対パス。 任意。指定しない場合、このコマンドでは $VCLOUD_HOME/etc/data_to_export.properties が使用されます。エクスポートするテーブルと列の指定 を参照してください。
-dumpFolder ダンプを作成するフォルダの絶対パス。フォルダは存在していて、vCloud から書き込み可能である必要があります。 すべてのデータはこのフォルダ内のファイルにエクスポートされます。
-exportSettingsFile データ エクスポート設定プロパティ ファイルへの絶対パス。 任意。指定しない場合、このコマンドでは $VCLOUD_HOME/etc/data_export_settings.ini が使用されます。エクスポートする行の制限と順序 を参照してください。
-properties データベース接続プロパティ ファイルへの絶対パス。 任意。指定しない場合、このコマンドでは、$VCLOUD_HOME/etc/global.properties のデータベース接続プロパティが使用されます。プロパティ ファイルの指定 を参照してください。
-tables テーブルのカンマ区切りリスト。 任意。個々のテーブル名がわかるようにしてすべてのテーブルをエクスポートします。

プロパティ ファイルの指定

デフォルトで dbextract コマンドは、現在のセルの $VCLOUD_HOME/etc/global.properties ファイルにあるデータベース接続情報を使用して vCloud Director データベースからデータを抽出します。別の vCloud Director データベースからデータを抽出するには、ファイルでデータベース接続プロパティを指定し、コマンドラインで -properties オプションを使用してそのファイルへのパス名を指定します。プロパティ ファイルは、次の形式に従う UTF-8 ファイルです。

username=username
password=password
servicename=db_service_name
port=db_connection_port
database-ip=db_server_ip_address
db-type=db_type
username
vCloud Director データベースのユーザー名。
password
vCloud Director データベースのパスワード。
db_service_name
データベース サービス名。たとえば、 orcl.example.com
db_connection_port
データベース ポート。
db_server_ip_address
データベース サーバーの IP アドレス。
db_type
データベース タイプ。 Oracle または MS_SQLにする必要があります。

エクスポートするテーブルと列の指定

エクスポートするデータ セットを制限するには、-exportSettingsFile オプションを使用し、エクスポートする個々のテーブルと、任意で各列を指定する data_to_export.properties ファイルを作成します。このファイルは、行を何も含まないか、TABLE_NAME:COLUMN_NAME 形式の行を含んだ UTF-8 ファイルです。

TABLE_NAME
データベース内のテーブルの名前。テーブル名の一覧を表示するには、すべてのテーブルをエクスポートします。
COLUMN_NAME
指定した TABLE_NAME 内の列の名前。

このサンプルの data_to_export.properties ファイルでは、ACL テーブルと ADDRESS_TRANSLATION テーブルから列をエクスポートします。

ACL:ORG_MEMBER_ID
ACL:SHARABLE_ID
ACL:SHARABLE_TYPE
ACL:SHARING_ROLE_ID
ADDRESS_TRANSLATION:EXTERNAL_ADDRESS
ADDRESS_TRANSLATION:EXTERNAL_PORTS
ADDRESS_TRANSLATION:ID
ADDRESS_TRANSLATION:INTERNAL_PORTS
ADDRESS_TRANSLATION:NIC_ID

このコマンドでは、このファイルが $VCLOUD_HOME/etc/data_to_export.properties に存在すると想定していますが、別のパスを指定することもできます。

エクスポートする行の制限と順序

どのテーブルの場合でも、エクスポートする行の数とエクスポートされる行の順序を指定できます。-exportSettingsFile オプションを使用し、個々のテーブルを指定する data_export_settings.ini ファイルを作成します。このファイルは、エントリが何もないか、次の形式のエントリを含んだ UTF-8 ファイルです。

[TABLE_NAME]
rowlimit=int
orderby=COLUMN_NAME
TABLE_NAME
データベース内のテーブルの名前。テーブル名の一覧を表示するには、すべてのテーブルをエクスポートします。
COLUMN_NAME
指定した TABLE_NAME 内の列の名前。

このサンプルの data_export_settings.ini では、AUDIT_EVENT テーブルからエクスポートされるデータを先頭の 10000 行に制限し、event_time 列の値を基準に行の順序を指定しています。

[AUDIT_EVENT]
rowlimit=100000
orderby=event_time

このコマンドでは、このファイルが $VCLOUD_HOME/etc/data_export_settings.ini に存在すると想定していますが、別のパスを指定することもできます。

現在の vCloud Director データベースからのすべてのテーブルのエクスポート

この例では、現在の vCloud Director データベースから /tmp/dbdump ファイルにすべてのテーブルをエクスポートします。

        [root@cell1 /opt/vmware/vcloud-director/bin]#
        ./cell-management-tool dbextract -dumpFolder /tmp/dbdump
        This utility outputs data from your vCloud Director system that may contain sensitive data. Do you want to continue and output the data (y/n)?
        y
        Exporting data now. Please wait for the process to finish Exported 144 of 145 tables.