Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

グローバルの管理

管理ポータルには、グローバルの管理用ツールが用意されていますが、システム・クラスにも同じタスクのいくつかを実行できるメソッドが用意されています。この章では、それらのツールの使用方法を説明します。

グローバル・マッピングの定義に関する詳細は、"システム管理ガイド" の “ネームスペースの構成” の章を参照してください。

一般的なアドバイス

ObjectScript コマンド (SETMERGEKILL など) と同様に、ここで説明するツールによって、グローバルに直接アクセスして操作することができます。グローバル・アクセスを使用して削除や変更を行う場合、すべてのオブジェクトおよび SQL の整合性チェックを省略することになります。また、元に戻すためのオプションはありません。そのため、これらのタスクは非常に慎重に行うことが重要です (表示やエクスポートはデータベースに影響を与えないため、安全な操作です)。

Caution:

エクステントの一部であるグローバルは、対応する ObjectScript および SQL コードにより管理されます。そのようなグローバルを直接グローバル・アクセスで変更すると、グローバルの構造が破壊されることや (そのデータがアクセス不能になる)、ObjectScript や SQL を通じてもデータにアクセスできなくなることがあります。

このような事態を回避するには、エクステントにあるすべてのデータの削除などのタスクで、グローバルに対して kill コマンドを使用しないようにします。代わりに、%KillExtent()Opens in a new tabTRUNCATE TABLE などの API メソッドを使用します。これらのメソッドによって、関連付けられたメモリ内カウンタのリセットなどの重要なメンテナンスが実行されます。ただし、カスタマイズされたストレージ定義を使用してグローバルからデータを投影するクラスは、アプリケーション・コードで全面的に管理されているので、このルールの例外となります。そのようなクラスでは、READONLY を 1 に設定するか、MANAGEDEXTENT を 0 に設定するか、その両方の設定を検討します。

この章で説明するツールの使用時には、以下のことに注意してください。

  • InterSystems IRIS でどのグローバルが使用されるかを知っておくこと。これらすべてが “システム” グローバル — として扱われるとは限りません。つまり、その一部は [システム] チェック・ボックスにチェックを付けていない場合でも表示されます。これらのグローバルのいくつかには、コードが保存されます。これには、ユーザのコードも含まれます。

    "サーバ側プログラミングの入門ガイド" の付録 “識別子のルールとガイドライン” にあるセクション “回避する必要があるグローバル変数名” を参照してください。

  • アプリケーションでどのグローバルが使用されるかを知っておくこと。

    アプリケーションで直接グローバル・アクセスを実行しない場合でも、アプリケーションによってグローバルが使用されます。永続クラスを作成する場合は、それらのデータおよびすべてのインデックスがグローバルに格納され、(既定では) それらのグローバルの名前がクラス名に基づくことに注意してください。前の章の “データ” を参照してください。

グローバル・ページの概要

管理ポータルには [グローバル] ページがあり、このページでグローバルを管理できます。このページでは、次の操作を実行できます。

  • 目的のグローバルに対応する行で [表示] を選択すると、そのグローバルを調べることができます。

  • 目的のグローバルに対応する行で [編集] を選択すると、そのグローバルを変更できます。

  • [エクスポート] を選択するとグローバルをエクスポートできます。

  • [インポート] を選択するとグローバルをインポートできます。

  • [検索] を選択すると、グローバル内の値を検索できます。

  • [置換] を選択すると、グローバル内の値を置換できます。

  • [削除] を選択するとグローバルを削除できます。

また、このページには、ルーチンクラスを表示するためのオプションも用意されていますが、ここではこれらのオプションについては説明しません。

管理ポータルのホーム・ページからこのページにアクセスする手順は以下のとおりです。

  1. [システムエクスプローラ][グローバル] を選択します。

  2. 目的のネームスペースまたはデータベースを選択します。

    • [検索] リストから [ネームスペース] または [データベース] を選択します。

    • 表示されたリストで、目的のネームスペースまたはデータベースの名前を選択します。

    ネームスペースまたはデータベースを選択すると、ページが更新され、そのグローバルが表示されます。

  3. 特定のグローバルを探していて、その名前が最初に見つからない場合は、以下の操作を行います。

    • 必要に応じて、検索マスクを指定します。そのためには、[グローバル] フィールドに値を入力します。文字列の末尾にアスタリスク “*” を付けると、そのアスタリスクはワイルドカードとして処理され、アスタリスクの前の文字列で始まる名前を持つすべてのグローバルがページに表示されます。

      値を入力したら、Enter キーを押します。

    • 必要に応じて、[システム・アイテム] を選択すると、すべてのシステム・グローバルが検索に含まれます。

    • 必要に応じて、[SQL テーブル名を表示] を選択して、グローバルのテーブルに [Table] および [Usage] の各列を追加します。グローバルが SQL テーブルで使用されている場合、これらの列にはそのテーブルの名前と使用法が表示されます。例えば、それがデータ/マスタ・マップであるかどうかや、インデックス・タイプなどの情報です。

    • 必要に応じて、[ページサイズ] から値を選択すると、任意のページにリストされるグローバルの数を制御できます。

グローバル・データの表示

[グローバルデータ表示] ページには、指定したグローバルのノードがリストされます。そのテーブルでは、最初の列に行番号、次の列にノード、右側の列に値が表示されます。このページには最初、グローバル内の最初の 100 のノードが表示されます。

このページにアクセスするには、[グローバル] ページを表示し、グローバルの名前の横にある[表示] リンクを選択します。または、[表示] ボタンをクリックします。

このページでは、次の操作を実行できます。

  • 検索マスクを指定します。そのためには、以下のように [グローバル検索マスク] の値を編集します。

    • 1 つのノードを表示するには、完全なグローバル参照を使用します。例 : ^Sample.PersonD(9)

    • サブツリーを表示するには、右側の括弧のない部分的なグローバル参照を使用します。例 : ^%SYS("JOURNAL"

    • 特定の添え字と一致するすべてのノードを表示するには、目的の添え字を含め、その他の添え字フィールドを空のままにします。例 : ^IRIS.Msg(,"en")

    • 特定の添え字と一致するすべてのサブツリーを表示するには、前のオプションのような値を使用しますが、さらに右側の括弧を省略します。例 : ^IRIS.Msg(,"en"

    • 特定の範囲の添え字と一致するノードを表示するには、添え字の場所に subscriptvalue1:subscriptvalue2 の形式で指定します。例 : ^Sample.PersonD(50:60)

      前のオプションと同様に、右側の括弧を省略した場合は、サブツリーが表示されます。

    次に、[表示] をクリックするか、Enter キーを押します。

  • 表示するノードの数に別の値を指定します。そのためには、[最大行数] に整数を入力します。

  • 前の検索を繰り返します。そのためには、[検索履歴] ドロップダウンで検索マスクを選択します。

  • [編集を許可] を選択して、データを編集可能にします。次のトピックを参照してください。

このページを閉じるには、[キャンセル] をクリックします。

グローバルの編集

Caution:

編集する前に、InterSystems IRIS で使用されているグローバルと、アプリケーションで使用されているグローバルについて必ず把握してください。“一般的なアドバイス” を参照してください。元に戻すためのオプションはありません。そのため、変更したグローバルはリストアできません。

[グローバルデータ編集] ページでは、グローバルを編集できます。そのテーブルでは、最初の列に行番号、次の列にノード、右側の列に値が表示されます (青色の下線は、その値が編集可能であることを示します)。このページには最初、グローバル内の最初の 100 のノードが表示されます。

このページにアクセスして使用するには、次の手順を実行します。

  1. [グローバル] ページを表示します。

  2. グローバルの名前の横にある[編集] リンクを選択します。

  3. 必要に応じて、[グローバル検索マスク] フィールドを使用して、表示される内容を絞り込みます。“グローバル・データの表示” を参照してください。

  4. 必要に応じて、表示するノードの数に別の値を指定します。そのためには、[最大行数] に整数を入力します。

  5. 必要であれば、それに対応する添え字を選択して、編集する値に移動します。

  6. 編集する値を選択します。

    すると、以下のように 2 つの編集可能なフィールドが表示されます。

    • 上のフィールドには、編集するノードの完全なグローバル参照が含まれます。例 : ^Sample.PersonD("18")

      これを編集して、別のグローバル・ノードを参照することができます。その場合、その操作によって影響を受けるのは、新しく指定したグローバル・ノードです。

    • 下のフィールドには、このノードの現在の値が含まれます。以下はその例です。

      $lb("",43144,$lb("White","Orange"),$lb("8262 Elm Avenue","Islip","RI",57581),"Rogers,Emilio L.",
      $lb("7430 Washington Street","Albany","GA",66833),"650-37-4263","")
      

    必要に応じて、値を編集します。

  7. 編集する場合は、[保存] クリックして変更を保存します。それ以外の場合は、[キャンセル] をクリックします。

また、ノードを削除する手順は以下のとおりです。

  1. 必要に応じて、[削除時にグローバルサブノードを削除] を選択します。

  2. [削除] をクリックします。

  3. [OK] をクリックし、この操作を確定します。

また、この章で後述する “大規模な置換の実行” も参照してください。

グローバルのエクスポート

Caution:

グローバルのインポート (回復不可能な変更) は非常に簡単なため、最善策としてインポートする必要のあるグローバルのみをエクスポートします。すべてのグローバルをエクスポートすると、コードを格納しているすべてのグローバルがエクスポートに含まれる点に注意してください。InterSystems IRIS で使用されているグローバルと、アプリケーションで使用されているグローバルについて必ず把握してください。“一般的なアドバイス” を参照してください。

[グローバルエクスポート] ページでは、グローバルをエクスポートできます。

このページにアクセスして使用するには、次の手順を実行します。

  1. [グローバル] ページを表示します。

  2. 操作対象のグローバルを指定します。これを行うには、“グローバル・ページの概要” セクションの手順 2 と 3 を参照してください。

  3. [エクスポート] ボタンをクリックします。

  4. グローバルのエクスポート先のファイルを指定します。ファイルを指定するには、そのファイルの絶対パス名または相対パス名を [エクスポートするファイルのサーバ <ホスト名> 上のパスと名前を入力する] フィールドに入力するか、[参照] をクリックして目的のファイルに移動します。

  5. [文字セット] リストを使用して、エクスポートするファイルの文字セットを選択します。

  6. ページ中央のボックスで、以下の操作を行います。

    • [出力形式] を選択します。

    • [レコード形式] を選択します。

  7. [削除をバックグラウンドで実行する場合はここをチェックします] にチェックを付けるか、チェックを外します。

  8. [エクスポート] をクリックします。

  9. そのファイルが既に存在する場合は、[OK] をクリックして、そのファイルを新しいバージョンで上書きします。

このエクスポートによって、.gof ファイルが作成されます。

グローバルのインポート

Caution:

グローバルをインポートする前に、InterSystems IRIS で使用されているグローバルと、アプリケーションで使用されているグローバルについて必ず把握してください。“一般的なアドバイス” を参照してください。元に戻すためのオプションはありません。既存のグローバルにグローバルをインポート (つまり、そのデータをマージ) した後に、そのグローバルを前の状態にリストアする方法はありません。

[グローバルインポート] ページでは、グローバルをインポートできます。このページにアクセスして使用するには、次の手順を実行します。

  1. [グローバル] ページを表示します。

  2. [インポート] ボタンをクリックします。

  3. インポートするファイルを指定します。ファイルを指定するには、そのファイルの絶対パス名または相対パス名を [インポートするファイルのパスと名前を入力する] フィールドに入力するか、[参照] をクリックして目的のファイルに移動します。

  4. [文字セット] リストを使用して、インポート・ファイルの文字セットを選択します。

  5. [次へ] を選択します。

  6. このテーブル内のチェック・ボックスを使用して、インポートするグローバルを選択します。

  7. 必要に応じて、[バックグラウンドでインポートを実行] にチェックを付けます。このオプションにチェックを付けると、タスクがバックグラウンドで実行されます。

  8. [インポート] をクリックします。

グローバル内の値の検索

[グローバル文字列検索] ページでは、添え字または選択したグローバルの値に含まれる特定の文字列を検索できます。

このページにアクセスして使用するには、次の手順を実行します。

  1. [グローバル] ページを表示します。

  2. 作業対象のグローバルを選択します。これを行うには、“グローバル・ページの概要” セクションの手順 2 と 3 を参照してください。

  3. [検索] ボタンをクリックします。

  4. [検索対象] に検索する文字列を入力します。

  5. 必要に応じて、[大文字小文字を区別] のチェックを外します。検索では、既定で大文字と小文字が区別されます。

  6. [最初を検索] または [すべて検索] のどちらかをクリックします。

    ページに、選択したグローバル内にある、指定した文字列を含む添え字または値を持つ、最初のノードまたはすべてのノードが表示されます。テーブルには、左側にノードの添え字、右側に対応する値が表示されます。

  7. [最初を検索] を使用した場合は、必要に応じて [次を検索] をクリックすると、次のノードを表示できます。

  8. 完了したら、[ウインドウを閉じる] をクリックします。

大規模な置換の実行

Caution:

編集する前に、InterSystems IRIS で使用されているグローバルと、アプリケーションで使用されているグローバルについて必ず把握してください。“一般的なアドバイス” を参照してください。このオプションでは、データが永久に変更されます。プロダクション・システムでの使用はお勧めしません。

開発での使用を目的として、[グローバル文字列検索] ページには、グローバル・ノード内の値の大規模な変更を行うためのオプションも用意されています。このオプション使用するには、以下の操作を実行します。

  1. [グローバル] ページを表示します。

  2. 作業対象のグローバルを選択します。これを行うには、“グローバル・ページの概要” セクションの手順 2 と 3 を参照してください。

  3. [置換] ボタンをクリックします。

  4. 前のセクションの説明に従って、このページを使用して値を検索します。

  5. [置換文字列] に値を指定します。

  6. [すべて置換] をクリックします。

  7. [OK] をクリックし、この操作を確定します。

    すると、ページに変更のプレビューが表示されます。

  8. その結果に問題がなければ、[保存] をクリックします。

  9. [OK] をクリックし、この操作を確定します。

グローバルの削除

Caution:

グローバルを削除する前に、InterSystems IRIS で使用されているグローバルと、アプリケーションで使用されているグローバルについて必ず把握してください。“一般的なアドバイス” を参照してください。元に戻すためのオプションはありません。そのため、削除したグローバルはリストアできません。

[グローバル削除] ページでは、グローバルを削除できます。このページにアクセスして使用するには、次の手順を実行します。

  1. [グローバル] ページを表示します。

  2. 作業対象のグローバルを選択します。これを行うには、“グローバル・ページの概要” セクションの手順 2 と 3 を参照してください。

  3. [削除] ボタンをクリックします。

  4. [OK] をクリックし、この操作を確定します。

管理タスク用 API

InterSystems IRIS には、この章で説明するタスクのいくつかを実行するための以下の API も用意されています。

  • %SYSTEM.OBJOpens in a new tab クラスには、以下のメソッドが用意されています。

    • Export() を使用すると、グローバルを XML ファイルにエクスポートできます。

    • Load() および LoadDir() を使用すると、XML ファイルに格納されているグローバルをインポートできます。

    いずれのメソッドも、$SYSTEM 変数を使用して使用できます。例 : $SYSTEM.OBJ.Export

  • %Library.GlobalOpens in a new tab クラスには、以下のメソッドが用意されています。

    • Export() を使用すると、グローバルを ..gof などのファイル形式 (XML を除く) にエクスポートできます。

    • Import() を使用すると、グローバルを ..gof などのファイル形式 (XML を除く) にインポートできます。

    %Library.GlobalOpens in a new tab には、Get() クラス・クエリも用意されています。これを使用すると、検索条件を指定してグローバルを検索できます。

追加の API へのポインタについては、"インターシステムズ・プログラミング・ツールの索引" の “グローバル” を参照してください。

FeedbackOpens in a new tab