ブロック・ストレージ・データベースに対するバックアップと復元の使用方法

バックアップと復元の機能は、ブロック・ストレージ・データベースに適用されます。

データベースをバックアップおよび復元するには、管理者役割が必要です。

データベースのバックアップ中、Essbaseは次のタスクを実行します:

  1. データベースを読取り専用モードおよび排他ロック・モードに設定すると、アーカイブ・プロセス中はデータベースの更新が行われなくなります。

  2. 表2にリストされているデータベース・ファイルのコピーを、Essbaseサーバー・コンピュータ上にあるアーカイブ・ファイルに書き込みます。

    データベース・アーカイブ・ファイルの構成と指定を参照してください。

  3. データベースが読取り書込みモードに戻ります。

表2に、自動的にバックアップされるEssbaseデータベース・ファイルをリストして説明します。

表2.  自動的にバックアップされるEssbaseデータベース・ファイル

ファイル

説明

essxxxxx.pag

Essbaseデータ・ファイル

例: ess00001.pag

essxxxxx.ind

Essbaseインデックス・ファイル

例: ess00001.ind

dbname.esm

データベースの回復に使用される制御情報とディスク・ボリューム情報が含まれるEssbaseカーネル・ファイル

dbname.tct

トランザクション制御表

dbname.ind

データおよびインデックスのフリー・フラグメント用のフリー・フラグメント・ファイル

dbname.otl

アウトライン・ファイル。データベースのすべてのメタデータを保管し、データの保管方法を定義するが、データそのものは保管しない

dbname.otl.keep

dbname.otlの一時バックアップ(アウトラインを変更し、新しいファイルに書き込む操作により作成される)

x.lroリンクされたレポート・オブジェクト
dbname.otnディメンション構築中またはアウトライン編集中に作成される一時アウトライン・ファイル
dbname.db

データベース設定を含むデータベース・ファイル

dbname.ddb

パーティション定義ファイル

dbname.ocl増分ディメンション構築中に作成されるアウトライン変更ログ
essxxxx.chgアウトライン同期変更ログ
dbname.algスプレッドシート更新トランザクションを、データ・ロードの入力ソースとして使用される1つの単位として保管する、スプレッドシート更新ログ
dbname.atx各トランザクションの履歴情報(ユーザー名、日付、タイムスタンプなど)、および.atxファイルでのトランザクション行の番号を含む、スプレッドシート更新ログ

Essbaseでバックアップするファイルのほかに、表3にリストされているファイルを手動でバックアップする必要があります。これらのファイルは、データベース・バックアップの実行後(数日後など)、手動でバックアップする必要があります。また、ルール・ファイルやESSCMDまたはMaxLスクリプトを作成したり、変更したりした場合は、それらもバックアップしておく必要があります。

表3に、手動でバックアップする必要のあるEssbaseデータベース・ファイルをリストして説明します。

表3.  手動でバックアップする必要があるEssbaseファイル

ファイル

説明

場所

essbase.sec[1]

Essbaseセキュリティ・ファイル

ARBORPATH/bin/

essbase_timestamp.bak

Essbaseセキュリティ・ファイルのバックアップ

ARBORPATH/bin/

essbase.cfg

Essbaseサーバー構成ファイル

ARBORPATH/bin/

dbname.app

アプリケーション設定を含むアプリケーション・ファイル

ARBORPATH/app/

.otl
.csc
.rul
.rep
.eqd
.sel

データベース・アーティファクト・ファイル

ARBORPATH/app/appname/dbname/

ESSCMDまたはMaxLスクリプト

 

指定されている格納場所はありません。

1 essbase.secをバックアップする前にエージェントをシャット・ダウンしてください。

データベース・アーカイブ・ファイルの構成と指定

データベースのバックアップ中、Essbaseは、データベース・ファイルをEssbaseサーバー・コンピュータ上のアーカイブ・ファイルにコピーします。アーカイブ・ファイルの名前と場所を指定する場合は、次のガイドラインに従います:

  • Essbaseサーバー上のディレクトリへの完全パスと、アーカイブ・ファイル名を指定します。

    アーカイブ・ファイル名のみが指定されている場合、Essbaseはアーカイブ・ファイルをARBORPATH/appに書き込みます。

  • アーカイブ・ファイルはARBORPATHが置かれているディスク以外のディスク上に書き込むことをお薦めします。

  • アーカイブ・ファイル名は.arc拡張子付きの名前にすることをお薦めします。

  • アーカイブ・ファイルを複数のファイルに分割する場合を除き、アーカイブ・ファイルのサイズはバックアップするデータベースのサイズに対応し、ディスク・スペースによってのみ制限を受けます。(アーカイブ・ファイルの複数のファイルへの分割を参照。)単一ファイル構成の場合、大きなファイルをサポートするファイル・システムにアーカイブ・ファイルを保存することをお薦めします。

    Windowsの場合は、ファイル・システムはNTFSとしてフォーマットされていることが必要です。UNIXの場合は、大きなファイルのサポートを使用可能にするとともに、ULIMIT設定を使用してアーカイブ・ファイルのサイズを指定します。ULIMITを特定のファイル・サイズに設定する場合は、データベースのサイズに基づいて、十分に大きな値を指定してください。そうでない場合は、ULIMITを無制限に設定します。使用しているOSのドキュメントを参照してください。

  • アーカイブ・ファイルにデータベースをバックアップする場合は、forceオプションを使用して、アーカイブ・ファイルを上書きします。そうでない場合は、バックアップは失敗します。

    注意!

    forceオプションを使用する前に、現在のアーカイブ・ファイルのコンテンツがもう必要ないことを確認してください。

アーカイブ・ファイルの複数のファイルへの分割

デフォルトでは、Essbaseは、1つの大きなアーカイブ・ファイルを作成します。使用している環境で大きなファイルを扱えない場合、またはファイル転送ツールが大きなファイルの処理に対応していない場合、アーカイブ・ファイルを2GB以下の複数のファイルに分割するようにEssbaseを構成できます。essbase.cfgファイルで、SPLITARCHIVEFILE構成をTRUEに設定します。

Essbaseが作成した最初の(つまりメインの)アーカイブ・ファイルに、指定したファイル名が付きます(たとえばsamplebasic.arc)。メイン・アーカイブ・ファイルが2GBの制限に達すると、Essbaseは別のファイルを作成します。後続の各アーカイブ・ファイルの名前付けでは、Essbaseにより、メイン・アーカイブ・ファイル名に"_n"が付けられます。nは整数で、1から始まり、増分されます。たとえば、Sample.Basicデータベースのバックアップでつのアーカイブ・ファイルが作成された場合、ファイル名は次のようになります:

samplebasic.arc
samplebasic_1.arc
samplebasic_2.arc

分割アーカイブ・ファイルはすべて、メイン・アーカイブ・ファイルの名前と場所を指定したときに、指定したディレクトリに作成されます。

注意:

アーカイブ・ファイルが複数のファイルに分割されているデータベースを復元する場合、バックアップ後、そのデータベースに対してSPLITARCHIVEFILEFALSEに設定していた場合でも、Essbaseは、複数のアーカイブ・ファイルを検索します。また、Essbaseは、データベースのすべてのアーカイブ・ファイルが同じディレクトリにあることを前提とします。

ブロック・ストレージ・データベースのバックアップ

データベースをバックアップするには、管理者役割が必要です。

データベースをバックアップするには、次のいずれかのツールを使用します:

  • Oracle Essbase Administration Services

    『Oracle Essbase Administration Servicesオンライン・ヘルプ』ブロック・ストレージ・データベースのバックアップに関する項を参照してください。

    管理サービス・コンソールでは、「データベースのアーカイブ」コマンドを使用します。

  • MaxL

    『Oracle Essbaseテクニカル・リファレンス』データベースの変更に関する項を参照してください。

    MaxLでは、alter database文をarchive to file文法で使用します。文の構文:

    alter database appname.dbname [force] archive to file BACKUP-FILE;

    たとえば、次の文では、Sample.BasicデータベースがEssbaseサーバー上の指定されたアーカイブ・ファイルにバックアップされます:

    alter database Sample.Basic archive to file '/Oracle/samplebasic.arc';

    samplebasic.arcファイルがEssbaseサーバー上に存在する場合は、force文法を使用して、ファイルのコンテンツを上書きします。例:

    alter database Sample.Basic force archive to file '/Oracle/samplebasic.arc';

注意:

データベースのバックアップとは異なるタイミングで、表3 手動でバックアップする必要があるEssbaseファイルに示されているファイルを手動でバックアップします。

アーカイブ・ファイル情報の取得

Essbaseは、アーカイブ・ファイルから、バックアップしたデータベースについて次の情報を取得できます:

  • 概要情報:

    • アプリケーション名

    • データベース名

    • アーカイブ時間

  • ディスク・ボリューム名

 アーカイブ・ファイル情報を取得するには、query archive_file MaxL文を使用します。

文の構文:

query archive_file BACKUP-FILE [get overview] [list disk volume];

管理サービス・コンソールのMaxLスクリプト・エディタで、問合せの結果を表示できます。図1 アーカイブ・ファイルの概要情報に、概要情報を示します:

図1.アーカイブ・ファイルの概要情報

この図は、バックアップが実行されたアプリケーション、データベースの名前および時間を示しています。

図2 ディスク・ボリュームのアーカイブ・ファイル・リストに、ディスク・ボリューム名を示します:

図2.ディスク・ボリュームのアーカイブ・ファイル・リスト

この図は、バックアップしたデータベースに関連付けられたディスク・ボリュームの名前を示しています。

管理サービス・コンソールで「データベースの復元」コマンドを使用しても、ディスク・ボリューム情報を表示できます。

注意:

Windowsでは、Essbaseは、ディスク・ボリュームとしてデフォルトのARBORPATHドライブを追加します(たとえばC:ドライブ)。これは、バックアップしたデータベースが、そのデータ・ボリューム上にデータを保管しない場合でも同様です。ディスク・ボリュームの操作を参照してください。

ブロック・ストレージ・データベースの復元

データベースを復元するには、管理者役割が必要です。

データベースを復元する前に、クライアントからデータベースへのアクティブな接続を終了する必要があります。

データベースの復元時、Essbaseは、データベースを空にし、ロックします。アーカイブ・ファイルのコンテンツを抽出する前に、Essbaseはファイルを検証します。次に、Essbaseはインデックス・ファイルとページ・ファイルを指定のディスク・ボリュームにコピーし、dbname.esmをディスク・ボリューム情報で更新します。ディスク・ボリュームの操作を参照してください。

アーカイブ・ファイルを複数のファイルに分割するようにEssbaseを構成している場合は(データベース・アーカイブ・ファイルの構成と指定を参照)、復元するメイン・アーカイブ・ファイルのファイル名(samplebasic.arcなど)のみ指定する必要があります。

注意:

アーカイブ・ファイルが複数のファイルに分割されているデータベースを復元する場合、バックアップ後、そのデータベースに対してSPLITARCHIVEFILEをFALSEに設定していた場合でも、Essbaseは、複数のアーカイブ・ファイルを探します。また、Essbaseは、データベースのすべてのアーカイブ・ファイル(メインと分割)が、同じディレクトリ内にあることを前提とします。

Administration ServicesまたはMaxLを使用して、データベースを復元できます。

管理サービス・コンソールでは、「データベースの復元」コマンドを使用します。詳細は、『Oracle Essbase Administration Servicesオンライン・ヘルプ』ブロック・ストレージ・データベースの復元に関する項を参照してください。

MaxLでは、alter database文をrestore from file文法で使用します。文の構文:

alter database appname.dbname [force] restore from file BACKUP-FILE [replace disk volume VOL];

通常、データベースは、バックアップの作成元のアプリケーションとデータベースに対して復元されます。このため、復元するバックアップ・データベースとその関連アプリケーションのアーカイブ・ファイル内の名前も、それと同じ名前になります。バックアップ・データベースとアプリケーションの名前が、データを復元する先のアプリケーションとデータベースの名前と異なる場合は、force文法を使用する必要があります。文の構文:

alter database appname.dbname force restore from file BACKUP-FILE;

たとえば、Sample.BasicのバックアップをSample.Newに復元したり(データベース名が異なる)、MyCompany.Basicに復元したり(アプリケーション名が異なる)、MyCompany.Newに復元したり(アプリケーション名とデータベース名の両方が異なる)できます。

詳細は、このガイドの「アーカイブ・ファイル情報の取得」、および『Oracle Essbaseデータベース管理者ガイド』データベースの変更に関する項を参照してください。

手動でバックアップされたファイルの復元

バックアップされたデータベースを復元した後、通常は、手動でバックアップしたファイルを復元する必要はありません(表3 手動でバックアップする必要があるEssbaseファイルを参照)。

次の場合は、手動でバックアップされたファイルを復元します:

  • サーバーの中断によりセキュリティ・ファイルなどのファイルが破損した場合

  • ロギングされたトランザクションの再実行時に問題が発生した場合(ルール・ファイルまたはスクリプトが失われるなど)

ディスク・ボリュームの操作

Essbasを、あるディスク・ボリューム上にインストールし、インデックス・ファイル(essn.ind)とデータ・ファイル(essn.pag)を他の1つ以上のディスク・ボリュームに保管できます。ディスク・ボリューム情報は、dbname.esmファイルに保存され、データベースの復元時に、インデックス・ファイルとデータ・ファイルを正しいディスク・ボリュームにコピーするために使用されます。

データベースが使用するディスク・ボリュームを変更した場合でも、現在および以前使用されていたすべてのディスク・ボリューム情報がデータベース・ファイルに残ります。ディスク・ボリューム情報をデータベース・アーカイブ・ファイルから取得したり、管理サービス・コンソールまたはMaxLシェルでディスク・ボリューム情報を表示すると、Essbaseは、そのデータベースに関連付けられているすべてのディスク・ボリューム情報を表示します。加えて、EssbaseはデフォルトのARBORPATHドライブ(たとえば、Windowsでは、ARBORPATHC:にあればC:ドライブ)をディスク・ボリュームとして表示します。アーカイブ・ファイル情報の取得を参照してください。

データベースを復元する際に、ディスク・ボリューム名を置き換えることができます。ただし、その際、バックアップしたデータベースとディスク・ボリューム数が同じで、ディスク・スペースも、同じかそれ以上である必要があります。

管理サービス・コンソールでは、「データベースの復元」ダイアログ・ボックスの「詳細」オプションを使用して、ディスク・ボリューム名を置き換えることができます。

alter database MaxL文をreplace disk volume VOL文法で使用する場合は、VOL引数の有効値は、置き換えるボリュームをカンマで区切ったリストです:

  • 'VOL1'を'VOL2'で

  • 'VOL3'を'VOL4'で

  • 'VOL5'を'VOL6'で

たとえば、次の文は、samplebasic.arcアーカイブ・ファイルを使用してSample.Basicデータベースを復元し、指定されたディスク・ボリュームを置き換えます:

alter database Sample.Basic restore from file '/Oracle/samplebasic.arc' replace disk volume 'C' with 'F', 'D' with 'G', 'E' with 'H';

Unicodeアプリケーションと非Unicodeアプリケーションの操作

Unicodeアプリケーションと非Unicodeアプリケーションを操作している場合、Essbaseでは、Unicodeアプリケーションからのバックアップ・データベースを非Unicodeアプリケーションに復元できません。

表4は、Unicodeアプリケーションと非Unicodeアプリケーション間でバックアップ・データベースを復元する場合のサポートされている組合せを示しています。

表4. Unicodeアプリケーション・モードと非Unicodeアプリケーション・モードによるデータベースのバックアップと復元の組合せ

バックアップ元復元先サポート
UnicodeUnicodeはい
Unicode非Unicodeいいえ
非Unicode非Unicodeはい
非UnicodeUnicodeはい

パーティション・データベースのバックアップと復元

パーティション・データベースをバックアップおよび復元する場合は、次のガイドラインに従います:

  • ソース・データベースとターゲット・データベースを同時にバックアップおよび復元します。

  • バックアップしたアプリケーションまたはデータベースの名前と異なる名前のアプリケーションまたはデータベースにデータベースを復元する場合は、パーティションを再定義する必要があります。『Oracle Essbaseデータベース管理者ガイド』を参照してください。