メタデータのエクスポート¶
DESC VQL DATABASE
ステートメントは、Virtual DataPort データベースから、またはサーバー全体から、すべてのメタデータをエクスポートします。これは、バックアップやマイグレーションにおいて非常に役立つ機能です。
このステートメントの構文は以下のとおりです。
DESC VQL DATABASE [ <database_name> ]
(
'<property name>' = { 'yes' | 'no' }
[ ,'<property name>' = { 'yes' | 'no' } ]*
)
DESC VQL DATABASE
ステートメントが <database_name>
パラメータを含む場合は、データベースからすべてのメタデータがエクスポートされます。ユーザーの定義とその権限に関するメタデータは 含まれません 。
DESC VQL DATABASE
ステートメントが <database_name>
パラメータを含まない場合、以下のようなサーバー全体のメタデータがエクスポートされます。
サーバー全体のメタデータおよび
CREATE DATABASE
ステートメントユーザーの定義と権限
サーバー設定
...
このステートメントを実行するユーザーには、管理者権限または metadata_export
ロールが必要です (「 プロパティファイルへのエクスポート 」セクションの「metadata_export ロールによるエクスポート」を参照)。
このコマンドの構成パラメータ (<property name>
) は以下のとおりです。
includeCreateDatabase
。この値がyes
で、データベースをエクスポートする場合、出力にはエクスポートしているデータベースを生成するCREATE DATABASE
ステートメントが含まれます。includeJars
。この値がyes
の場合、出力には拡張機能に関連した Java クラスからなる jar が含まれます。それらの拡張機能の詳細と作成方法については、開発者ガイドの「 拡張機能の開発 」のセクションで説明しています。includeEnvSpecificElements
およびincludeNonEnvSpecificElements
。環境に依存したエレメントの VQL ステートメントだけを取得する場合 ('includeEnvSpecificElements' = 'yes'
)、あるいは環境に依存しないエレメントの VQL ステートメントだけを取得する場合 ('includeNonEnvSpecificElements' = 'yes'
) には、これらのオプションを使用します。たとえば、ユーザーが新しいビューを作成し、環境に依存したエレメント (データソースなど) の VQL ステートメントなしで、ビューの VQL ステートメントを取得したい場合は、オプション
('includeNonEnvSpecificElements' = 'yes', 'includeEnvSpecificElements' = 'no')
を使用する必要があります。どのエレメントが環境に依存していて、どれが依存していないかを示したリストについては、管理ガイドの「 環境に依存するエレメントと依存しないエレメントを別々のファイルにエクスポートする 」のセクションを参照してください。
注釈
この 2 つのオプションは非推奨であり、Denodo Platform の将来のバージョンでは削除される可能性があるため、代わりに
includeProperties
オプションを使用してください。非推奨のすべての機能のリストについては、「 Denodo Platform で廃止された機能 」のセクションを参照してください。
includeStatistics
。この値がyes
の場合、出力にはこのビュー用に収集された統計情報が含まれます。それらの情報は、コストベース最適化プロセスで使用されます。詳細については、管理ガイドの「 コストベースの最適化 」のセクションを参照してください。dropElements
。この値がyes
の場合 (デフォルト)、DROP ... CASCADE
コマンドが各CREATE
コマンドの前に出力されます。この値がno
の場合、各CREATE
コマンドの前のDROP
センテンスは出力結果に含まれません。replaceExistingElements
。この値がyes
の場合、エレメントを作成する VQL ステートメントはCREATE OR REPLACE ...
のように出力されます。この値が
no
の場合 (デフォルト)、VQL ステートメントはCREATE ...
のようになります (OR REPLACE
なし)。そのため、同じ種類のエレメントがすでに存在する場合、このコマンドは失敗します。通常、このパラメータは、dropElements
と組み合わせて使用します。例:
DESC VQL DATASOURCE JDBC oracle_ds ('dropElements' = 'no', 'replaceExistingElements' = 'yes');
この例では、
CREATE OR REPLACE DATASOURCE JDBC oracle_ds...
が返されます。このコマンドが実行されると、この JDBC データソースが存在しない場合は新たに作成されます。この名前の JDBC データソースがすでに存在する場合は、それが置き換えられます。次のコマンドを実行します。
DESC VQL DATASOURCE JDBC oracle_ds;
結果は次のようになります。
DROP DATASOURCE JDBC oracle_ds CASCADE; CREATE DATASOURCE JDBC oracle_ds...
最初のコマンドが実行されると、データソースとともに、 すべてのビューとそのビューに依存する他のエレメント が削除されます。次に、データソースが作成されます。
exclude_database_elements
。この値がyes
の場合、出力ファイルにはデータベースのエレメントは含まれず、権限とデータベース構成だけが含まれます。この値がno
の場合、出力ファイルにはデータベースのすべてのエレメントが含まれます。
例:
次のステートメントは、このデータベースのビューの統計情報を含めて、データベース「customer360」をエクスポートします。
DESC VQL DATABASE customer360 ('includeCreateDatabase' = 'yes', 'includeStatistics' = 'yes', 'dropElements' = 'no', 'replaceExistingElements' = 'yes')
パラメータ 'includeStatistics' = 'yes'
を指定しないと、DESC VQL はエクスポートするビューの統計情報を返しません。