ESSCMDの使用

この項の内容:

ESSCMDについて

ESSCMDの開始準備

ESSCMDの開始および終了

対話モードの使用

バッチ・プロセスにおけるスクリプト・ファイルおよびバッチ・ファイルの使用

関連項目:

ESSCMDについて

ESSCMDを使用することにより、Essbaseサーバーでは、対話モードまたはバッチ・モードで、コマンドラインからサーバーの操作を実行できます。

対話モードとは、コマンドをESSCMDコマンドラインで入力し、必要な場合にプロンプトが表示されることを意味します。対話モードは、コマンドを入力する必要がほとんどない簡単な操作や、情報の即時チェック、エラー・チェックを行いたい場合に便利です。

バッチ処理モードは、定期的なEssbaseサーバーのメンテナンス・タスクや診断タスクを自動化するために使用されます。スクリプト・ファイルやバッチ・ファイルを記述し、それをコマンドラインから実行できます。特定の一連のファイルを頻繁に使用する場合や、タスクに多数のコマンドが必要な場合は、バッチ処理モードが便利です。

構文のガイドラインについて

通常、ESSCMDコマンドを入力する際は、他の計算コマンドの場合と同じ構文を使用します。ただし、ESSCMDの対話型モードとバッチ処理モードの間には、引用符とセミコロンのステートメントのターミネータに関する要件で違いがあります。スクリプト・ファイルまたはバッチ・ファイルを作成する際には、この項のガイドラインに従ってください。

引用符

引用符(" ")は、文字列のパラメータおよびコマンド応答を囲むために使用されます。

  • 対話型のESSCMDでは、引用符の使用はオプションです。引用符は、パラメータに埋込みのスペースがあるときに使用します。たとえば、次のとおりです:

                CALC "Calc All;"
             
  • ESSCMDスクリプト・ファイルの場合は、次のように、文字列のパラメータおよびコマンド応答はすべて引用符で囲んでください:

                LOGIN "Localhost" "user1" "Password";
             
  • 数値のパラメータおよびコマンド応答は、引用符で囲む必要はありません。

  • 引用符を引用符で囲むことはできません。

セミコロン・ステートメント終端文字

; (セミコロン)ステートメント終端文字は、コマンドの終端を示します。たとえば次のように使用します:

      SELECT "SAMPLE" "BASIC"; 
   
  • 対話型のESSCMDでは、[Enter]キーを押すことで、コマンドが完了したことがESSCMDに通知されます。ステートメント終端文字はオプションです。

  • ESSCMDスクリプト・ファイルでは、終端文字の使用はオプションですが、コマンドに多数のパラメータを指定する場合は終端文字を使用してください。終端文字の使用が特に重要であるのは、一部のパラメータがオプションの場合に、パラメータ・リストの終端を通知する場合です。

オプションのパラメータの一部を省略し、リストの終端でセミコロンを使用しなかった場合、ESSCMDはそのファイル内の次のコマンドの中で残りの値を検索します。これによって、予測不可能な結果が生じる可能性があります。

たとえば、『Oracle Essbaseテクニカル・リファレンス』で定義されているSETAPPSTATEコマンドおよびSETDBSTATEコマンドでは、プロセスにおける混乱を防止するために終端でセミコロンを使用する必要があります。

注:

この章で示す構文例では、引用符とセミコロン終端文字を必ず使用しています。

ESSCMD操作の取消し

ESSCMDの実行時に、ESSCMDが応答するまで[Esc]キーを押し続けることで、計算、エクスポートまたは再構築操作などの非同期操作を取り消せます。

ファイルの参照

一部のコマンドでは、アーチファクトまたはファイル名の前に1から4の数値パラメータを指定する必要があります。この数値パラメータで、Essbaseに対してアーチファクトまたはファイルの検索場所を指定します。パラメータを指定すると、ESSCMDでは、他のアプリケーション、データベースまたはシステムでファイルが検索されます。

表253は、数値パラメータのそれぞれの値(「数字」)、数値パラメータが適用されるファイルの場所、および各パラメータの設定時に、ESSCMDから要求される情報のリストです。なお、appNameはアプリケーション名、dbNameはデータベース名です。

表 253. 数値パラメータのリスト

数字

ファイル

Essbaseプロンプトによりユーザーに求められる情報:

1

ローカルまたはクライアント・ベースのファイル

  • Windows: ARBORPATH/client/appname/dbnameディレクトリ内のファイル

  • UNIX: ARBORPATH/client/appname/dbnameディレクトリ内のファイル

2

リモートまたはサーバー・ベースのファイル

  • Windows: ARBORPATH/app/appname/dbnameディレクトリ内のファイル

  • UNIX: ARBORPATH/app/appname/dbnameディレクトリ内のファイル

3

ファイル

そのファイルに対する完全修飾パス(ファイルが現在のESSCMDディレクトリに存在している場合は除く)

4

SQLテーブル

そのSQLテーブルに対する完全なネットワーク情報およびデータベース情報

たとえば、LOADDATAコマンドでは、クライアントまたはEssbaseサーバー上にあるデータ・ファイルをロードできます。このコマンドでは、データ・ファイルを検索する場所をEssbaseに指示するために、数値パラメータが必要です。次の例では、ESSCMDで、ロード対象ファイルの完全修飾パス名を求めるプロンプトが表示されます:

      LOADDATA 3
   

通常、ファイル拡張子の指定は、対話モードでもバッチ処理モードでもオプションです。ただし、使用するコマンドにおいて、ファイルの場所を示す数値パラメータが必要な場合は、ファイル拡張子を指定します:

  • ファイル・オプション3 (ファイル)を使用する場合は、対話モードでもバッチ処理モードでもファイル拡張子を入力する必要があります。

  • ESSCMDを起動したディレクトリ内にアーティファクトがある場合は、パスを入力する必要はありません。

複数のデータベースへのアクセス

ESSCMDではEssbaseサーバー上の複数のログイン・インスタンスをサポートしているため、単一セッション内の複数のデータベースにアクセスできます。複数のデータベースにログオンする場合でも、サーバー・ライセンスで使用するポートは1つのみです。

大文字と小文字の区別に関するガイドライン

Essbaseサーバーでは、アプリケーションとデータベースの名前は、ユーザーが指定したとおりに作成されます。どのプラットフォームでも、大文字と小文字が変更されることはありません。

Essbaseサーバーでは、後方互換性のために、最初に大文字と小文字を正確に使用して、既存のアプリケーションとデータベースの名前が検索されます。ただし、ファイルが見つからない場合は、大文字と小文字の可能なすべての組合せで、既存のアプリケーションとデータベースの名前が検索されます。

Essbaseでは、大文字と小文字のみが異なるアプリケーション名とデータベース名は作成できません。たとえば、アプリケーションmYdATAが存在しているときにアプリケーションMyDataを作成しようとすると、Essbaseでエラー・メッセージが表示されます。

メンバー名の大文字と小文字を区別するかは、選択できます。

  メンバー名の大文字と小文字を区別する方法は、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「メンバー名の大文字と小文字を区別する方法」を参照してください。

ヘルプの表示

個々のESSCMDコマンドの詳細と構文は、『Oracle Essbaseテクニカル・リファレンス』を参照してください。

ESSCMDの開始準備

ESSCMDを開始する前に、次のアイテムがインストールおよび実行されていることを確認します:

  • Essbase

  • Essbase上の通信プロトコル(TCP/IP)

ESSCMDの開始および終了

ESSCMDは、EssbaseサーバーおよびEssbase管理サーバー上のesscmd.exeおよびesscmd.hlp(UNIXプラットフォームの場合はesscmdおよびesscmd.hlp)という2つのファイルで構成されます。

  ESSCMDを開始するには、オペレーティング・システムのコマンド・プロンプトから、ESSCMDを入力します。

ESSCMDを開始すると、次のようなコマンド・プロンプトが表示されます:

      :::[
      n
      ]->
   

nは、アクティブなログイン・インスタンスの値です。その後のログインが成功するたびに、この値は1つずつ増加します。ESSCMD開始時のインスタンス番号はゼロ(0)です。

注:

アクティブなログイン・インスタンスを切り替えるには、SETLOGINコマンドを使用します。アクティブなログイン・インスタンスを表示するには、LISTLOGINSコマンドを使用します。

  ESSCMDを終了するには、プロンプトでEXITと入力し、[Enter]キーを押します。

ESSCMDがアプリケーション・サーバーから切断され、セッションが終了します。

対話モードの使用

対話モードでは、コマンドを入力してプロンプトに応答します。対話モードは、少ないコマンドで済む簡単なタスクを実行するときに便利です。多数のコマンドを必要とする複雑なタスクを実行する場合は、スクリプト・ファイルやバッチ・ファイルの作成を検討してください。バッチ・プロセスにおけるスクリプト・ファイルおよびバッチ・ファイルの使用を参照してください。

対話モードで実行中の構文の表記規則については、構文のガイドラインについてを参照してください。

Essbaseサーバーへのログオン

ESSCMDを開始した後、Essbaseサーバーに接続する必要があります。これにより、コマンドを入力できるようになります。

  Essbaseサーバーにログインするには:

  1. ESSCMDプロンプトで、LOGINコマンドを使用してサーバーにログオンします。

    『Oracle Essbaseテクニカル・リファレンス』を参照してください。

  2. サーバー名を入力します。

    Essbaseサーバー・ウィンドウから接続する場合、サーバー名はネットワークの設定によって異なります。たとえば、ここでは名前はaspenであるとします。

  3. ユーザー名を入力します。

  4. パスワードを入力します。

次のようなESSCMDプロンプトが表示されます:

      aspen:::
      userName
      [1]->
   

userNameは自分のログイン名です。

任意の有効なESSCMDコマンドを入力できます。コマンドの完全なリストは、『Oracle Essbaseテクニカル・リファレンス』を参照してください。

注:

アプリケーションをメモリーにロードし、Essbaseサーバー上のデータベースを選択するには、SELECTコマンドを使用して、サーバー上にあるアプリケーションからデータベースを選択します。

次のようなESSCMDプロンプトが表示されます:

      aspen:
      appname
      :
      dbname
      :
      userName
      [1]->
   

appnameはアプリケーションの名前です。dbnameは接続しているデータベースの名前です。

コマンドの入力

対話モードでコマンドを入力する場合は、次のいずれかの方法を選択します:

  • コマンドを入力して[Enter]を押します。

    ESSCMDにより各コマンド・パラメータの入力を求めるプロンプトが表示されます。たとえば、SELECTコマンドには、次のコマンド構文に示すように、2つのパラメータがあります:

                SELECT " 
                appname
                 " " 
                dbname
                 ";
             

    SELECTのみを入力し、[Enter]キーを押すと、ESSCMDによって最初のパラメータであるアプリケーション名(appName)が要求されます。アプリケーション名を入力し、[Enter]キーを押すと、ESSCMDによってデータベース名(dbName)を入力するように要求されます。

  • コマンドとすべてのパラメータを入力してから[Enter]を押します。

    たとえばSELECTコマンドの場合では、次のように入力します:

                SELECT "Sample" "Basic"; 
             

どの方法を使用しても、対話型のプロンプトにアプリケーションとデータベースの名前が反映されます。たとえば、次のプロンプトは、SampleアプリケーションおよびBasicデータベースが選択されていることを示します:

      aspen:Sample:Basic:User[1]->
   

この場合、通常は要求されるアプリケーションまたはデータベース名パラメータを指定せずに、他のコマンドを入力できます。

操作の取消し

ESSCMDの実行中に、ESSCMDが応答するまで[Esc]キーを押し続けることで、計算、エクスポートまたは再構築操作などの非同期操作を取り消せます。

注意

Essbaseでコマンドが処理されている間は、システムを一時停止または中断しないでください。システムを一時停止すると、Essbaseでコマンドが正しく完了しない可能性があります。

バッチ・プロセスにおけるスクリプト・ファイルおよびバッチ・ファイルの使用

一連のコマンドを頻繁に使用する場合、またはタスクを完了するために多数のコマンドを入力する必要がある場合には、スクリプト・ファイルまたはバッチ・ファイルを使用してタスクを自動化することを検討してください。これらのファイルは、バッチ・データのロードや複雑な計算の場合に便利です。

構文のガイドラインについてを参照してください。

  • スクリプト・ファイルには、ESSCMDコマンドが含まれます。スクリプト・ファイルは、オペレーティング・システムのコマンド・ラインから、またはオペレーティング・システムのバッチ・ファイルから実行できます。スクリプト・ファイルはESSCMDによって処理されます。デフォルトでは、ESSCMDスクリプト・ファイルの拡張子は.scrです。別の拡張子も使用できます。

  • バッチ・ファイルとは、複数のESSCMDスクリプトを呼び出すオペレーティング・システム・ファイルのことで、オペレーティング・システムのコマンドを組み込むこともできます。バッチ・ファイルを使用して、複数のESSCMDセッションを実行できます。Essbaseサーバー上のバッチ・ファイルは、オペレーティング・システムのプロンプトから実行できます。このファイルはオペレーティング・システムによって処理されます。Windowsの場合、バッチ・ファイルの拡張子は*.batです。

注:

UNIXの場合、バッチ・ファイルまたはスクリプト・ファイルはシェル・スクリプトとして記述されます。通常、シェル・スクリプトの拡張子は、.sh (BourneシェルまたはKornシェル)または.csh (Cシェル)です。

スクリプト・ファイルまたはバッチ・ファイルを実行すると、ESSCMDによってファイル内のコマンドがファイルの最後まで順に実行されます。

一部のコマンドは、Essbaseの新しいリリースで変更されています。この変更は既存のスクリプトに影響する可能性があります。スクリプトが現在のリリースで正しく動作することを確認するには、『Oracle Essbase新機能』および『Essbase Readme』で変更または削除されたコマンドの情報を確認し、必要な場合はスクリプトを変更してください。

スクリプト・ファイルの作成

ESSCMDスクリプト・ファイルでは、一連の使用頻度の高いコマンドまたは長いコマンドを自動化します。各スクリプト・ファイルは、ログイン、アプリケーションとデータベースの選択、ログアウト、終了の各コマンドを備えた完全なESSCMDセッションである必要があります。

  スクリプト・ファイルを定義するには:

  1. ASCIIテキスト形式で保存する機能を持つ任意のエディタで、ESSCMDコマンドを入力します。

  2. ESSCMDスクリプト・ファイル拡張子.scrで、ファイルを保存します。

    たとえば、次のスクリプト・ファイル、test.scrはメモ帳で作成したものです:

                LOGIN "localhost" "User1" "password";
    SELECT "Sample" "Basic";
    GETDBSTATE
    EXIT;
             

このスクリプトをオペレーティング・システムのコマンドラインから実行すると、EssbaseのlocalhostサーバーへのUser1のログイン、SampleアプリケーションとBasicデータベースの選択、データベース統計の取得およびESSCMDセッションの終了操作が実行されます。

スクリプト・ファイルの実行

  ESSCMDでスクリプト・ファイルを実行するには:

  1. オペレーティング・システムのプロンプトで次のコマンドを入力します:

                ESSCMD 
                scriptFileName
                .scr
             
  2. scriptFileNameをスクリプト・ファイルの名前と置き換えます。

    たとえば、スクリプト・ファイルが現在のディレクトリ内にある場合は、次のように入力します:

                ESSCMD TEST.SCR
             
  3. スクリプト・ファイルが現在のディレクトリにない場合は、パスも指定します。

    例:

                ESSCMD C:\WORK\SCRIPTS\TEST.SCR (an absolute path on Windows)
             

    または

                ESSCMD..\SCRIPTS\TEST.SCR (a relative path on Windows)
             

スクリプト・ファイル内でのコマンド・エラーの処理

ESSCMDのエラー処理機能には、スクリプト・ファイルのエラーの検査と処理があります。スクリプト・ファイルにエラー処理コマンドを記述するとエラーを検査したり、必要に応じて、適切なエラー処理応答に分岐させたりすることができます。

各ESSCMDコマンドが実行されると、内部バッファに数値が保管されます。コマンドが正常に実行されると、内部バッファに0が戻されます。コマンドが失敗すると、バッファにエラー番号が保管されます。これは非ゼロ・ステータスと呼ばれます。

ESSCMDスクリプト・ファイル内のエラー・チェックでは、次のエラー処理コマンドを使用できます:

  • IFERRORでは、以前に実行されたコマンドが非ゼロの戻りステータス(実行に失敗)かどうかが検査されます。ステータスがゼロでない場合、後続のすべてのコマンドがスキップされ、ファイル内のユーザー指定のポイントにジャンプします。処理はこのポイントで再開されます。スクリプト・ファイルでは、エラー処理ルーチンまたはファイルの最後に分岐できます。

  • RESETSTATUSを使用すると、保存されたすべてのステータス値が0(ゼロ)に戻ります。これは、後続の処理の中でステータス検査を実行できるようにするためです。

  • GOTOを使用すると、エラーが発生したかどうかにかかわらず、ファイル中のユーザー定義ポイントへ強制的に無条件分岐させることができます。

次のload.scrというサンプル・ファイルでは、LOADDATAコマンドの実行が成功しなかった場合、ファイルの終端に分岐されます。これにより、空のデータベースに対する計算およびレポート・スクリプト処理を回避できます:

      LOGIN "localhost" "User1" "password" "Sample" "Basic";
LOADDATA 2 "calcdat";
IFERROR "Error";
CALC "Calc All;";
IFERROR "Error";
RUNREPT 2 "Myreport";
IFERROR "Error";
[possible other commands]
EXIT;

:Error

   

注:

OUTPUTコマンドを使用すると、エラーをテキスト・ファイルに記録できます。

ESSCMDエラー・コマンドの構文と使用方法は、『Oracle Essbaseテクニカル・リファレンス』を参照してください。

サンプル・スクリプト・ファイルの確認

Essbaseには、Sample.Basicデータベースに基づいた、一般的なバッチ操作を示すサンプルのスクリプト・ファイルが付属しています。サンプルのスクリプト・ファイルは次のディレクトリにあります:

      ARBORPATH
      /app/Sample/Basic
   

サンプル・スクリプト: データのインポートと計算

sample1.scrファイルでは、次のアクションを実行します:

  • Essbaseサーバーにログオンする

  • アプリケーションおよびデータベースを選択する

  • 他のユーザーによるログオンとデータベースの変更を防止する

  • テキスト・ファイルからデータをインポートする

  • データベースを計算する

  • ログインを再度可能にする

  • ESSCMDを終了する

      LOGIN "Poplar" "TomT" "Password";
SELECT "Sample" "Basic";
DISABLELOGIN;
IMPORT 2 "ACTUALS" 4 "Y" 2 "ACTUAL" "N";
CALCDEFAULT;
ENABLELOGIN;
EXIT;
   

サンプル・スクリプト: 次元構築、SQLソースからのデータのインポートおよび計算

sample2.scrファイルでは、次のアクションを実行します:

  • Essbaseサーバーにログオンする

  • アプリケーションおよびデータベースを選択する

  • 他のユーザーによるログオンとデータベースの変更を防止する

  • SQLデータ・ソースからアウトラインを更新する

  • SQLからデータをインポートする

  • データベースを計算する

  • ログインを再度可能にする

  • ESSCMDを終了する

      LOGIN "Poplar" "TomT" "Password";
SELECT "Sample" "Basic";
DISABLELOGIN;
BUILDDIM 2 "PRODRUL" 4 "PRODTBL" 4 "PROD.ERR";
IMPORT 4 "TOMT" "PASSWORD" 2 "ACTUAL" "N";
CALCDEFAULT;
EXIT;
   

サンプル・スクリプト: レポート印刷のスケジュール

sample3.scrファイルでは、次のアクションを実行します:

  • Essbaseサーバーにログオンする

  • アプリケーションおよびデータベースを選択する

  • 後続の印刷処理のため、出力するレポートをファイルに割り当てる

  • ESSCMDを終了する

      LOGIN "Poplar" "TomT" "Password";
SELECT "Sample" "Basic";
RUNREPT 2 "REP1" "REP1.OUT";
RUNREPT 2 "REP2" "REP2.OUT";
RUNREPT 2 "REP3" "REP3.OUT";
EXIT;
   

バッチ・ファイルの作成

1つ以上のESSCMDスクリプトを実行し、オペレーティング・システムのコマンドを含むバッチ・ファイルを記述できます。バッチ・ファイルの記述に関する構文について学習するには、使用するオペレーティング・システムの説明書を参照してください。

バッチ・ファイルにおけるコマンド・エラーの処理

オペレーティング・システムのバッチ・ファイルでは、ESSCMDコマンドの戻り値を使用して、そのバッチ・ファイルによって実行されるスクリプトのフローを制御できます。

ESSCMDプログラムでは、終了時に整数値が戻されます。この値は、最後に実行されたコマンドのステータス(通常はそのコマンドが成功したか失敗したか)を表します。この値をテストし、テストに失敗した場合はエラー処理応答に分岐するように、バッチ・ファイルを設定できます。このプロセスは、スクリプト・ファイルの作成と同様です。スクリプト・ファイル内でのコマンド・エラーの処理を参照してください。

たとえば、バッチ・ファイルに、データをロードするESSCMDバッチ・ファイル、データに対して計算を実行する計算スクリプト、および計算結果に関してレポートするレポート・スクリプトの3つのスクリプトが含まれているとします。ロードのバッチ・ファイルが失敗すると、計算とレポートも失敗します。この場合は、ファイルのロードが失敗した後でバッチ・ファイルを停止して、失敗の原因となったエラーを修正してから続行するのが最善の方法です。バッチ・ファイルでロード・プロセスの戻り値がテストされ、この戻り値が失敗を示す場合には、バッチ・ファイルは、ロードされなかったデータの計算を試みるのではなく、ファイルの末尾にジャンプして停止するか、または他のエラー処理プロシージャを実行できます。

次の例は、Windowsオペレーティング・システムのバッチ・ファイルと、そのファイルで実行されるESSCMDスクリプトの1つ(load.scr)のコンテンツを示しています。エラーチェック要件は多様なため、この例の構文は実際のオペレーティング・システムの構文とは一致しない可能性があります。バッチ・ファイルのエラー・チェックについては、ご使用のオペレーティング・システムのドキュメンテーションを参照してください。

オペレーティング・システムのバッチ・ファイルには次のようなコマンドが含まれている可能性があります:

      ESSCMD LOAD.SCR
If not %errorlevel%==0 goto Error
ESSCMD CALC.SCR
If not %errorlevel%==0 goto Error
ESSCMD REPORT.SCR
If not %errorlevel%==0 goto Error
Echo All operations completed successfully
EXIT

:Error
Echo There was a problem running the script