環境変数

直接または間接的にGT.Mで使用される環境変数の広範囲なリストは次のとおりです。

EDITOR は、ZEDitコマンド(デフォルトでは $EDITOR が設定されていない場合は vi )に応答してGT.Mによって呼び出されるエディタへのフルパスを指定する標準的なシステム環境変数です。

gtm_autorelink_keeprtn:環境変数

$GTMCI はMコードにCコードからの関数呼び出しのためにコールイン(call-in)テーブルを指定します。

GTMXC_gpgagent は、gpgagent.tabの場所を指定します。デフォルトでは、GT.Mは gpgagent.tab を $gtm_dist/plugin/ ディレクトリに置きます。GTMXC_gpgagent は pinentry-gtm.sh によって使用され、Gnu Privacy Guardバージョン2を使用している場合にのみ意味があります。

$LC_CTYPE は、ロケールを指定するために使用される標準システム環境変数です。$gtm_chset が "UTF-8"の値の時、$LC_CTYPEはUTF-8ロケール(たとえば、"en_US.utf8")を指定する必要があります。

$LC_ALL は UTF-8をサポートするロケールを選択するために使用される標準システム環境変数です。LC_ALLは、LC_TYPEに代わります、LC_TYPEをオーバーライドし、GT.M.を超えた環境の他の側面には、より広範な影響を与えません。

$LD_LIBRARY_PATH は ICUの場所を指すための標準システム環境変数(AIXでのLIBPATH)です。GT.Mは ICU 3.6(またはそれ以上)のUnicode関連機能を実行する必要があります。

TZ は、GT.Mプロセスがデフォルトのシステムタイムゾーンを使用しない場合(GT.MはシステムクロックがUTCに設定されていることを前提)、使用するタイムゾーンを指定する標準システム環境変数です。

gtm_autorelink_keeprtn が1 または t [rue] または y [es] に設定されていると、プロセスの終了では、自動再リンクルーチンが共有メモリに残されます。環境変数 gtm_autorelink_keeprtn が 未定義 または 0 または f[alse] または n[o] でない場合、プロセスの終了では、他のプロセスがそれらを使用していない場合、共有メモリ内の自動再リンクルーチンが消去(purge)されます。gtm_autorelink_keeprtn の値にかかわらず、オペレーティングシステムは、プロセスにアクセスしていないプロセスが存在しない場合、自動再リンクの共有メモリ・リポジトリを削除します。

すべての値は大文字と小文字を区別しません。gtm_autorelink_keeprtn が定義され、それがTRUEの場合:

gtm_autorelink_shm は、自動再リンク機能によって使用される初期 Rtnobj(ルーチンオブジェクト)共有メモリセグメントのサイズ(MiB単位)を指定します。もしgtm_autorelink_shmの値が2の累乗でない場合、GT.Mは、2の累乗より高い整数の次の値に値を丸めます。もし最初のオブジェクト(.o)ファイルが新しいRtnobj(ルーチンオブジェクト)セグメントに収まらない場合、GT.Mは、それを適合させるのに必要な最小の2の累乗まで割り当てを丸めます。GT.Mがオブジェクトファイルのためのスペースを必要とし、既存のRtnobj(ルーチンオブジェクト)セグメントに十分な空き領域がない場合、追加共有メモリセグメントが作成されます。hugepage が有効な場合、実際のRtnobj(ルーチンオブジェクト)共有メモリのサイズは、$gtm_autorelink_shmを介して暗黙的にまたは明示的に要求されたもの以上になることに注意してください。

$gtm_badcharは、不正なUTF-8文字シーケンスに遭遇したときに、GT.Mがエラーを発生させるかどうかを決定する初期設定を指定します。この設定は、VIEW "[NO]BADCHAR" コマンドで変更することができ、Mモードでは無視されます。

$gtm_baktmpdir は、 mupip backupがテンポラリファイルを作成するそのディレクトリを指定します。もし$gtm_baktmpdirが定義されている場合はGT.Mは$GTM_BAKTMPDIR環境変数を使用します、もし定義されていない場合とそれ以外の場合は、現在の作業ディレクトリを使用します。オンライン IBACKUP 中に更新を実行するすべてのプロセスは、同じディレクトリを使用し、そのディレクトリに書き込みアクセス権を持っている必要があります。

gtm_boolean は、GT.Mがブール式の評価(論理TRUEまたはFALSEとして評価される式)をどのようにコンパイルするかを決定する初期設定を指定します。gtm_booleanが未定義であるか、または整数ゼロ(0)に評価されると、GT.Mは VIEW "NOFULL_BOOLEAN" の後で動作するようにふるまい、最終結果を確定するとブール式の評価を停止するようにコンパイルします。以下の点に注意してください:

$gtm_chset は、GT.Mの動作でモードを決定します。もし値が "UTF-8"の場合、GT.Mは文字列がUTF-8でエンコードされているとみなします。GT.Mは、 "M" の値(または実際には "UTF-8"以外の値)に応答して、バイト内の8ビットのすべての256個の組み合わせを1文字として扱います。

$gtm_chset_locale (z/OSのみ)は、z/OS上でUTF-8の操作のためにロケールを指定します。

$gtm_collate_n は、照合が使用されている時に代替シーケンスのルーチンを保持する共有ライブラリを指定します。構文は gtm_collate_n=pathname です。n は照合順序を識別する1〜255の整数です。パス名(pathname)はその照合順序のためのルーチンを含む共有ライブラリを識別します。

gtm_db_startup_max_wait は、データベース・ファイルに最初にアクセスしたときのリソース競合の解決を待機する時間を指定します。GT.Mは、UNIXプロセス間通信(IPC)サービスを使用して維持されたセマフォを使用して、データベースファイルおよび関連する共有メモリの整然とした初期化およびシャットダウンを保証します。通常、IPCリソースは、非常に短い間隔でのみ排他状態に保持されます。ただし、非常に多数の同時データベース初期化、スタンドアロン・アクセス( INTEG -FILE、または、RESTOREなど)を伴う長時間実行されるMUPIP 操作、OSの過負荷または予期しないプロセス障害など、異常な状況下では、リソースは予期しない長さの間使用できなくなる可能性があります。$gtm_db_startup_max_wait は、リソースが使用可能になるのを待つ時間を指定します。

もし $gtm_db_startup_max_wait が定義されていない場合の待機のデフォルト値は96秒です。

gtm_crypt_plugin:もしプラグインのリファレンス実装を介して Blowfish CFBをV6.0-001で使用し続ける場合は、インストール後のシンボリックリンクを変更するか、環境変数 gtm_crypt_plugin を定義する必要があります。もし環境変数 gtm_crypt_plugin が定義されていて、$gtm_dist/plugin に関連する共有ライブラリへのパスを提供する場合、GT.Mは、$gtm_dist/plugin/$gtm_crypt_plugin をプラグインを提供する共有ライブラリとして使用します。もし $gtm_crypt_plugin が定義されていない場合、GT.Mは $gtm_dist/plugin/libgtmcrypt.so がプラグインを提供する共有ライブラリへのシンボリックリンクであると想定します。実際の共有ライブラリの予想される名前は libgtmcrypt_cryptlib_CIPHER.so です(プラットフォームによっては実際の拡張子が .so と異なる場合があります)。たとえば libgtmcrypt_openssl_AESCFB です。GT.Mは、OpenSSLで実装されている暗号が実際にAES CFBであることを保証することはできません。GT.Mは、CIPHERをデータベース・ファイル・ヘッダーのハッシュキー用のsaltとして使用し、cryptlib は利便性のために使用しています。たとえば、トラブルシューティングのために使用します。GT.M ディストリビューションをインストールすると、デフォルトのシンボリックリンクが作成されます。

gtm_custom_errors は、インスタンス・フリーズ・メカニズムが有効になっているインスタンスのそれらの領域(Region) のすべての更新を自動的に停止する必要があるエラーのリストを含むファイルへの完全なパスを指定します。

$gtm_dbkeys は データベースファイルとそれらに対応するキーファイルのリストを提供するファイル名のために、暗号リファレンス・プラグイン(GT.Mでは直接的に使用されていない)で使用されます。

$gtm_dist 環境変数は、GT.Mシステムのディストリビューションを含むディレクトリ・パスを指定します。gtm_distは、各ユーザごとに定義する必要があります。もし gtm スクリプトを使用していない場合や、gtmprofile でsourceコマンドを実行している場合は、ログインファイルまたはデフォルトのシステム環境の一部としてgtm_distを定義することを検討してください。UTF-8モードで、gtm_dist環境変数は、Unicode用のGT.Mディストリビューションシステムを含むディレクトリのパスを指定します。Unicode用のディストリビューションは、GT.Mディストリビューションディレクトリの下の utf8 サブディレクトリに位置しています。たとえば、もしGT.Mディストリビューションが /usr/lib/fis-gtm/V6.1-000_x86にある場合、gtm_dist が /usr/lib/fis-gtm/V6.0-003_x86/utf8を指すようにUTF- 8モードに設定します。GT.M 実行可能プログラムの正しい動作には、gtm_dist が正しく設定されている必要があります。

gtm_dmterm は、$PRINCIPALに適用されたアプリケーション設定がダイレクト・モードの対話にも適用されるプロセスの開始時に [NO]DMTERM状態を指定します。大文字と小文字を区別しない "1"、 "yes"、 "true"の値は、直接モードがデフォルトの端末特性を使用し、$PRINCIPALのアプリケーション設定を無視するプロセスの開始時にDMTERM状態を確立します。値を含まない他のすべての値は、デフォルトのVIEW "NODMTERM" の振る舞いを生じます。

$gtm_env_translate は、オプションでGT.M環境の変換機能を実装するために共有ライブラリへのパスを指定します。

gtm_etrap は、$ETRAPの初期値を指定して、$ZTRAPのデフォルト値 "B" をベースレベルのエラーハンドラとして上書きします。gtmprofile スクリプトは、gtm_etrapを "Write:(0=$STACK) ""Error occurred: "",$ZStatus,!" として設定してありますが、あなたのニーズに合わせてカスタマイズすることができます。

gtm_extract_nocol は、カスタム照合を使用するデータベースで MUPIP JOURNAL -EXTRACT( -RECOVERまたは-ROLLBACKなしで使用する場合)がデータベースファイルを読み取れない場合、デフォルト照合を使用するかどうかを指定します。データベースファイルにアクセスできない、または、レプリケーション・インスタンスが凍結され、別のプロセスが保持するアクセスに必要なクリティカルセクションがあり、環境変数 gtm_extract_nocol が定義され、非ゼロの整数または大文字と小文字を区別しない文字列または先頭に評価される "TRUE"または "YES"の部分文字列である場合、MUPIP JOURNAL -EXTRACT は、DBCOLLREQ警告を発行し、デフォルト照合を使用して抽出を処理します。もし gtm_extract_nocol が設定されていないか、正の整数または大文字と小文字を区別しないストリングまたは "FALSE" または "NO" の先頭部分文字列以外の値に評価されると、MUPIP JOURNAL -EXTRACTはSETEXTRENVエラーで終了します。

注意 Warning : 警告

注意:カスタム照合を使用するデータベースでデフォルトの照合が使用されている場合、MUPIP JOURNAL-EXTRACTによって報告された添字は、データベースに格納されている添え字であり、アプリケーション・プログラムによって読み書きされたものと異なる場合があります。

$gtm_fullblockwrites は、まだ一杯になっていないデータベースブロックに書き込む際に、GT.Mプロセスが一杯になったデータベースブロックのバイトの値を書きこむべきかどうかを、指定します。IOサブシステムに依存していて、(終了時に未使用のゴミバイトがある場合でさえも)一杯になったデータベースブロックのバイトの値を書き込んで、単一書き込み操作(single write)でread-modify-readのローレベルIO操作に置き換えることによって、より良いデータベースのIO性能のとなる可能性があります。

$gtm_gdscert は、GT.Mプロセスが更新されたデータベースブロックの構造的損傷をテストするかどうかを制御する初期設定を指定します。もし定義されていて、ゼロでない整数、または、大文字と小文字を区別しない文字列、または、 "TRUE"、または、 "YES"の先頭部分文字列を評価する場合、GT.Mは、プロセスがコミットするたびに、ブロックごとにブロックレベルの整合性チェックを実行します。実行中のプロセス内で、VIEW "GDSCERT":値がこの設定を制御します。デフォルトでは、パフォーマンスへの影響は通常不当であるため、GT.Mはデータベースブロックの構造的損傷をチェックしません。

gtm_gvdupsetnoop は、GT.Mプロセスが重複SETの最適化を有効にするかどうかを決定する初期値を指定します。もし 定義されていて、ゼロでない整数、または、 "TRUE"、または、 "YES"の大文字小文字を区別しない文字列または先頭の部分文字列を評価する場合、SETコマンドで既存のノードの値が変更されない場合、GT.Mは 更新を実行するか、ノードに指定されたトリガーコードを実行します。実行中のプロセス内で、VIEW "GVDUPSETNOOP":値がこの動作を制御します。 デフォルトでは、GT.Mはこの最適化を有効にします。

$gtm_icu_version は、希望のICUのメジャーバージョンとマイナーバージョン番号を指定します。例えば、 "3.6" はICU-3.6を示します。もし $gtm_chset が"UTF-8"の値を持っている場合、GT.Mはlibicuバージョン3.6以上が必要です。もし複数の libicuのバージョン間を選択する必要がある場合やlibicuがシンボルの名前変更を有効にしてコンパイルされている場合、GT.Mはgtm_icu_versionが明示的に設定する必要があります。

gtm_ipv4_only は、ソースサーバがレシーバー サーバとのIPv4接続のみを確立するかどうかを指定します。もし定義されていて、ゼロ以外の整数、または、 "TRUE"、または、 "YES"の大文字小文字を区別しない文字列または先頭の部分文字列であると評価される場合、ソースサーバは、レシーバー サーバ とのIPv4接続のみを確立します。IPv4とIPv6アドレスに異なるサーバー名が使用されておらず、ソース・サーバーがV6.0-003より前のGT.Mバージョンを実行している レシーバー・サーバーに接続する環境では、gtm_ipv4_onlyを設定します。

gtm_jnl_release_timeout は、ジャーナル・ファイルをクローズする前にオープン・ジャーナル・ファイルにアクティビティーがないときに複製ソース・サーバーが待機する秒数を指定します。デフォルトの待機時間は300秒(5分)です。もし $gtm_jnl_release_timeout に 0 が指定されている場合、ソースサーバはシャットダウンまで現在のジャーナルファイルを開いたままにします。$gtm_jnl_release_timeout の最大値は2147483秒です。

gtm_keep_obj は gtminstall スクリプトがオブジェクトファイルをGT.Mインストールディレクトリから削除するかどうかを指定します。もし gtm_keep_obj が "Y"に設定されている場合、gtminstall スクリプトはオブジェクトファイルを残します。デフォルトでは、gtminstall はオブジェクトファイルを共有ライブラリにアーカイブした後に削除します。

$gtm_lct_stdnull は、 GT.Mプロセスがnull添字を持つローカル変数のための標準の照合順序かまたはレガシーなGT.Mの照合順序を使用するかどうかを指定します。

$gtm_local_collate は、ローカル変数のための代替照合順序を指定します。

gtm_link は、GT.M が同じルーチンの複数のバージョンをMの仮想マシンの異なるスタックレベルでアクティブにできるかどうかを決定する初期設定を指定します。VIEW "LINK":"[NO]RECURSIVE"コマンド は、アクティブなプロセスでこれを変更します。もし gtm_link が "RECURSIVE"に設定されている場合、同じ名前のルーチンがアクティブで現在のスタックで使用可能な場合でも、自動再リンクと明示的なZLINKコマンドは、新しいオブジェクトをリンクします。プロセスが既存のルーチンと同じ名前のルーチンをリンクすると、将来の呼び出しで新しいルーチンが使用されます。スタックによって参照されるそのルーチンの以前のバージョンは、QUITまでスタックに結び付けられており、その時点ではアクセスできない状態になります。これにより、長時間実行されるプロセスにパッチを当てる仕組みが提供されます。もし gtm_link が未定義であるか、または、NORECURSIVE、または "RECURSIVE" 以外の値に設定されている場合、auto-zlink は古いルーチンを置き換え、プロセスが呼び出しを使用しなくなり、ZLINKコマンドが、GT.M 呼び出しスタック上のアクティブなルーチンを再リンクしようと試みる時に LOADRUNNING エラーを生成します。

$gtm_log は gtm_secshr_logファイルに格納されるディレクトリを指定します。gtm_secshr_logファイルは、gtmsecshrプロセスに集められた情報を格納します。ユーザのGT.Mプロセスがgtmsecshrを呼び出すことに関係なく、常にgtmsecshrは、同じディレクトリ内の情報をログすることを、システム全体のデフォルトとして、gtm_logために確立します。これらをFIS社は推奨します。ファイルシステム階層標準に準拠して、複数のディレクトリに同じバージョンのGT.Mをインストールしない限り、FISは、$gtm_log の値として /var/log/fis-gtm/$gtmver を推奨します。$gtmverは、現在のGT.Mのリリースとプラットフォームの情報を表す V6.1-000_x86の形式にすることができます。もし $gtm_log を設定していない場合 、GT.Mは、/tmp (AIX、GNU/Linux、Tru64 UNIX)や /var/tmp(HP-UX、Solaris) のディレクトリにログファイルを作成します。しかし、これは、テンポラリディレクトリの保存方針によりGT.Mログファイルが脆弱になるので、推奨されません。

[重要] 重要

V6.0-000以降、gtmsecshr はメッセージをシステム・ログに記録し、環境変数 gtm_log は無視されます。

$gtm_max_sockets は、ソケットのデバイス用のクライアント接続の最大数を指定します。デフォルトは64です。

$gtm_memory_reserve は、 GT.Mがメモリ不足の状況を処理およびレポートで使用する必要のある予備メモリのサイズ(KB単位)を指定します。デフォルトは64(KiB)です。

$gtm_nocenable は、プロセスを直接モードにするために $principal で指定される端末デバイスが、<CTRL-C>を無視するか、<CTRL-C>をシグナルとして使用するかどうかを指定します。USEコマンドはこのデバイス特性を変更することができます。もし gtm_nocenable が定義され、非ゼロの整数、または、 "TRUE"、または、 "YES"の大文字小文字を区別しない文字列または先頭の部分文字列であると評価された場合、$principal は <CTRL-C>を無視します。もし gtm_nocenable が設定されていないか、正の整数、または、大文字小文字を区別しない文字列、または、 "FALSE"、または、 "NO"の先頭部分文字列以外の値に評価された場合、$principal 上の<CTRL-C>は、次の機会に(通常は次のソース行の先頭に対応するポイント)プロセスをダイレクト・モードにします。

gtm_non_blocked_write_retries は、FIFOまたはPIPEの書き込み動作を変更します。ブロックするようなWRITEは、それぞれのリトライ間に100ミリ秒の遅延で指定した数までリトライされます。デフォルト値は10回です。

$gtm_noundef は、GT.Mプロセスが未定義の変数を空の文字列の暗黙の値として扱うかどうかを制御する初期設定を指定します。もし定義されていて、非ゼロの整数、または、"TRUE"、または、 "YES"の大文字小文字の区別されない文字列または先頭の部分文字列を評価する場合、GT.Mは未定義の変数を空の文字列の暗黙の値として扱います。VIEW "[NO]UNDEF" コマンドは、アクティブなプロセスでこの動作を変更することができます。デフォルトでは、GT.Mは未定義の変数の値を使用しようとするとエラーを通知します。

$gtm_passwd は、GNU Privacy Guard キーリングへの難読化(非暗号化)パスワードのために、暗号化リファレンスプラグイン(GT.Mが直接使用しない)で使用されます。

$gtm_patnumeric は、UTF-8モードで ISV $ZPATNUMERIC の初期値を指定します。SETコマンドで、アクティブなプロセスで $ZPATNUMERIC の値を変更できます。

$gtm_pattern_file $gtm_pattern_table は、? (パターン)シンタックスで代替パターンを指定します。(pattern) syntax.

gtm_poollimit は、他のプロセスへの潜在的な影響を制限するためにプロセスが使用するグローバルバッファの数を制限します。これらのプロセスがグローバルバッファを "チャーン(撹拌)"する可能性がある場合、プロセスの比較的小さなサブセットでの使用を意図しています。値はパーセント記号(%)で終わる時にフォームがn [%]であり、数は構成済みグローバル・バッファーのパーセンテージとして、そうでなければ優先バッファーの序数としてとられます。標準Mの解析と整数変換が適用されます。この環境変数は、プロセスがアクセスするすべての領域(Region)に適用されることに注意してください。この機能のVIEWコマンドを使用すると、きめ細かな制御が可能になります。MUPIP REORGは、この機能を使用して、もし gtm_poollimit が指定されていない場合、バッファをデフォルトの64に制限します。これは、スタンドアロンのREORGを少し遅くするかもしれないが、gtm_poollimit を 0 または "100%" として定義することで上書きできることに注意してください。

$gtm_patnumeric は、UTF-8モードで ISV $ZPATNUMERIC の初期値を指定します。

$gtm_principal は現用 $IO デバイスの代替名(シノニム)を名付ける $principalの値を指定します。

gtm_principal_editing は、次のデバイスパラメータの $PRINCIPALの初期設定を指定します: [NO]EDITING [NO]EMPTERM と [NO]INSERT ; アクティブ・プロセスでは、USEコマンドはこれらのデバイス特性を変更できます。

[注意] 注意

GT.Mダイレクト・モード・コマンドは、この環境変数の値とは無関係に、より広範な機能を備えています。

$gtm_prompt は、GT.Mダイレクトモードプロンプトを制御するISV $ZPROMPTの初期値を指定します。SETコマンドは、アクティブなプロセスで $ZPROMPT の値を変更できます。デフォルトでは、ダイレクトモードプロンプトは "GTM>"です。

$gtm_procstuckexe は、次のいずれかの条件が発生したときに実行するシェルコマンドまたはスクリプトを指定します。

時間の量を想定外に使用する資源を保持するプロセスの監視機能として使用することができます。通常、gtm_procstuckexec が指すシェルスクリプトやコマンドに対しては、是正措置を書いたり、問題のプロセスのスタックトレースを(それらのPIDを使用して)取得します。GT.Mは、以下のように指定された順序でシェルコマンド/スクリプトに引数を渡します:

  1. condition は、コンディションの名前です。たとえば、BUFOWNERSTUCK、INTERLOCK_FAIL、など。

  2. waiting_pid はコンディションをレポートするプロセスのPIDです。

  3. blocking_pid はリソースを保持しているプロセスのPIDです。

  4. countは現在のコンディション(最初に出現する1)のために呼び出されたスクリプトの回数です。

各呼び出しでオペレーター・ログ・メッセージが生成され、呼び出しが失敗した場合はオペレーター・ログにエラー・メッセージが送られます。シェルスクリプトは、シェルを指定する #! で始まる行で始まる必要があります。that designates the shell.

[注意] 注意

ユーザープロセスがシェルコマンド/スクリプトを実行するのに、十分なスペースと権限を持っていることを確認してください。

gtm_obfuscation_key:もし $gtm_obfuscation_key がプロセスによって読み込み可能なファイルの名前を指定する場合、暗号化リファレンスプラグインは環境変数gtm_passwd 内の難読化されたパスワードのXORマスクとしてファイルの内容のSHA-512ハッシュを使用します。gtm_obfuscation_key が読み取り可能なファイルを指していない場合、プラグインはmumps実行可能ファイルのユーザーID と inode に基づいてXORマスクを作成し、マスクとして使用するXORマスクのSHA-512ハッシュを計算します。

gtm_obfuscation_key は、無関係なプロセス間で (例えば、sudo機構を介して呼び出された異なるユーザIDを持つ子プロセス)あるいは、あるシステムから別のシステムへの難読化パスワードを渡すためのメカニズムとして使用できます(たとえば、ssh接続を介して)。

$gtm_quiet_halt は、プロセスが MUPIP STOPを介してまたはSIGTERMシグナル(Webサーバからの送信のような)によって停止された時にGT.MがFORCEDHALT メッセージを無効にするかどうかを指定します。

$gtm_repl_instanceは、使用中のデータベースのレプリケーションが行われている時に、レプリケーションインスタンスファイルの場所を指定します。

$gtm_repl_instsecondary は現在の環境での複製インスタンスの名前を指定します。GT.Mは、もし -instsecondary 修飾子が指定されていない場合、$gtm_repl_instsecondary を使用します。

$gtm_retention (GT.Mでは直接に使用されない) - 古いジャーナルファイルとそれを作成する古いテンポラリーファイルを削除するために、 gtm スクリプトによって使用されます。

gtm_side_effects:プロセス起動時に 環境変数gtm_side_effects が1に設定されると、GT.Mは、アクチュアリスト引数、関数引数、非ブールバイナリ演算子のオペランドの左から右の評価を実行するコードを生成し、SET引数は、ターゲットの宛先が間接的に添字付きの glvn であり、変数の添字です。環境変数が設定されていないか、またはゼロ(0)に設定されている場合、GT.Mは伝統的な動作を保持しており、計算効率を向上させるための規則を使用してオペランドの評価を再調整します。この並べ替えでは、関数に副作用がないと想定され、予期しない動作( x+$increment(x) は病理的な例です)が発生する可能性があります。gtm_side_effects が2に設定されている場合、GT.Mは、左から右への振る舞いでコードを生成し、評価の順序に応じて異なる結果を生成する可能性がある各構成に対して警告メッセージSIDEEFFECTEVALを生成します。外部関数と外部呼び出しは、呼び出し時点でコンパイラに対して不透明であるため、実際の相互作用があるかどうかを静的に判断することはできません。したがって、SIDEEFFECTEVALの警告は、実際の副作用の相互作用よりもずっと頻繁であり、警告モードは、アプリケーション全体の監査ではなく、ターゲットコードでの問題または予期しない動作を調べる診断ツールとして最も役立ちます。同じ式の連結文字列は、コードが保証するよりも多くの警告を生成する可能性があることに注意してください。環境変数の他の値は、将来のFISによる使用のために予約されています。gtm_side_effects は生成されたコードに影響し、コードがコンパイルされたときに有効でなければならないことに注意することが重要です。コンパイルされたコードが実行されるときの値は無関係です。また、XECUTEとauto-ZLINK、明示的なZLINKとZCOMPILEは、すべて、プロセスの開始時に選択された特性に従って実行時コンパイルを実行することに注意してください。式の1つの項が同じ式の前の項を変更するプログラミングスタイルは、安全でないプログラミング方法であることに注意してください。既存の 環境変数gtm_boolean は、ブール式の短絡評価を個別に制御することができますが、gtm_side_effects に1(または2)を設定すると、gtm_booleanを1または2に設定するのと同じブール評価が行われます。コンパイルモードの違いは、結果の違いだけでなく、制御の流れの違いも含まれます。

$gtm_snaptmpdir はオンライン mupip integ のような機能によって作成されたテンポラリな "スナップショット(snapshot)" ファイルを配置する場所を指定します。もし$gtm_snaptmpdir が定義されている場合はGT.Mは$GTM_BAKTMPDIR環境変数を使用します、もし定義されていない場合とそれ以外の場合は、現在の作業ディレクトリを使用します。オンライン INTEG 中に、更新を実行するすべてのプロセスは、同じディレクトリを使用し、そのディレクトリに書き込みアクセス権を持っている必要があります。

$gtm_stdxkill は、もしそれらが除外リスト内に無いことをエイリアスで持つ場合、除外リスト内のローカル変数を kill するために標準に準拠する振る舞いが可能になります。デフォルトでは、この動作は無効になっています。

$gtm_sysid は $SYstem ISVの2番目の部分の値を指定します。$SYSTEMは、実行中のMインスタンスを識別する文字列が含まれています。$SYSTEMの値は、製造業者を識別するユニークな数値コードで始まる文字列です。コードは、MDC(MUMPS開発委員会)によって割り当てられます。GT.Mの $SYSTEM は、 "47"で始まり、その後にカンマと$gtm_sysid が続きます。

gtm_tmp は、gtmsecshrとGT.Mプロセス間の通信に使用されるソケットファイルが格納されるディレクトリを指定します。同じGT.Mを使用するすべてのプロセスは、同じ$gtm_tmpを持つ必要があります。

gtm_tpnotacidtime は、GT.Mプロセスがトランザクション内で実行されている非孤立したタイムド・コマンド(HANG、JOB、LOCK、OPEN、READ、ZALLOCATE)を待機し、所有しているすべてのクリティカル・セクションを解放してからTPNOTACID情報メッセージをシステムログに出力します。GT.Mプロセスは、最終的な再試行($TRETRY> 2)中にのみ、トランザクションに参加する領域(Region)のすべてまたは一部のクリティカルセクションを所有します。gtm_tpnotacidtimeは秒単位の時間を指定します。デフォルトは2秒です。gtm_tpnotacidtimeの最大値は30で、最小値は0です。もし gtm_tpnotacidtime がこの範囲外の時間を指定した場合、GT.Mはデフォルト値を使用します。最後の再試行でクリティカル・セクションを解放するというGT.Mの動作は、分離されていないため、デッドロック(最悪の場合)と長いハング(最善のケース)を引き起こす危険なコーディングパターンからの保護を試みます。ZSYSTEMとBREAKは分離されておらず、タイミングも取られていないので、GT.Mは最後の再試行で実行中に直ちにTPNOTACID動作を開始します(gtm_tpnotacidtimeとは独立しています)。急速に繰り返されるTPNOTACIDメッセージは、ライブ・ロックに関連している可能性がありますが、これは、プロセスがトランザクション内でクリティカルなリソースを繰り返し消費しており、トランザクションの持続時間が長すぎてACIDトランザクションのプロパティを維持していないためコミットできないことを意味します。

gtm_tprestart_log_delta は、トランザクション再開をオペレータ・ロギング機能に報告する前に、GT.Mが待機するトランザクション再開の回数を指定します。もし gtm_tprestart_log_delta が定義されていない場合、GT.Mはgtm_tp_restart_log_deltaを0に初期化します。

gtm_tprestart_log_delta は、GT.Mがトランザクション再開をオペレータ・ロギング機能に報告するまでに待つべきトランザクション再開の初期数を指定します。もし gtm_tprestart_log_delta が定義されていて、gtm_tprestart_log_first が定義されていない場合、GT.Mはgtm_tprestart_log_firstを1に初期化します。

gtm_trace_gbl_name は、プロセス起動時にGT.Mトレースを有効にします。gtm_trace_gbl_name を有効なグローバル変数名に設定すると、VIEWコマンドがトレースを無効にするか、または、プロセス終了時に暗黙的にGT.Mが指定されたグローバル内のデータを報告するように指示します。この設定は、プロセス起動時にプロセスがVIEW "TRACE"コマンドを発行したかのように動作します。しかし、gtm_trace_gbl_nameにはVIEWコマンドで使用できない機能があります。つまり、環境変数が定義されていても、空の文字列に対して 0 または UNIXのみで評価された場合、GT.Mはメモリ内のMプロファイリングデータを収集し、プロセスが終了するとそのデータを破棄します(この機能は主に社内テストに使用されます)。データベースファイル(GDEなど)を開かないプロセスに対してこの機能を有効にすると、エラーが発生する可能性があることに注意してください。

$gtm_trigger_etrap はトリガーの内容で$ETRAPの初期値を提供し、mumpsとMUPIPプロセスの両方でトリガ操作のためにトリガのエラートラップをセットするために使用することができます。

gtm_zdate_form は、$ZDATE ISVの初期値を指定します。SETコマンドは、アクティブ・プロセス内の $ZDATEの値を変更できます。

gtm_zinterrupt は、プロセスがMUPIP INTRPT コマンドからシグナルを受信する時に(それがXECUTEコマンドの引数であるかのように)GT.Mを実行するコードを保持している ISV $ ZINTERRUPTの初期値を指定します。SETコマンドで、アクティブなプロセスで $ZINTERRUPT の値を変更できます。

$gtm_zlib_cmp_level はソースとレシーバ のサーバによってレプリケーションストリームで使用されているzlib圧縮レベルを指定します。デフォルトでは、レプリケーションは、圧縮を使用しません。

gtm_zmaxtptime は、$ZMAXTPTIME 組み込み特殊変数の初期値を指定します。この変数は、GT.Mがあまりにも長く実行されるTPトランザクションに対してTPTIMEOUTエラーを発行するかどうかを制御します。gtm_zmaxtptime は、秒単位の時間を指定し、デフォルトは0で、「タイムアウトなし」(無制限の時間)を示します。gtm_zmaxtptime の最大値は60秒で、最小値は0です。この範囲チェックは、SET $ZMAXTPTIMEには適用されません。GT.Mは、認識された範囲外の値 s を含む場合、gtm_zmaxtptimeを無視します。

gtm_zquit_anyway specifies whether the code of the form QUIT <expr> execute as if it were SET <tmp>=<expr> QUIT:$QUIT tmp QUIT, where <tmp> is a temporary local variable in the GT.M runtime system that is not visible to application code. gtm_zquit_anywayは、QUIT <expr>という形式のコードを、SET <tmp>=<expr> QUIT:$QUIT tmp QUITのように実行するかどうかを指定します。<tmp>は、GT.Mランタイムシステムの一時的なローカル変数です アプリケーションコードには表示されません。この設定はランタイムの設定ですが、コンパイル時の設定ではありません。もし gtm_zquit_anyway が定義されていて、1、または、 "TRUE"、または、 "YES"の大文字小文字を区別しない文字列または先頭部分文字列であると評価された場合、QUIT <expr>という形式のコードは、SET <tmp>=<expr> QUIT:$QUIT tmpをQUITします。もし gtm_zquit_anyway が定義されていないか、または、0、または、大文字と小文字を区別しない文字列、または、 "FALSE"、または、 "NO"の先頭部分文字列に評価される場合、QUIT <expr>という形式のコードの実行に変更はありません。

gtm_ztrap_form gtm_zyerror GT.Mプログラマーズガイド のエラー処理の章で説明されているように$ZTRAPで指定されたエラーハンドリングの動作を 指定します。

gtm_ztrap_new は、SET $ZTRAPが暗黙的にNEW $ZTRAPをSETの前に実行するかどうかを指定します。

$gtmcompile は、 $ZCOmpile ISVの初期値を指定します。SETコマンドで、アクティブなプロセスで $ZPATNUMERIC の値を変更できます。

gtmcrypt_config は、データベース暗号化および/またはTLSサポートに必要な構成ファイルの場所を指定します。構成ファイルは、データベース暗号化セクションとTLSセクションの2つのセクションに分かれています。データベース暗号化セクションには、データベースファイルとそれに対応するキーファイルのリストが含まれています。もし暗号化データベースを使用していない場合は、データベース暗号化セクションを追加しないでください。TLSセクションには、PEM形式のルート証明機関証明書の場所を識別するTLSIDラベルと、対応する秘密キーファイルを含むリーフレベル証明書が含まれています。gtmcrypt_config 環境変数を使用するには、libconfig ライブラリをインストールする必要があります。

gtmcrypt_FIPS は、OpenSSLまたはLibgcryptのいずれかを使用してFIPS 140-2に準拠するデータベース暗号化を提供するかどうかをプラグイン参照実装で試みるかどうかを指定します。When the environment variable $gtmcrypt_FIPS is set to 1 (or evaluates to a non-zero integer, or any case-independent string or leading substring of "TRUE" or "YES"), the plugin reference implementation attempts to use libgcrypt (from GnuPG) and libcrypto (OpenSSL) in "FIPS mode." By default GT.M does not enforce "FIPS mode."

$gtmgbldir は $ZGBLDIR ISVの初期値を指定します。$ZGBLDIRはグローバルディレクトリを識別します。グローバルディレクトリは、物理的なデータベースファイルへグローバル変数をマップし、Mグローバル変数へアクセスするために必要です。複数のグローバルディレクトリを維持するユーザは、使用するために、1つをかならず選択します。ユーザのログインファイルに定義されている gtmgbldir は、この定義を自動化します。SETコマンドで、アクティブなプロセスで $ZGBLDIR の値を変更できます。

$gtmroutines は $ZROutines ISVの初期値を指定します。SETコマンドで、アクティブなプロセスで $ZGBLDIR の値を変更できます。

gtmtls_passwd_<label> $gtmtls_passwd_<label> は、暗号化された秘密鍵ペアの難読化されたパスワードを指定します。暗号化プラグインとともに提供されている 'maskpass' ユーティリティを使用して、パスワードを難読化することができます。もし暗号化されていない秘密鍵を使用する場合は、gtmtls_passwd_ <label> 環境変数を null以外のダミー値に設定します。これは、パスワードの不適切なプロンプトを防ぎます。

gtmver (直接GT.Mでは使用されない) - 現在のGT.Mのバージョンを指定します。gtmprofileスクリプトは他の環境変数を設定するために$gtmverを使用します。

old_gtm_dist は (直接GT.Mでは使用されない) - 前のGT.Mのディストリビューションのパスです。gtmprofileスクリプトは他の環境変数を設定するためにこの値を使用します。

old_gtmroutines は (直接GT.Mでは使用されない) - 以前のルーチンの検索パスです。gtmprofileスクリプトは他の環境変数を設定するためにこの値を使用します。

old_gtmver は (直接GT.Mでは使用されない) - gtmprofileスクリプトが最後にソースされた時に設定されたgtmverの値です。gtmprofileスクリプトは他の環境変数を設定するためにこの値を使用します。

tmp_gtm_tmp は (直接GT.Mでは使用されません) - それはgtm_tmpをメンテナンスするgtmprofileスクリプトによって使用されます。

tmp_passw (直接GT.Mでは使用されません) - それはgtm_passwdをメンテナンスするgtmprofileスクリプトによって使用されます。

gtmprofileとgtmschrcスクリプトは、次の環境変数を設定します。GT.M.のための環境を設定するgtmprofileのスクリプト(または gtmprofile をsourceする gtmスクリプト)を使用することをFISは推奨します。

環境変数

GT.Mシェルスクリプトで設定

* 通常のGT.M操作に定義する必要がある環境変数を表します。

gtm_dist*

gtmprofile, gtmschrc

gtmgbldir*

gtmprofile, gtmcshrc

gtm_icu_version

gtmprofile

gtm_log*

gtmprofile

gtm_principal_editing

gtmprofile

gtm_prompt

gtmprofile

gtm_retention

gtmprofile

gtmroutines*

gtmprofile, gtmcshrc

gtm_tmp

gtmprofile

gtmver

gtmprofile

gtm_repl_instance

gtmprofile

LC_CTYPE

gtmprofile

old_gtm_dist

gtmprofile

old_gtmroutines

gtmprofile

old_gtmver

gtmprofile

tmp_gtm_tmp

gtmpropfile

tmp_passw

gtmprofile

GT.Mの同じバージョンにアクセスする複数のプロセスの環境を作成していると同時に、次の重要な点を念頭に置いて:

  1. GT.Mのバージョンは gtmsecshr に関連付けられています ( $gtm_dist に位置されている )。もし複数のプロセスが同じGT.Mのバージョンにアクセスしている場合、各プロセスは $gtm_tmp $gtm_log の同じ組み合わせを使用する必要があります。

  2. ファイルシステム階層標準(Filesystem Hierarchy Standard) に準拠して、FISは、$gtm_logの値として /var/log/fis-gtm/$gtmver を推奨します。 $gtmver は、現在のGT.Mのリリースとプラットフォームの情報を表す V5.4-001_x86 形式となることに、注意してください。

  3. テンポラリディレクトリ /tmp AIX、GNU / Linuxでは、Tru64 UNIXの )または /var/tmpの HP - UX、Solaris )へ $gtm_tmp を設定することを、FISは推奨します。 gtmprofile スクリプトは/tmp/fis-gtm/$gtmver $gtm_tmp をセットします。

  4. もし $gtm_log が設定されていない場合 、GT.Mは /tmp AIX、GNU/Linux、Tru64 UNIX) または /var/tmpHP-UX、Solaris) のディレクトリにログファイルを作成します。しかし、これは、テンポラリディレクトリの保存方針によりGT.Mログファイルが脆弱になるので、推奨されません。

同じGT.Mのバージョンを使用してすべてのプロセスに $gtm_tmp の同じ値をいつもセットします。同じGT.Mのバージョンにアクセスする複数のプロセスのために異なった $gtm_tmp を持つことは、 gtmsecshr で通信することができることからプロセスを防ぐことができ、そして、パフォーマンスの問題を引き起します。

inserted by FC2 system