使用单元管理工具的 dbextract 命令可从 vCloud Director 数据库中导出数据。

要导出数据库表,请使用以下形式的命令行:
cell-management-tool dbextract options
表 1. 单元管理工具选项和参数,dbextract 子命令
选项 参数 描述
--help (-h) 提供此类别中可用命令的摘要。
-categories 要导出表类别的逗号分隔列表。 可选。NETWORKING是唯一受支持的类别
-dataFile 描述要导出数据的文件的绝对路径。 可选。如果不提供,则命令将使用 $VCLOUD_HOME/etc/data_to_export.properties。请参见指定要导出的表和列
-dumpFolder 要在其中创建转储的文件夹的绝对路径。该文件夹必须存在且可由 vcloud.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
数据库类型。必须为 OracleMS_SQL

指定要导出的表和列

若要限制导出的数据集,请使用 -exportSettingsFile 选项,并创建指定要导出的单个表和列(可选)的 data_to_export.properties 文件。此文件是 UTF-8 文件,它可以为空,也可以包含多个 TABLE_NAME:COLUMN_NAME 形式的行。

TABLE_NAME
数据库中表的名称。若要查看表名称的列表,请导出所有表。
COLUMN_NAME
指定的 TABLE_NAME 中列的名称。

此示例 data_to_export.properties 文件从 ACLADDRESS_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.