InterSystems IRIS 複数インスタンスの使用法
InterSystems IRIS® データ・プラットフォームの複数のインスタンスを 1 つのホスト・システムにインストールして実行できます。各インスタンス は、独立した一意の InterSystems IRIS 環境です。
InterSystems IRIS インスタンスの管理
指定されたシステムにインストールされたいくつかの InterSystems IRIS インスタンスのうちの 1 つに接続し、これを管理する方法は数多くあります。最も一般的な 2 つのメソッドを以下に示します。
-
Windows ランチャー
Windows システム上にインストールされた各 InterSystems IRIS インスタンスは、システム・トレイに独自のランチャーを備え、以下の操作が可能となります。
-
管理ポータル、InterSystems ターミナル、およびスタジオ開発者クライアントを開くことで、インスタンスに接続します。
-
インスタンスを開始、停止、および再起動します。
-
ユーザおよび開発者のドキュメントを開きます。
ランチャーから、複数のリモート InterSystems IRIS インスタンスを管理することもできます。これらの管理には、リモート・バックアップの実行、構成設定の編集、リモートのオブジェクトおよびルーチンの作成やコンパイルなどが含まれますが、これらに限られるわけではありません。詳細は、このガイドの “リモート・サーバへの接続” の章を参照してください。
-
-
iris コマンド
オペレーティング・システムのコマンド行で iris コマンドを実行すると、InterSystems IRIS インスタンスへの管理アクセスが可能となり、以下の操作を行うことができます。
-
InterSystems ターミナルを使用してインスタンスに接続します。
-
インスタンスを開始、停止、および再起動します。
-
インスタンスに関する情報、およびシステムにインストールされている他のインスタンスに関する情報を表示します。
iris コマンドの詳細は、この章の "InterSystems IRIS インスタンスの接続" および "InterSystems IRIS インスタンスの制御" を参照してください。
リモート・サーバで iris コマンドを使用するには、Telnet または SSH クライアントを使用します。コンテナ化されたインスタンスでこれを使用するには、コンテナ内でこれを使用するか、docker exec コマンドを使用して、コンテナ外からこれを実行します。
-
InterSystems IRIS インスタンスの接続
InterSystems ターミナルは、InterSystems IRIS インスタンスの任意のネームスペースで使用できるコマンド行です。コマンド iris terminal instname (instname は、インストール時にインスタンスに付けた名前) を使用して、実行中のインスタンスのターミナルを開きます。 コンテナ化されたインスタンスは、一般に IRIS という名前が付与されます。
InterSystems ターミナルの使用方法については、InterSystems のオンライン学習 Web サイトでビデオ "Using The TerminalOpens in a new tab" を参照してください。
事前定義のユーザ・アカウントのいずれかとインストール時に指定したパスワードを使用するか、作成したアカウントを使用してログインします。表示されるプロンプトは、次のようなログイン・ネームスペースを示します。
# iris terminal IRIS
Node: intersystems2588, Instance: IRIS27
Username: admin
Password: ********
USER>
ターミナルを終了し、ウィンドウを閉じるには、コマンド halt を入力します。
docker exec コマンドを使用して、コンテナ化されたインスタンスのターミナルを開く場合 ("InterSystems IRIS の導入と操作" の "InterSystems ターミナルを使用した操作" の説明に従って)、自動的に irisowner としてログインされるため、認証は不要です。
Windows システムでは、InterSystems IRIS インスタンスの install-dir\bin ディレクトリからこのコマンドを実行するか、例えば c:\InterSystems\IRIS27\bin\iris terminal IRIS4 のようにコマンドにフル・パスを含める必要があります。指定されたインスタンスのバイナリを実行して、そのインスタンスまたは別のインスタンスに接続できます。どちらの場合もインスタンス名が必要です。
InterSystems IRIS インスタンスの制御
iris コマンドは、terminal を超える多くの関数をサポートし、iris function instname arguments の形式で呼び出されます。ここで instname はインストール時に選択したインスタンス名、arguments は関数によって異なります。
iris help コマンドによってコマンドのすべての関数と引数が表示されます。IRISHelp.html ファイルは install-dir\Help ディレクトリにあります。iris コマンドの一部の関数は、このドキュメントに記載されていませんが、help ディスプレイには表示されます。
iris コマンドは、プラットフォームによって動作が異なります。これを次の表で説明します。
UNIX®、Linux、および MacOS での iris コマンド
iris コマンドは、メッセージ・ボックスにエラー情報を表示することがよくあります。iris コマンドへの最後の引数として quietly を追加することで、このメッセージ・ボックスを抑制できます。この引数は、ダイアログを最小限にして非対話式でコマンドを実行します。この引数は、コマンドの確認を行うことなくインスタンスをシャットダウンする場合などにも有用です。
コマンドおよび説明 | 引数 |
---|---|
iris all
インストールされているすべてのインスタンスについて、1 行につき 1 インスタンスで、以下の説明のとおり要約情報をリストします。
Note:
解析やレポートのために完全な情報が必要な場合は、iris list を使用します。 |
|
iris allw
それぞれのインスタンスに対して同じ情報を iris all としてリストしますが、長いフィールド値はラップしません。行の長さは 80 文字以上になる場合があります。 |
|
iris console instname [arguments]
ターミナル・ウィンドウではなく、オペレーティング・システムのコマンド・ウィンドウで InterSystems ターミナルを開きます。 |
引数は iris terminal と同じです。 |
iris force instname
インスタンスを強制終了します。 |
|
iris help [arguments]
iris コマンドの最新情報を表示します。 |
start、stop、force — 起動、シャットダウン、および強制終了の各機能に固有のヘルプを表示します。 |
iris list [arguments]
インストールされている InterSystems IRIS インスタンスに関する情報を、以下の説明のとおりに表示します。 |
instname — オプションで、InterSystems IRIS インスタンスの名前を指定し、そのインスタンスに関する情報のみを表示します。例えば、iris list MyIRIS は、MyIRIS インスタンスに関する情報のみを表示します。 |
iris mdx instname — ##class(%DeepSee.Shell).%Go() を実行することにより、ターミナルから DeepSee シェルへ直接アクセスできます。 | |
iris merge instname [arguments]
構成マージ・ファイルをインスタンスに適用し、その CPF を更新します ("構成マージを使用した InterSystems IRIS の自動構成" を参照)。 |
[merge-file], [target-CPF] — 必要に応じて、適用するマージ・ファイルの場所、ターゲットの CPF (インスタンスのアクティブな CPF) の場所、またはその両方を指定できます。例えば、iris merge MyIRIS /tmp/merge.cpf /net/home/MyIRIS は、マージ・ファイル /tmp/merge.cpf をインスタンス MyIRIS に適用します。このインスタンスのアクティブな CPF は /net/home/MyIRIS にあります。マージ・ファイルまたはターゲット CPF を指定していない場合、環境変数が存在すればそれが使用されます。詳細は、"構成マージを使用して既存のインスタンスを再構成する方法" を参照してください。 |
iris python instname — ##class(%SYS.Python).Shell() を実行することにより、ターミナルから Python シェルへ直接アクセスできます。
Note:
このコマンドが機能するためには、"組み込み Python の使用法" の説明に従って Python をインストールする必要があります。 |
|
iris qall
それぞれのインスタンスに対して同じ情報を iris all としてリストしますが、長い行は 78 文字に終了チルダ (~) 1 つを加えた長さに切り捨てられます。 |
|
iris qlist [arguments]
iris list と同様ですが、追加情報があります。各インスタンス (以下で説明) は、1 行でキャレット (^) で区切って出力されます。 |
instname — オプションで、InterSystems IRIS インスタンスの名前を指定し、そのインスタンスに関する情報のみを表示します。例えば、iris qlist MyIRIS は、MyIRIS インスタンスに関する情報のみを表示します。 |
iris rename instname newname
インスタンスの名前を変更します。 |
|
iris restart instname [arguments]
インスタンスを再起動します。iris stop instname と同等の機能です。 restart |
nofailover — このオプション引数を指定すると、ミラー・フェイルオーバーがトリガされません。 |
iris sql instname — ##class(%SQL.Shell).%Go() を実行することにより、ターミナルから SQL シェルへ直接アクセスできます。 | |
iris start instname [arguments]
インスタンスを開始します。
Note:
“緊急モード” での起動を求めるメッセージが表示されることがあります。その場合は、"緊急アクセス" を参照してください。 |
full CPF path — 既定で InterSystems IRIS は、<install-dir>/mgr ディレクトリにある iris.cpf ファイルから特定の設定を読み取ります。代わりに使用する別の .cpf ファイルへのフル・パスを指定することもできます。 nostu — ^STU を実行せずに、指定したインスタンスを開始します。 |
iris stat instname
irisstat ユーティリティと同じシステムの統計を取得します ("監視ガイド" の付録 “irisstat ユーティリティを使用した InterSystems IRIS の監視” を参照)。 |
|
iris stop instname [arguments]
インスタンスをシャットダウンします。 |
restart — インスタンスのシャットダウン後にそのインスタンスを開始します。 nofailover — このオプションの引数を指定すると、ミラー・フェイルオーバーがトリガされません。 |
iris stopnoshut instname [arguments]
INTNOSHUT^SHUTDOWN を実行して、ユーザのシャットダウン・ルーチンを実行せずに、指定したインスタンスをシャットダウンします。
Note:
インスタンス所有者と irisusr のみが、ターミナルにログインすることなく INTNOSHUT^SHUTDOWN を実行できます。 |
nofailover — このオプションの引数を指定すると、ミラー・フェイルオーバーがトリガされません。 |
iris terminal instname [arguments]
インスタンスの InterSystems ターミナルを開きます。 |
-B — ターミナルへのシステム管理者の緊急ログインを有効にします (“ライセンス” の章の "管理者ターミナル・セッション" を参照)。 -b partition_size — プロセスの最大パーティション・サイズ (KB) を指定します。 "[label[+offset]]^routine" — ユーザ・モードで実行する ObjectScript プログラムの名前を指定します。指定の形式のほかに、文字列または数値リテラルで構成するパラメータ、および省略 (void) パラメータを以下のように渡すことができます。
ここでは例えば、parameter-list を "string literal",,-+-000123.45600E+07 の形式で指定し、省略パラメータは $Data(parameter)=0 としてターゲットへ渡します。
Note:
空白やシェル・メタ文字は、オペレーティング・システムに依存する形式で引用する必要があります。 -U namespace — ターミナルのログイン・ネームスペースを指定します。
Note:
[開始ネームスペース] が指定されているユーザ・アカウントで InterSystems IRIS を開始した場合は、-U 引数に効果はありません ("ユーザ・アカウントのプロパティ" を参照)。 |
Windows での iris コマンド
Windows では、install-dir\bin ディレクトリから iris コマンドを実行する必要があります (または、コマンドにフル・パスを含めます)。
コマンドおよび説明 | 引数 |
---|---|
iris all
インストールされているすべてのインスタンスについて、1 行につき 1 インスタンスで、以下の説明のとおり要約情報をリストします。
Note:
解析やレポートのために完全な情報が必要な場合は、iris list を使用します。 |
|
iris allw
それぞれのインスタンスに対して同じ情報を iris all としてリストしますが、長いフィールド値はラップしません。行の長さは 80 文字以上になる場合があります。 |
|
iris console instname [arguments]
ターミナル・ウィンドウではなく、オペレーティング・システムのコマンド・ウィンドウで InterSystems ターミナルを開きます。 |
引数は iris terminal と同じです。 |
iris force instname
インスタンスを強制終了します。 |
|
iris help
iris コマンドの最新情報を表示します。 |
|
iris list [arguments]
インストールされている InterSystems IRIS インスタンスに関する情報を、以下の説明のとおりに表示します。 |
instname — オプションで、InterSystems IRIS インスタンスの名前を指定し、そのインスタンスに関する情報のみを表示します。例えば、iris list MyIRIS は、MyIRIS インスタンスに関する情報のみを表示します。 |
iris qlist [arguments]
iris list と同様ですが、追加情報があります。各インスタンス (以下で説明) は、1 行でキャレット (^) で区切って出力されます。 |
instname — オプションで、InterSystems IRIS インスタンスの名前を指定し、そのインスタンスに関する情報のみを表示します。例えば、iris qlist MyIRIS は、MyIRIS インスタンスに関する情報のみを表示します。 |
iris restart instname [arguments]
インスタンスのシャットダウン後にそのインスタンスを開始します。 |
/nofailover — このオプションの引数を指定すると、ミラー・フェイルオーバーがトリガされません。 |
iris run instname [arguments]
$Principal の入出力デバイスを使用せず、プログラマ・モードで InterSystems IRIS を実行します。 |
引数は iris terminal と同じです。 |
iris runw instname routine [arguments]
$Principal の入出力デバイスを使用せず、アプリケーション・モードで指定の InterSystems IRIS ルーチンを実行します。バッチ・スクリプトから実行した場合、コマンドは InterSystems IRIS プロセスが終了するのを待ってから、そのプロセスからの終了コードを返します。 |
namespace — 指定されたネームスペースでルーチンを実行します。
Note:
[開始ネームスペース] が指定されているユーザ・アカウントで InterSystems IRIS を開始した場合は、namespace 引数に効果はありません ("ユーザ・アカウントのプロパティ" を参照)。 |
iris start instname [arguments]
インスタンスを開始します。
Note:
“緊急モード” での起動を求めるメッセージが表示されることがあります。その場合は、"暗号化ガイド" の "緊急事態への対処" を参照してください。 |
full CPF path — 既定で InterSystems IRIS は、<install-dir>/mgr ディレクトリにある iris.cpf ファイルから特定の設定を読み取ります。代わりに使用する別の .cpf ファイルへのフル・パスを指定することもできます。 |
iris startnostu instname
^STU を実行せずに、指定したインスタンスを開始します。 |
|
iris stop instname [arguments]
インスタンスをシャットダウンします。 |
/nofailover — このオプションの引数を指定すると、ミラー・フェイルオーバーがトリガされません。 |
iris stopnoshut instname [arguments]
INTNOSHUT^SHUTDOWN を実行して、ユーザのシャットダウン・ルーチンを実行せずに、指定したインスタンスをシャットダウンします。
Note:
インスタンス所有者と irisusr のみが、ターミナルにログインすることなく INTNOSHUT^SHUTDOWN を実行できます。 |
/nofailover — このオプションの引数を指定すると、ミラー・フェイルオーバーがトリガされません。 |
iris stopstart instname [arguments]
インスタンスのシャットダウン後にそのインスタンスを開始します。 |
/nofailover — このオプションの引数を指定すると、ミラー・フェイルオーバーがトリガされません。 |
iris terminal instname [arguments]
インスタンスの InterSystems ターミナルを開きます。 |
routine — $Principal のターミナルで、指定した InterSystems IRIS ルーチンをアプリケーション・モードで実行します "[label[+offset]]^routine" — ユーザ・モードで実行する ObjectScript プログラムの名前を指定します。指定の形式のほかに、文字列または数値リテラルで構成するパラメータ、および省略 (void) パラメータを以下のように渡すことができます。
ここでは例えば、parameter-list を "string literal",,-+-000123.45600E+07 の形式で指定し、省略パラメータは $Data(parameter)=0 としてターゲットへ渡します。
Note:
空白やシェル・メタ文字は、オペレーティング・システムに依存する形式で引用する必要があります。 namespace — routine と共に使用され、指示されたネームスペースでルーチンを実行します。
Note:
[開始ネームスペース] が指定されているユーザ・アカウントで InterSystems IRIS を開始した場合は、namespace に効果はありません ("ユーザ・アカウントのプロパティ" を参照)。 |
iris list、qlist、および all
ここでは、一部の iris 関数に関する追加情報について説明します。
1 つ以上の InterSystems IRIS インスタンスに関する以下の情報をリストします。
-
インスタンスの状態 (以下の状態)
-
<blank> (状態利用不可、ログイン無効)
-
dn (ダウンまたはクラッシュ)
-
up (実行中)
-
st (開始または停止)
-
-
インスタンス名
-
InterSystems IRIS のバージョン
-
スーパーサーバのポート番号
-
インストール・ディレクトリ
1 つ以上の InterSystems IRIS インスタンスに関する以下の情報をリストします。
-
インスタンス名 (およびインストール・タイプ)
-
インストール・ディレクトリ
-
InterSystems IRIS のバージョン
-
InterSystems IRIS パラメータ (.cpf) ファイルのパス名
-
スーパーサーバおよび Web サーバのポート番号
-
インスタンスの状態 (以下の状態)
-
実行
-
ダウン
-
開始または停止
-
開始または停止が不完全、ログイン無効
-
-
インスタンスのシステム・ヘルス状態 (実行中の場合。"監視ガイド" の “システム・モニタの使用” の章にある "システム・モニタのヘルス状態" を参照。Windows の場合は含まれません)
-
ミラー・メンバのタイプとステータス (ミラー・メンバの場合。%SYSTEM.Mirror.GetMemberType()Opens in a new tab および %SYSTEM.Mirror.GetMemberStatus()Opens in a new tab を参照)
1 つ以上の InterSystems IRIS インスタンスについて、以下の情報を 1 行にキャレット (^) で区切って出力します。
-
インスタンス名 (およびインストール・タイプ)
-
インストール・ディレクトリ
-
InterSystems IRIS のバージョン
-
インスタンスの状態
-
インストール・ディレクトリを基準にした、現在の構成パラメータ・ファイルのパス名。Windows システムでは、代わりにフル・パスが示されます。
-
スーパーサーバのポート番号
-
Web サーバのポート番号
-
JDBC ゲートウェイのポート番号
-
インスタンスのシステム・ヘルス状態 (実行中の場合。Windows の場合は常に空白)
-
製品名
-
ミラー・メンバのタイプ (ミラー・メンバの場合)
-
ミラー・ステータス (ミラー・メンバの場合)
-
データ・ディレクトリ (該当する場合)
複数の InterSystems IRIS インスタンスの構成
1 台のマシンに、InterSystems IRIS の複数のインスタンスをインストールし、同時に実行できます。単一のインストールとして InterSystems IRIS をインストールする場合は、各インスタンスに一意の名前、一意のインストール・ディレクトリ、およびスーパーサーバ、Web サーバ、および Telnet 用の一意のポート番号を指定します。
複数のインスタンスに関する特別な考慮事項は以下のとおりです。
-
複数のインスタンスをインストールする場合、1 つのシステムにつき 1 つのコンポーネントしかインストールできません。例えば、通常 Web サーバはシステムに 1 つに制限されるため、InterSystems IRIS をインストールすると、Web ゲートウェイが最新のインストールに対して構成されます。レジストリに格納されている InterSystems IRIS クライアント・コンポーネントについても、同様の問題が発生します。InterSystems IRIS では、その ODBC ドライバが、それぞれ 1 つの名前を使用してレジストリに格納されます。現在、これらのコンポーネントは、インストールされている最新のインスタンスを参照するように、最新のインストールによって更新されるようになっています。
インターシステムズは、InterSystems IRIS インスタンス全体で共有できるように、共通のコンポーネントを共通のディレクトリに移動する作業を進めています。
-
複数のインスタンスで、同じマルチサーバ・キーを共有できます。しかし、その場合は同じ 1 つのあるいは 1 組みのライセンス・サーバを使用する必要があります。1 つ以上のライセンス・サーバの下で InterSystems IRIS インスタンスを実行するそれぞれのシステムのローカルには、インスタンスごとに認証ライセンス・キー・ファイルのコピーがインストールされている必要があります。
-
複数のインスタンスはネットワーク接続できます。
-
データベースは、同時に複数のインスタンスからは使用できないように保護されています (各インスタンスは個別にデータベースが必要です。他のインスタンスのデータベースにアクセスしたり修正することはできません)。
-
各インスタンスには一意のポート番号が必要です。ポート番号の設定方法の詳細は、次のセクションを参照してください。
ポート番号の設定
標準では、単一の InterSystems IRIS インスタンスのスーパーサーバ・ポート番号は既定で 1972 です。1 台のマシンに InterSystems IRIS のインスタンスを複数設定する場合、それぞれに一意のポート番号が必要です。自動的にポート番号を設定するようにした場合、後続のインスタンスにはインストール中に番号が割り当てられます。また、インストール中に手動でポート番号を入力することもできます。標準のインストールでは、InterSystems IRIS インスタンスに以下のポート番号が設定されます。
-
スーパーサーバのポート番号 — 1972 (使用可能な場合)。それ以外の場合、ポートは 51773、またはこれ以降の使用可能な最初のポート番号に設定されます。
-
Web サーバのポート番号 — 52773、またはこれ以降の使用可能な最初のポート番号。
-
Telnet ポート番号 — 23
InterSystems IRIS インストールの際にスーパーサーバまたは Web サーバにポート番号が割り当てられるため、たいていの場合はこれらのポート番号を変更する必要はありません。ただし、各インスタンスに一意の Telnet ポート番号は割り当てる必要はあります。管理ポータルの [メモリと開始設定] ページ ([システム管理]→[構成]→[システム構成]→[メモリと開始設定]) から、インストール後にスーパーサーバのポート値を変更できます。また、管理ポータルの [開始設定] ページ ([システム管理]→[構成]→[追加設定]→[開始]) および [Telnet 設定] ページ ([システム管理]→[構成]→[デバイス設定]→[Telnet 設定]) から、インストール後にそれぞれ Web サーバおよび Telnet ポートの値を変更できます。
1 台のマシンで複数の InterSystems IRIS インスタンスを頻繁に使用および管理する場合、それぞれに一意のポート番号が割り当てられていることを確認します。一意のポート番号を割り当てることによって、1 つの Windows クライアントから複数のインスタンス上の InterSystems IRIS ランチャー・ツールを使用する際の混乱を回避できます。