パーティションの作成および管理

この項の内容:

パーティションの作成プロセス

パーティション・タイプの選択

データ・ソースとデータ・ターゲットの設定

ユーザー名とパスワードの設定

パーティション領域の定義

メンバーのマッピング

パーティションの検証

パーティションの保存

パーティション管理のプロセス

パーティションのテスト

アウトラインの同期化

複製パーティションの取込みまたは更新

パーティションの編集および削除

パーティション情報の表示

パーティション化とSSL

パーティションのトラブルシューティング

パーティションの作成プロセス

パーティションを作成すると、パーティション内の各データベースでは、パーティション定義ファイルを使用して、パーティションのデータ・ソース、データ・ターゲット、共有する領域などパーティションに関するすべての情報が記録されるようになります。パーティションを作成するには、データベース・マネージャ以上の権限が必要です。

パーティションの作成が完了したら、パーティションが含まれるデータベースをロードし、計算します。パーティションのロードと計算を実行するには、既存のルール・ファイルと計算スクリプトの変更が必要になる可能性があります。データ・ロードおよび次元構築の理解Essbaseデータベースの計算。を参照してください。

パーティション・タイプの選択

作成するパーティションのタイプを決定します:

  • 複製

  • 透過

  • リンク

パーティション・タイプを参照してください。

データ・ソースとデータ・ターゲットの設定

データ・ソースとデータ・ターゲットを定義します。その一環として、ソース・アプリケーションおよびデータベース、ターゲット・アプリケーションおよびデータベース、さらにそれぞれの場所を指定します。パーティション・タイプごとのサポートされているブロック・ストレージおよび集約ストレージのデータ・ソースとデータ・ターゲットの組合せについては、データ・ソースとデータ・ターゲットを参照してください。

  データ・ソースとデータ・ターゲットを設定するには:

  1. データ・ソースおよびデータ・ターゲットのアプリケーションとデータベースの名前を指定します。

    Oracle Essbase Administration Services Online Helpの「パーティションの接続情報の指定」を参照してください。

  2. データ・ソースとデータ・ターゲットが置かれているEssbaseサーバーの場所を指定します。

    Oracle Essbase Administration Services Online Helpの「パーティションの接続情報の指定」を参照してください。

    データ・ソースやデータ・ターゲットの名前にネットワーク別名を使用する場合は、使用しているシステム上のすべてのコンピュータに別名を適用する必要があります。それ以外の場合は、完全サーバー名を使用します。

    システム上のすべてのコンピュータに別名を適用するには、使用しているオペレーティング・システムのhostsファイルを編集します(このためにはrootの権限か管理権限が必要です):

    • Windows: %WINDIR%/system32/drivers/etc/hosts

    • UNIX: /etc/hosts

    次の構文を使用して、hostsファイルにエントリを追加します:

                IP_address
                 
                hostname
                .
                domainname
                 
                alias
                 [
                alias
                ]
             

    別名を1つ指定する例は、次のとおりです:

                172.234.23.1 myhost.mydomain abcdefg.hijk.123
             

    別名を複数指定する例は、次のとおりです:

                   172.234.23.1 myhost.mydomain abcdefg.hijk.123 lmnopqrs.tuvw.456
                

    注:

    localhostをソース・サーバーおよびターゲット・サーバーの別名として使用しないでください。

  3. オプション: データ・ソースまたはデータ・ターゲットを説明するノートを入力します。

    Oracle Essbase Administration Services Online Helpの「パーティションの接続情報の指定」を参照してください。

  4. オプション: 変更できるアウトラインを指定します。

    デフォルトでは、アウトラインの同期の際、データ・ソースのアウトラインへのすべての変更内容はデータ・ターゲットのアウトラインに上書きされます。反対に、データ・ターゲットのアウトラインへの変更内容でデータ・ソースのアウトラインが上書きされるように指定することもできます。

    アウトラインの同期化を参照してください。

ユーザー名とパスワードの設定

データ・ソースとデータ・ターゲットで使用するEssbaseのユーザー名とパスワードを指定する必要があります。データ・ソースとデータ・ターゲットで共通のユーザー名とパスワードを使用する必要があります。Essbaseでは、このユーザー名とパスワードを使用して、次の作業が行われます:

  • 複製パーティションおよび透過パーティションのデータ・ソースとデータ・ターゲット間でデータを転送します。エンド・ユーザーが特権付きデータを表示できないように、ローカル・セキュリティ・フィルタが適用されます。

  • あらゆるパーティション・タイプのデータベース・アウトラインを同期化します。

パーティション・データベースのセキュリティを参照してください。

  データ・ソースとデータ・ターゲットにユーザー名とパスワードを設定する方法については、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「パーティションの接続情報の指定」を参照してください。

パーティション領域の定義

パーティション内のデータ・ターゲットと共有するように、データ・ソース内の領域を定義または編集できます。領域はデータベース内のサブキューブであり、1つ以上の領域で構成されるパーティションです。たとえば、東部地区の実績データの最下位レベルにあるすべてのメジャーを1つの領域ととらえることができます。

複製領域を定義するときは、データ・ソースとデータ・ターゲットのセル数を揃えてください。2つのパーティションの形状は一致している必要があります。たとえば、データ・ソース内の領域に18個セルがある場合、これらの値を配置するため、データ・ターゲット内の領域にも18個セルが必要です。属性次元のセルはセル数にはカウントされません。

パーティション領域定義内で代替変数を使用すると、異なる時間の異なるデータを共有できる柔軟性が得られます。パーティション定義での代替変数を参照してください。

注:

領域定義を作成するときは、別名ではなくメンバー名を使用します。別名はEssbaseでは有効ですが、パーティションでは使用できません。

  パーティション領域を定義する方法については、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「パーティションの領域の定義」を参照してください。

メンバーのマッピング

パーティションを作成するには、Essbaseで、データ・ソースのすべての共有メンバーをデータ・ターゲットのメンバーにマッピングできる必要があります。パーティションのメンテナンスの要件(特にパーティションがメンバー属性に基づいている場合)を減少させるため、データ・ソースのメンバー名とデータ・ターゲットのメンバー名を同一にすることをお薦めします。

データ・ソースとデータ・ターゲットのメンバー数が同じで、同じメンバー名を使用している場合は、Essbaseで自動的にメンバーのマッピングが行われます。ユーザーは、パーティションを検証し、保存して、テストするだけで済みます。Essbaseでメンバーのマッピングが自動的に行われない場合は、手動でマッピングする必要があります。

次のいずれかの方法を使用して、データ・ソースのメンバーをデータ・ターゲットのメンバーにマッピングします:

  • 手動でメンバー名を入力するか、選択します。重複するメンバー名を入力するときは、修飾メンバー名を二重引用符で囲んで入力します。たとえば、"[State].[New York]"のように入力します。

  • 外部のデータ・ファイルからメンバーのマッピングをインポートします。

  • 領域固有マッピングを作成します。

注:

マッピングの指定では、メンバー名の代替変数を使用できます。パーティション定義での代替変数を参照してください。

メンバーをマッピングする方法については、Oracle Essbase Administration Services Online Helpの「パーティションでのグローバル・マッピングの定義」を参照してください。

異なる名前を持つメンバーのマッピング

データ・ソースのアウトラインとデータ・ターゲットのアウトラインに含まれるメンバーが異なる場合や、各アウトラインに含まれるメンバーの名前が異なる場合は、データ・ソースのメンバーをデータ・ターゲットのメンバーにマッピングする必要があります。次の例では、1番目と2番目のメンバー名は同じですが、3番目のメンバー名が異なっています:

      Source
             
      Target
      
Product      Product
   Cola         Cola
Year         Year
   1998         1998
Market       Market
   East         East_Region
   

データ・ソースのEastはデータ・ターゲットのEast_Regionに対応することがわかっているので、EastをEast_Regionにマッピングします。すると、データ・ターゲット内のEast_Regionの参照がすべてデータ・ソース内のEastをポイントするようになります。たとえば、データ・ソース内のCola、1998、Eastのデータ値が15の場合、データ・ターゲット内のCola、1998、East_Regionのデータ値は15になります。

次元数の異なるデータ・キューブのマッピング

データ・ソースとデータ・ターゲットに含まれる次元数が異なっている場合があります。ここでは、データ・ソースのアウトラインにデータ・ターゲットのアウトラインより多くの次元が含まれている例を紹介します:

      Source
             
      Target
      
Product      Product
   Cola         Cola
Market       Market
   East         East
Year
   1999
   1998
   1997
   

年次元のメンバー1997は、データ・ターゲットのVoidにマッピングできます。最初にデータ・ターゲットと共有するデータ・ソースの領域を定義します:

      Source
                              
      Target
      
@DESCENDANTS(Market), 1997    @DESCENDANTS(Market)
   

次に、データ・ソースのメンバーをデータ・ターゲットのVoidにマッピングします:

      Source
             
      Target
      
1997         Void
   

Voidは自動で表示されます。Voidを手動で入力するとエラーになる可能性があります。

追加の次元のメンバーが、領域定義に1つも含まれていない場合には、パーティションの検証を試みたときに、エラー・メッセージが表示されます。

注:

追加の次元のメンバーをマッピングすると、結果のパーティションにはマッピングされたメンバーのデータのみが反映されます。この例の場合、年次元には1999、1998、1997の3つのメンバーがあります。データ・ソースのメンバー1997をデータ・ターゲットにマッピングすると、結果のパーティションに1997年の製品データと市場データが反映されます。1998年と1999年の製品および市場データは抽出されません。

次の例は、データ・ターゲットが、データ・ソースよりも多くの次元を含むケースを示しています:

      Source
             
      Target
      
Product      Product
   Cola         Cola
             Market
                East
Year         Year
   1997         1997
   

このようなケースでは、最初にデータ・ソースとデータ・ターゲットの共有領域を定義します:

      Source
                         
      Target
      
@IDESCENDANTS(Product)   @IDESCENDANTS(Product), East
   

これで、データ・ターゲットの市場次元のメンバーEastを、データ・ソースのVoidにマッピングできます:

      Source
             
      Target
      
Void         East
   

データ・ターゲット内の市場次元のメンバーEastが、ターゲット領域の定義に含まれていない場合、パーティションの検証時にエラー・メッセージが返されます。

共有メンバーのマッピング

共有メンバーを使用して複製パーティションまたは透過パーティションを作成するときは、マッピングに含まれる実際のメンバー名を使用します。Essbaseでは、データ・ソースの実際のメンバーがマッピングされます。

メンバー・マッピングのインポート

テキスト・ファイルからメンバー・マッピングをインポートできます。マッピング・ファイルには拡張子.txtを付ける必要があります。サンプルのメンバー・ファイルには、次のすべての項目が含まれている必要があります(追加の列を除く):

図 59. メンバーのマッピングのインポート・ファイル

この図は、この図の前のテキストで説明されている、メンバー・マッピング・ファイルに含まれる情報を示しています。
  • データ・ソースのメンバー列(左) - データ・ソース内のメンバー名のリストです。メンバー名にスペースが含まれる場合、メンバー名を二重引用符で囲む必要があります。

  • データ・ターゲットのメンバー列(中央) - データ・ターゲット内のメンバー名のリストです。メンバー名にスペースが含まれる場合、メンバー名を二重引用符で囲む必要があります。

  • 非メンバー列(左) - 欠落したメンバーです。データ・ソース内の追加メンバーをデータ・ターゲット内のVoidにマッピングする場合や、データ・ターゲット内の追加メンバーをデータ・ソース内のVoidにマッピングする場合に使用します。

  • 区切り記号(列の間) - 列を区切るタブまたはスペースです。

  • 追加の列(右) - ファイルには、メンバー名を持たない追加の列を含めることができます。

  メンバー・マッピングをインポートする方法については、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「パーティションのメンバー・マッピングのインポート」を参照してください。

メンバーに関連付けられた属性のマッピング

データ・ソースの属性次元とメンバーをデータ・ターゲットに正確にマッピングして、パーティションが有効であることを確認します。

注:

複製パーティション内の属性次元メンバーのマッピングはできません(複製パーティションのルールを参照)。しかし、透過パーティション内とリンク・パーティション内の属性のマッピングは可能ですパーティションにおける属性を参照)。

次の例のデータ・ソースのアウトラインには、メンバー100 (Cola)を持つ製品次元が含まれています。子100-10と100-20はCaffeinated属性次元のメンバーTRUEに、子100-30はCaffeinated属性次元のメンバーFALSEに関連付けられています。

データ・ターゲットのアウトラインには、メンバー200 (Cola)を持つ製品次元が含まれています。子200-10と200-20はWith_Caffeine属性次元のメンバーYesに、子200-30はWith_Caffeine属性次元のメンバーNoに関連付けられています。

最初に、データ・ソースからデータ・ターゲットへ共有される領域を定義します:

      Source
                     
      Target
      
@DESCENDANTS(100)    @DESCENDANTS(200)
@DESCENDANTS(East)   @DESCENDANTS(East)
   

次に属性をマッピングします:

      Source
                     
      Target
      
100–10               200–10
100–20               200–20
100–30               200–30
Caffeinated          With Caffeine
Caffeinated_True     With_Caffeine_True
Caffeinated_False    With_Caffeine_False
   

属性Caffeinated_Trueを属性With_Caffeine_Noにマッピングすると、検証中にエラー・メッセージが返されます。データ・ソースのカフェイン入りコーラをデータ・ターゲットのカフェイン入りコーラに関連付ける必要があります。

属性次元または属性メンバーがデータ・ソースのアウトライン内に存在する場合、データ・ターゲットのアウトライン内には存在できません。属性次元または属性メンバーがデータ・ターゲットのアウトライン内に存在する場合、データ・ソース内のアウトライン内には存在できません。例:

      Source
               
      Target
      
Caffeinated
   True
   False
   

このケースでは、次の選択肢があります:

  • データ・ターゲットのアウトライン内にCaffeinated属性次元とそのメンバーを作成し、これらを製品次元と関連付けます。これで、これらの属性をデータ・ソースからデータ・ターゲットにマッピングできます。

  • データ・ソース内のCaffeinated属性次元を、データ・ターゲット内のVoidにマッピングします。

属性の詳細は、属性の操作。を参照してください。パーティション内の属性の一般情報については、パーティションにおける属性を参照してください。

拡張領域固有マッピングの作成

標準のメンバー・マッピングを使用して、データ・ソースのすべてのメンバーを、データ・ターゲットの対応箇所にマッピングできる場合は、拡張領域固有マッピングを実行する必要はありません。

ただし、Essbaseで、より細かいレベルでメンバーのマッピングの方法を制御する必要がある場合は、領域固有マッピングを使用する必要が生じることがあります。領域固有マッピングでは、特定の領域マップのコンテキストでのみ、ある領域のメンバーを別の領域のメンバーにマッピングできます。

領域間マッピングでは、次の処理を実行できます:

  • データの取得先ごとに、データを別々にマッピングします。

  • データ・ソースの複数のメンバーを、データ・ターゲットの単一のメンバーにマッピングします。

Essbaseでは、データ・ソース内の複数のメンバーをデータ・ターゲット内の単一のメンバーにマッピングする方法を決定できません。このため、ユーザーは、データのサブセットに1つのマッピング・ルールを適用できるまで、そのデータの分割方法を論理的に決定する必要があります。次に、このルールを領域固有マッピングのコンテキストで使用して、メンバーのマッピングを行います。

  領域固有マッピングを作成する方法については、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「パーティションでの領域固有のメンバー・マッピングの定義(オプション)」を参照してください。

例1: 拡張領域固有マッピング

データ・ソースおよびデータ・ターゲットには、次の次元およびメンバーが含まれます:

      Source
             
      Target
      
Product      Product
   Cola         Cola
Market       Market
   East         East
Year         Year
   1998         1998
   1999         1999
             Scenario
                Actual
                Budget
   

データ・ソースにはシナリオ次元がありません。かわりに、過去のデータは実績データ、未来のデータは予測データまたは予算データと見なされます。

データ・ソースの1998はデータ・ターゲットの1998, Actualに、データ・ソースの1999はデータ・ターゲットの1999, Budgetに対応することがわかっています。したがって、たとえばデータ・ソースのCola, East, 1998のデータ値が15の場合、データ・ターゲットのCola, East, 1998, Actualのデータ値は15になります。

マッピングできるのはメンバーの組合せではなくメンバーなので、1998を1998, Actualに単純にマッピングはできません。領域(1998と1998, Actual)を定義し、この領域の領域固有マッピングルールを作成します。

また、データ・ソースにはActualメンバーとBudgetメンバーがないので、これらのメンバーをデータ・ターゲットのVoidにマッピングする必要があります。

例2: 拡張領域固有マッピング

データ・ソースとデータ・ターゲットの構造が非常に異なっていても、同じタイプの情報を持つ場合、拡張領域固有マッピングを使用できます。

この方法は、たとえば、データ・ソースとデータ・ターゲットが、次の次元とメンバーを含む場合に機能します:

      Source
             
      Target
      
Market       Customer_Planning
   NY             NY_Actual
   CA            NY_Budget
                 CA_Actual
                 CA_Budget
Scenario
   Actual
   Budget
   

データ・ソースのNYとActualはデータ・ターゲットのNY_Actualに、データ・ソースのNYとBudgetはデータ・ターゲットのNY_Budgetに対応することがわかっています。したがって、たとえばデータ・ソースのNY, Budgetのデータ値が28の場合、データ・ターゲットのNY_Budgetのデータ値は28になります。

マッピングできるのはメンバーの組合せではなくメンバーなので、NY, ActualをNY_Actualに単純にマッピングはできません。領域(NYとActual、およびNY_Actual)を定義し、この領域の領域固有マッピングルールを作成します。

データ・ターゲットは、NYメンバーとCAメンバーを持たないため、データ・ソースからデータ・ターゲットに向かうときに、次元性が完全であるよう、これらのメンバーをデータ・ターゲットのVoidにマッピングすることが必要です。

パーティションの検証

パーティションを作成したら、使用する前に検証して、正確であることを確認します。データベース・マネージャ以上の権限が必要です。検証が完了したら、パーティション定義を保存します。必要に応じて、既存のパーティションを編集することもできます。

Essbaseでは、パーティション定義の検証時に、Essbaseサーバー上で、データ・ソースとデータ・ターゲットについて次の項目が確認されます:

  • 領域の定義が有効です(構文エラーがない)。

  • 指定されたデータ・ソースのメンバーが有効であることと、データ・ターゲット内の有効なメンバーにマッピングされていること。

  • すべての接続情報(すなわち、サーバー名、データベース名、アプリケーション名、ユーザー名およびパスワード情報)が正しいこと。

  • リンク・パーティションの場合、提供したデフォルトのユーザー名とパスワードが正しいこと。

  • 複製パーティションおよび透過パーティションの場合、複製ターゲットが複製ターゲットとオーバーラップしないこと。複製ターゲットが透過ターゲットとオーバーラップしないこと。透過ターゲットが透過ターゲットとオーバーラップしないこと。

  • 複製パーティションおよび透過パーティションの場合、パーティションのセル数が、データ・ソースとデータ・ターゲット上で同じであること。

  • 複製パーティションと透過パーティションの場合、領域の次元性が、データ・ソースとデータ・ターゲットで一致すること。

  • 結果が完全であることを検証するには、属性値に基づく透過パーティションを検証する必要があります。結果が不完全な場合でも、Essbaseでは、エラー・メッセージが表示されません。

検証後、パーティションを保存すると、パーティション定義は、データ・ソース・サーバーとデータ・ターゲット・サーバーの2つの異なる.ddbファイルに保存されます。

  パーティションを検証するには、次のツールを使用します:

ツール

トピック

場所

Administration Services

パーティションの検証

Oracle Essbase Administration Services Online Help

ESSCMD

VALIDATEPARTITIONDEFFILE

『Oracle Essbaseテクニカル・リファレンス』

MaxL

create partition

『Oracle Essbaseテクニカル・リファレンス』

パーティションの保存

パーティション定義の検証を完了した後、パーティション定義を次のいずれかの場所に保存できます:

  • データ・ソース・サーバーとデータ・ターゲット・サーバーの両方。パーティション定義は.ddbファイルに保管されます。

  • クライアント・マシン。パーティション定義は.ddbファイルに保管されます。

注:

マッピング・エラーがあるパーティションも保存できますが、マッピング・エラーを修正しないかぎり、そのパーティションを使用して行う操作は失敗します。

  パーティション定義を保存する方法については、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「パーティションの保存」を参照してください。

パーティション管理のプロセス

次の項では、パーティションを管理する方法について説明します。

パーティションのテスト

パーティションをテストするには:

  • Smart Viewまたはその他のツールを使用して、データ・ターゲットを表示し、ユーザーに正しいデータが表示されていることを確認します。

  • リンク・パーティションをテストする場合、Essbaseによって、望みのデータベースにリンクされていることと、デフォルトのユーザー名とパスワードが正しく機能していることを確認します。

アウトラインの同期化

データベースをパーティション化する際、Essbaseでは、データ・ソースのアウトライン内の各次元およびメンバーを、データ・ターゲットのアウトライン内の適切な次元およびメンバーにマッピングできる必要があります。2つのアウトラインを相互にマッピングした後、Essbaseではデータ・ソース内のデータをデータ・ターゲットから使用可能にできます。ただし、このためには、アウトラインが同期していて、パーティション定義が最新である必要があります。

一方のアウトラインに変更を加えると、2つのアウトラインの同期が失われます。アウトラインが同期していない場合、Essbaseによって複製パーティションと透過パーティションにできるかぎりの変更が加えられますが、Essbaseではデータ・ソース内のデータをデータ・ターゲット内で使用可能にできない場合があります。

Essbaseでは、ユーザーによるブロック・ストレージのアウトラインの変更が追跡されます。また、ブロック・ストレージのアウトラインの同期を確保するツールが提供されます。

注:

Essbaseでは、集約ストレージのアウトラインを自動的には同期できません。ソースおよびターゲットのアウトラインに、手動で同じ内容の変更を加える必要があります。

ソースのアウトラインとターゲットのアウトラインの設定

ブロック・ストレージのアウトラインを同期化する前に、どのアウトラインがソースのアウトラインであり、どのアウトラインがターゲットのアウトラインであるかを決める必要があります。

  • ソースのアウトラインは、アウトラインの変更元になるアウトラインです。

  • ターゲットのアウトラインは、アウトラインの変更が適用されるアウトラインです。

デフォルトでは、ソースのアウトラインは、データ・ソースと同じデータベースのアウトラインになります。これは、アウトラインとデータの変更のフローが同じ向きになるということです。たとえば、Eastデータベースがデータ・ソース、Companyデータベースがデータ・ターゲットの場合、デフォルトのソースのアウトラインはEastです。

データ・ターゲットのアウトラインをソースのアウトラインとして使用することもできます。アウトラインの構造(次元、メンバーおよびプロパティ)を全社レベルで集中管理し、アウトラインのデータ値を地区レベル(たとえばEast)で管理している場合、この方法をお薦めします。管理者は、Companyアウトラインに変更を加え、これらの変更をアウトラインの同期時に各地区のアウトラインに適用できます。

  • ソースのアウトラインの共有領域に変更を加えた場合、その内容をアウトラインの同期時にターゲットのアウトラインに適用できます。

  • ターゲットのアウトラインに変更を加えた場合、その内容をアウトラインの同期時にソースのアウトラインに適用できません。ターゲットのアウトラインの変更をソースのアウトラインに適用する場合は、アウトライン・エディタで変更します。データベース・アウトラインの作成および変更。を参照してください。

Essbaseにより、ターゲットのアウトラインに可能なかぎりの変更が更新されます。Essbaseがすべての変更を適用できない場合は、アプリケーション・ログでの詳細の確認を要求する警告メッセージが表示されます。アウトラインの同期に関するメッセージの先頭にはOUTLINE SYNCという文字列が付加されます。Essbaseサーバー・ログおよびアプリケーション・ログの表示を参照してください。

  ソースのアウトラインを設定する方法については、データ・ソースとデータ・ターゲットの設定を参照してください。

ブロック・ストレージ・アウトラインの同期化

  ブロック・ストレージ・アウトラインを同期化するには、次のツールを使用します:

ツール

トピック

場所

Administration Services

アウトラインの同期化

Oracle Essbase Administration Services Online Help

MaxL

refresh outline

『Oracle Essbaseテクニカル・リファレンス』

ESSCMD

GETPARTITIONOTLCHANGES

APPLYOTLCHANGEFILE

RESETOTLCHANGETIME

PURGEOTLCHANGEFILE

『Oracle Essbaseテクニカル・リファレンス』

注:

マルチバイト文字の非Unicodeモードのアウトラインの同期化では、MaxLシェルで実行されるESSCMDまたはMaxLステートメントなどの非Unicodeクライアントしか使用できません。

注:

アウトラインに含まれている動的計算メンバーに多数(約100以上)の子がある場合、そのアウトラインに対してアウトライン同期を実行できません。

変更の追跡

この項では、ソースのアウトラインを変更し、ソースのアウトラインとターゲットのアウトラインを同期化する手順について説明します。

  • ソースのアウトラインに変更を加えると、Essbaseでは次の処理が行われます:

    1. 変更をessxxxx.chgという名前の変更ログに記録します。xxxxxはパーティションの数です。ソースのアウトラインに複数のパーティションが存在する場合、Essbaseによってパーティションごとに変更ログが作成されます。

    2. パーティション定義(.ddb)ファイル内にそのパーティションのアウトライン変更タイムスタンプが作成されます。.ddbファイルには、ソースのアウトラインに対して定義されたパーティションごとに個別のタイムスタンプが記録されます。

  • アウトライン・ソースから変更を戻すと、Essbaseでは次の処理が行われます:

    1. ターゲットのアウトラインの.ddbファイル内にある最後に更新されたタイム・スタンプと、ソースのアウトラインのバックアップ(.dbb)ファイルの内にある最後に更新されたタイム・スタンプが比較されます。2つのアウトラインが異なるタイム・ゾーンのサーバー上に存在している場合でも、Essbaseではソースのアウトライン上にある最後に更新された時刻を使用して、アウトラインの同期化の終了時にターゲットのタイム・スタンプが更新されます。

    2. ソースのアウトラインが前回の同期の後で変更された場合、Essbaseによってソースのアウトラインの変更ログから変更内容が取得され、ターゲットのアウトラインの変更ログに適用されます。ソースのアウトライン上とターゲットのアウトライン上では、変更ログの名前が異なる場合があります。

  • ターゲットのアウトラインに適用する変更を選択すると、Essbaseでは次の処理が行われます:

    1. ターゲットのアウトラインに変更が適用されます。

    2. ターゲットのアウトラインの.ddbファイルにあるタイムスタンプがソースのアウトラインの時刻で更新されます。

注意

変更を適用しないように選択した場合、これらの変更は後から適用できません。

アウトライン同期中の共有メンバーの更新

パーティション領域に実際のメンバーまたは共有メンバーが1つ以上定義されていれば、ソースのアウトラインに含まれる実際のメンバーとその共有メンバーはターゲットのアウトラインに適用されます。図60に示すように、パーティション定義は@IDESC("Diet")です。親100と子(100-10、100-20、100-30)はパーティション領域内に定義されていません。親Dietとその子(100-10、100-20、100-30)はパーティション領域内に定義されています。Dietの子は実際のメンバーの共有メンバーです。

図 60. 共有メンバーとアウトライン同期

この図は、この図の前のテキストで説明されている、未定義領域のメンバーと定義済領域の共有メンバーを示しています。

未定義のパーティション領域で実際のメンバーを変更(実際のメンバー100-10への別名の追加など)すると、その変更は、定義されたパーティション領域の共有メンバーに関連付けられているため、ターゲットのアウトラインに適用されます。

その逆も当てはまります。共有メンバーがパーティション定義領域になく、その実際のメンバーがそこに存在する場合、未定義領域での共有メンバーへの変更は、ターゲットのアウトラインに適用されます。

定義済のパーティション領域内に実際のメンバー(または共有メンバー)を1つ以上持たないメンバーに変更を加えた場合、その変更はターゲットのアウトラインに適用されません。たとえば、図60では、親100は未定義のパーティション領域にあり、定義済パーティション領域内に関連する共有メンバーを持たないので、親100への変更はターゲットのアウトラインに適用されません。

パーティション領域内に共有メンバーがある場合、その親も含めることをお薦めします。この例の場合、親Dietの子が共有メンバーで定義済パーティション領域内にあるので、親Dietもアウトラインに含めます。

アウトラインの同期時には、暗黙の共有メンバーも共有メンバーと同様に扱われます。パーティション領域内に実際のメンバーまたは暗黙の共有メンバーが1つ以上定義されていれば、ソースのアウトライン内の実際のメンバーとその暗黙の共有メンバーは、ターゲットのアウトラインに適用されます。

図61の例で、パーティション定義@CHILD("A")を使用する場合、A1とA2は定義済パーティション領域内、A11、A21およびA22は未定義のパーティション領域内にあります。A11 (暗黙の共有メンバー)は未定義のパーティション領域にありますが、その親であるA1は定義済パーティション領域内にあるので、A11への変更はターゲットのアウトラインに適用されます。子A21とA22はパーティション領域内に定義されておらず、定義済パーティション領域内のメンバーに関連付けられていないので、これらの子メンバーへの変更はターゲットのアウトラインに適用されません。

ここでも、その逆が当てはまります。A1がパーティション領域で定義されておらず、その暗黙的な共有メンバーが定義されている場合は、A1に対する変更はターゲットのアウトラインに適用されます。

図 61. 暗黙的な共有メンバーとアウトライン同期

この図は、この図の前のテキストで説明されている、未定義領域および定義済領域のメンバーを示しています。

複製パーティションの取込みまたは更新

管理者は、複製パーティション内のデータを定期的に更新する必要があります。複製パーティションを更新する頻度は、最新データに対するユーザーのニーズによって決まります。Essbaseでは、複製パーティションの更新のタイミングを決定できるように、データ・ソースの前回の変更時刻とデータ・ターゲットの前回の更新時刻が追跡されています。この情報はデータ・ソース側で保存されています。データの複製を担当するのは、データ・ソース・サイトまたはデータ・ターゲット・サイトの管理者です。

Essbaseでは、パーティション内のどのセルが変更されたかも追跡されています:

  • 高速- 前回の複製以降にデータが変更されたセルのみ

  • 低速- すべてのセル

    特定の条件では、低速の更新を使用します。たとえば、ターゲットで失われたデータをリカバリするため、すべてのセルを更新する場合などです。

次のガイドラインに従います:

  • 前回の複製以降ソース・データが変更されていないときは、ユーザーがすべてのセルを更新しないかぎり、複製によってターゲット・データが更新されることはありません。

  • デフォルトでは、Essbaseで#MISSINGのセルが複製されます。#MISSINGのセルが複製されないようにするには、essbase.cfgファイル内のDISABLEREPLMISSINGDATA構成設定を使用します。『Oracle Essbaseテクニカル・リファレンス』を参照してください。

  • データ・ソース上のデータ・ブロックを削除した場合は、変更されたセルのみが更新されるように設定している場合でも、Essbaseによりデータ・ターゲット上のすべてのデータ・セルが更新されます。次のいずれかの方法で、データ・ソース側のデータ・ブロックを削除できます:

    • 計算スクリプト内でCLEARDATAコマンドを使用

    • データ・ロード時にルール・ファイル内で「組合せの消去」を使用

    • Administration ServicesでCLEAR UPPER、CLEAR INPUTまたはRESETDBコマンドを発行

    • レベル0のデータまたは入力データのみを記録するデータベースを再構築

    • 疎メンバーの削除

次の複製ができます:

  • データ・ソースに接続されたすべてのデータ・ターゲットの複製。

    たとえば、Sampeast.Eastデータベースに接続されたすべてのデータ・ターゲットを複製する場合、Samppart.Companyデータベース内のBudget、Actual、VarianceおよびVariance %メンバーがEssbaseによって更新されます:

  • データ・ターゲットに接続されたすべてのデータ・ソースからの複製。

    たとえば、Samppart.Companyデータベースに接続されたすべてのデータ・ソースからデータを複製する場合、EssbaseによりSampeast.EastデータベースからBudget、Actual、VarianceおよびVariance %メンバーが取得され、これらのデータによりSamppart.Companyデータベースが更新されます。

  複製パーティションを更新するには、次のツールを使用します:

ツール

トピック

場所

Administration Services

データの複製

Oracle Essbase Administration Services Online Help

MaxL

refresh replicated partition

『Oracle Essbaseテクニカル・リファレンス』

ESSCMD

GETUPDATEDREPLCELLS

GETALLREPLCELLS

PUTUPDATEDREPLCELLS

PUTALLREPLCELLS

『Oracle Essbaseテクニカル・リファレンス』

パーティションの編集および削除

パーティションを編集するときは、パーティションを作成するときと同じインタフェースを使用します。

パーティションを削除すると、Essbaseにより、データ・ソース・サーバーとデータ・ターゲット・サーバー上の.ddbファイルからパーティション定義が削除されます。

  パーティションを編集または削除する方法については、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「「パーティションの作成」または「パーティションの編集」ウィンドウを開く」および「パーティションの削除」を参照してください。

パーティション情報の表示

  パーティションに関する情報を表示するには、次のツールを使用します:

ツール

トピック

場所

Administration Services

「パーティションの作成」または「パーティションの編集」ウィンドウを開く

Oracle Essbase Administration Services Online Help

MaxL

display partition

『Oracle Essbaseテクニカル・リファレンス』

ESSCMD

PRINTPARTITIONDEFFILE

『Oracle Essbaseテクニカル・リファレンス』

パーティション化とSSL

保護モード(SSL)でパーティション化する場合は、次の考慮事項が適用されます:

  • パーティションのソースとターゲットのセキュリティ・プロトコルは同じである必要があります(両方ともがSSLを使用するか、どちらもSSLを使用しない)。

  • EssbaseがSSL接続を使用できるようにするには、ENABLESECUREMODEをTRUEに設定する必要があります。

  • CLIENTPREFERREDMODEをSECUREに設定することを検討します。

    CLIENTPREFERREDMODEが設定されていないか、または、FALSEに設定されているが、ENABLESECUREMODEがTRUEに設定されている場合は、:secureをHOST-NAME文字列に追加することにより、MaxLでパーティションを安全に作成およびリフレッシュできます。たとえば、

                
    login esbuser esbpassword on “localhost:6423:secure”;
             

パーティションのトラブルシューティング

次の表では、パーティションの使用時に起こる一般的な問題をリストします。

表 37. パーティションの問題のトラブルシューティング

状態

考えられる原因

解決策

複数のデータ・ターゲットに複製するとき、複製されないことがあります。

データ・ソースといずれかのデータ・ターゲットとの接続が複製操作中に切断されました。

複製操作を再試行します。使用できないデータベースがある場合は、使用可能なデータベースにのみ複製します。

データ・ターゲットにすべての情報が届いていません。

データ・ソースのアウトラインとデータ・ターゲットのアウトラインがマッピングできなくなっています。

データ・ソースのアウトラインとデータ・ターゲットのアウトラインを同期化して、やり直してみます。

新規のパーティションまたは最近変更したパーティションを検証して保存しましたが、正しく動作しません。

パーティションに依存関係の循環がある可能性があります。データベースAがデータベースBのソースである場合、データベースBを同じスライスのデータベースAのソースにすることはできません。

パーティションの定義を編集して、依存関係の循環を取り除きます。

ポートが不足しています。

ポートを使用してパーティションが他のデータベースに接続しています。

ポートを新規に購入します。

パーティションにアクセスしても、接続できません。

接続先のデータベースを含むアプリケーションを、誰かが削除、名前変更または移動しています。

問題が発生しているパーティションを編集して、新しいアプリケーション名または場所を指定します。

パーティション・データベースを相互に接続できません。

ホスト名が一致していない可能性があります。hostsファイルを使用してローカル・マシンに別名を指定したか確認してください。

データ・ソースとデータ・ターゲットの設定を参照してください。

ホスト名がサーバー間で同期化されていることを確認します。

Essbaseによってユーザーの編集内容が上書きされます。

パーティションを更新するたびに上書きする複製パーティション側のデータをユーザーが変更しています。

ユーザーの更新を許可しないようにパーティションを設定するか、ユーザーにデータが消えた理由を説明します。

Administration Servicesには、アウトラインの変更は反映されません。すなわち、変更されたアウトラインがあっても、同期されているアウトラインとしてリストされます。

  • ソースのアウトラインではなくターゲットのアウトラインが変更された可能性があります。Essbaseでは、ソースのアウトラインにしか変更が適用されません。

  • アウトラインの変更が、定義済パーティションに影響を及ぼすようになっていることを確認します。Essbaseでは、どのパーティションにも影響を及ぼさないアウトラインに対する変更は、適用されません。

パーティション定義を検討します。

データが混在しています。

パーティションが正しく設定されていない可能性があります。

パーティションをチェックして、必要なデータをパーティション化していることを確認します。

ソースのアウトライン内で移動したメンバーまたは次元が、同期化されたターゲットのアウトライン内に正しく反映されません。

パーティション内にない以前の次元を移動した場合、アウトラインの同期化の実行時に変更がターゲットのアウトラインに適用されないことがあります。パーティション内にない以前のメンバーを移動した場合も同様の問題が発生することがあります。

パーティション間でメンバーと次元の移動が行われないように、アウトラインの構造を設定します。それが不可能な場合は、ソースのアウトライン内で移動したメンバーや次元が反映されるようにターゲットのアウトラインを変更します。