メタデータのエクスポート

DESC VQL DATABASE ステートメントは、Virtual DataPort データベースから、またはサーバー全体から、すべてのメタデータをエクスポートします。これは、バックアップやマイグレーションにおいて非常に役立つ機能です。

このステートメントの構文は以下のとおりです。

データベースをエクスポートする DESC VQL DATABASE ステートメントの構文
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 ステートメント

  • ユーザーの定義と権限

  • サーバー設定

  • ...

このステートメントを実行するユーザーは管理者権限が必要です。

このコマンドの構成パラメーター (<property name>) は以下のとおりです。

  • includeCreateDatabase 。この値が yes で、データベースをエクスポートする場合、出力にはエクスポートしているデータベースを生成する CREATE DATABASE ステートメントが含まれます。

  • includeJars 。この値が yes の場合、出力には拡張機能に関連した Java クラスからなる jar が含まれます。それらの拡張機能の詳細と作成方法については、開発者ガイドの「 拡張機能の開発 」のセクションで説明しています。

  • includeEnvSpecificElements および includeNonEnvSpecificElements 。環境に依存したエレメントの VQL ステートメントだけを取得する場合 ('includeEnvSpecificElements' = 'yes')、あるいは環境に依存しないエレメントの VQL ステートメントだけを取得する場合 ('includeNonEnvSpecificElements' = 'yes') には、これらのオプションを使用します。

    たとえば、ユーザーが新しいビューを作成し、環境に依存したエレメント (データソースなど) の VQL ステートメントなしで、ビューの VQL ステートメントを取得したい場合は、オプション ('includeNonEnvSpecificElements' = 'yes', 'includeEnvSpecificElements' = 'no') を使用する必要があります。

    どのエレメントが環境に依存していて、どれが依存していないかを示したリストについては、管理ガイドの「 Exporting Environment-Dependent and Independent Elements to Different Files 」のセクションを参照してください。

    注釈

    この 2 つのオプションは非推奨であり、Denodo Platform の将来のバージョンでは削除される可能性があるため、代わりに includeProperties オプションを使用してください。

    非推奨のすべての機能のリストについては、「 Features Deprecated for Denodo Platform 8.0 」のセクションを参照してください。

  • includeScanners 。この値が yes の場合、出力には WWW ラッパーで使用される ITPilot スキャナーのバイナリファイルが含まれます。

  • includeStatistics 。この値が yes の場合、出力にはこのビュー用に収集された統計情報が含まれます。それらの情報は、コストベース最適化プロセスで使用されます。詳細については、管理ガイドの「 コストベースの最適化 」のセクションを参照してください。

  • includeCustomComponents 。この値が yes の場合、出力ファイルには既存の WWW データソースで使用される ITPilot カスタムコンポーネントが含まれます。

  • 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 はエクスポートするビューの統計情報を返しません。