名前(Name), 領域(Region), セグメント(Segment) の修飾子

- NAME(名前)、 - REGION(領域)、 - SEGMENT(セグメント)の修飾子は、さらに名前(NAME)、領域(REGION)、セグメント(SEGMENT)の特性を定義し特定するための、それぞれ追加の修飾子を持ちます。 このセクションでは、これらの追加の修飾子について説明します。

名前(Name)修飾子

次の - NAME(名前)修飾子は、ADDまたはCHANGEコマンドで使用することができます。

-REGION=region-name

領域(REGION)の名前を指定します。領域(REGION)名は、大文字と小文字を区別しませんが、GDEにより大文字として表されます。

最小の長さは、1つのアルファベット文字です。

最大長は31文字の英数字です。

例:

GDE> add -name a* -region=areg

もしそれが存在しない場合、このコマンドは名前空間(name-space) a* を作成し、それを areg 領域(region)へマップします。

概要

GDE 名前(NAME) 修飾子

修飾子

デフォルト

最小値

最大値

-R[EGION]=region-name (characters)

(none)

1A

16A/N

領域(Region)修飾子

次の - REGION(領域)修飾子は、ADD, CHANGE, TEMPLATEコマンドで使用することができます。

-C[OLLATION_DEFAULT]=number

このデータベースファイルをデフォルトとして使用すべき定義に照合順序の数を指定します。数は0から255までの任意の整数です。値として割り当てる数は、環境変数gtm_collate_n によりポイントされ、共有ライブラリ内に存在する定義された照合順序の数と一致しなければなりません。この環境変数を定義し代替照合シーケンスを作成する情報については、 GT.Mプログラマーズガイドの "国際化"の章を参照してください 。

最小のCOLLATION_DEFAULT の数値は 0 で、これは標準Mの照合順序です。

最大のCOLLATION_DEFAULT の数値は 255 です。

デフォルトで、GDEは COLLATION_DEFAULTとしてゼロ(0)を使用します。

-D[YNAMIC_SEGMENT]=segment-name

これは、領域(REGION)にマップされているセグメントの名前を指定します。セグメント(SEGMENT)名は、大文字と小文字を区別しませんが、GDEにより大文字として表されます。

最小の長さは、1つのアルファベット文字です。

最大長は31文字の英数字です。

-K[EY_SIZE]=size in bytes

バイト単位で、どの領域(REGION)もに格納することができるキーの最大サイズを指定します。KEY_SIZEはRECORD_SIZE未満でなければなりません。KEY_SIZEがRECORD_SIZEに対して不適切な場合は、GDEはコマンドを拒否します。

最小のKEY_SIZEは、3バイトです。

最大のKEY_SIZEは、1,019バイトです。

最大キー・サイズを決定する際には、アプリケーションは次の点を考慮する必要があります:

  • GT.Mは、オリジナルの表現よりも大きくても小さくてもよい数値の添字について、パック10進表現を使用します。

  • GT.Mは、キャレット(^)、カンマ(,)、および任意の右かっこ( ) )の要素の終了子(element terminator)を置き換えます。

  • GT.Mは、グローバル名を含むすべての文字列要素に余分なバイトを追加します。

たとえば、キー ^ACN("Name","Type") は内部的に17バイトを占有します。

デフォルトでは、GDEは、64バイトのKEY_SIZEを使用します。

-R[ECORD_SIZE]=size in bytes

領域(Region)に格納できるグローバル変数ノードの値の最大サイズ(バイト単位)を指定します。

もしグローバルのサイズが1つのデータベースブロックを超える場合、GT.Mは、そのグローバルを複数のデータベースブロックに渡って暗黙的に広げます。万が一グローバル変数ノードが複数のブロックにまたがり、プロセスがTPトランザクション内にまだ存在しない場合、GT.Mランタイムシステムは暗黙的なTPトランザクション内で(トリガーの場合と同様に)自動的かつ透過的に操作全体を実行します。

RECORD_SIZEの最小値はゼロです。ゼロの RECORD_SIZE は、値を持たないグローバル変数ノードのみを許可します。RECORD_SIZE が ゼロ(0) のグローバル変数ノードの一般的な使用方法は、インデックスの作成(ノードの存在が必要なすべて)です。

RECORD_SIZE の 最大値は 1,048,576バイト(1MiB)です。

デフォルトでは、GDEは、256バイトのRECORD_SIZEを使用します。

-[NO]N[ULL_SUBSCRIPTS]=[ALWAYS|NEVER|EXISTING]

GT.Mが、領域(REGION)内に保存されているグローバル変数に、null添字を許すかどうかを、示します(すなわち、^aaa("",1)のように、GTMが参照を許すかどうか?)。

ALWAYSは、グローバル変数のNULL 添字が許可されていることを示します。

NEVERは、グローバル変数のNULL添字が許可されていないことを示します。

EXISTINGは、グローバル変数のnull添字にアクセスして更新できますが、新たに作成されないことを示します。

デフォルトでは、領域(Region)には -NULL_SUBSCRIPTS=NEVERがあります。

-[NO]STDNULLCOLL

GT.Mのnull添字がM標準に準拠して照合するかどうかを決定します。

もしSTDNULLCOLLが指定されている場合、データベース内のグローバルのサブスクリプトはM標準に従います。ここで、null 添字は他のすべての添字の前に照合されます。

もしNOSTDNULLCOLLが指定されている場合、null添字は数値と文字列の添字の間で照合されます。FISでは、STDNULLを使用し、この非標準のnull照合を使用することを強く推奨します。これは、歴史的な理由からデフォルトです。

-[NO]INST[_FREEZE_ON_ERROR]

ある領域のカスタムエラーによって自動的にインスタンス・フリーズ(Instance Freeze)が発生するかどうかを制御します。この修飾子は、 "Inst Freeze on Error" ファイルのヘッダ要素の値を変更します。

インスタンス・フリーズ(Instance Freeze)を自動的に呼び出すカスタムエラーのリストを設定する詳細については、“Instance Freeze”「インスタンスフリーズ」を参照してください。

インスタンスが使用可能になっているかどうかにかかわらず、インスタンス上でインスタンス・フリーズを設定またはクリアする方法の詳細は、refer to 「ソースサーバーの起動」を参照してください。

-[NO]Q[DBRUNDOWN]

例えばベンチマークシナリオなど、ほぼ同時にシャットダウンするためにデータベースファイルにアクセスする多数のプロセスが必要な場合、通常のプロセス・シャットダウンを迅速化します。終了するGT.Mプロセスが、多数のプロセスがデータベース・ファイルに接続されていて、かつ、QDBRUNDOWNが使用可能になっていることを確認すると、そのプロセスがデータベースにアクセスしている最後のプロセスかどうかのチェックをバイパスします。このようなチェックはクリティカル・セクションで行われ、バイパスは通常のRUNDOWNアクションをバイパスし、プロセスのシャットダウンを加速し、プロセス起動の障害を取り除きます。デフォルトでは、QDBRUNDOWNは無効です。

QDBRUNDOWNでは、競合状態が発生し、データベースのファイルヘッダーとIPCリソースのクリーンアップが必要になる可能性があることに注意してください。QDBRUNDOWNは競合状態の可能性を最小限に抑えますが、それを排除することはできません。FISは、QDBRUNDOWNの使用をベンチマークなどの特殊な状況で制限し、通常のGT.Mの使用についてはNOQDBRUNDOWNを推奨しています。QDBRUNDOWNを使用する場合、FISは、データベースファイルヘッダとIPCリソースのクリーンアップを保証するために、最後のプロセスが終了した後にデータベースファイルの明示的なMUPIP RUNDOWNを推奨します。

-[NO]J[OURNAL][=journal-option-list]

新しく作成されたデータベース上で、この修飾子はジャーナルファイルの特性を確立します。

- NOJOURNALは、データベースファイルへの更新が、ジャーナル処理されないことを指定します。 - NOJOURNALは、引数の割り当ては受け入れてなし。

- JOURNAL が、許可されているジャーナリングを指定します。 - JOURNAL は、1つまたは複数の引数ジャーナルオプションリスト(journal-option-list )をとります。ジャーナルオプションリスト(journal-option-list )には、カンマ( , )で区切られたキーワードがカッコ()で囲まれ、ファイル名が引用符で囲まれています( 例:change -region test -journal=(before,file="foo") )。もしリストにキーワードが1つだけ含まれている場合、かっこと引用符は省略可能です。

たとえ完全にジャーナリングを使用することが確認されてなくても、この時点でのジャーナリングプロセスの基準を確立する必要がない場合は、そのように効率的である。環境を設定する - JOURNAL オプションが利用でき 、MUPIP SET - JOURNALを使用できるように、それは準備されています。その時点で確立されたいくつかのオプションに対して 変更や追加もまた可能です。

ジャーナリングの詳細については、 第6章: “GT.M ジャーナリング を参照してください。

ジャーナルオプションリスト(journal-option-list )の一覧:

  • [NO]BE[FORE_IMAGE]

  • F[ILE_NAME]=file-specification-name

  • AUTOSWITCHLIMIT=blocks

  • A[LLOCATION]=blocks

  • E[XTENSION]=blocks

  • BU[FFER_SIZE]=pages

次のセクションで、いくつかの - JOURNALオプションを説明します。

-AU[TOSWITCHLIMIT]=blocks

ジャーナルファイルのサイズの制限を指定します。ジャーナルファイルサイズが制限値に達すると、GT.Mは自動的に以前のジャーナルファイルへのバックポインタを持つ新しいジャーナルファイルに切り替えます。

-[NO]BE[FORE_IMAGE]

[NO] BEFORE_IMAGEは、ジャーナルにbefore-imageのレコードを含めるかどうかを制御します。

BEFORE_IMAGEオプションは、関連するデータベースファイルの「ロールバック」(後退)リカバリを検討する場合、または、特定のデータベース複製オプションを使用する場合に必要とされます。 このタイプのリカバリについては、 第6章: “GT.M ジャーナリングを参照してください。

-F[ILE_NAME]="file-name"

ジャーナルファイルの名前を指定します。

名前が唯一のジャーナリング・オプションで、行の最後のパラメータでない限り、このコンテキストでは常に引用符で囲む必要があります。

ジャーナルファイルの仕様名(file-specifications-names)は、255文字に制限されます。

デフォルトでは、GDEは、データベース"file-name"からファイル仕様名( file-specification-name)を引き出します。

デフォルトでは、GDEは、ジャーナルファイルの拡張子.mjlを使用します。

ジャーナル・オプションの概要

GDEを使用すると、ジャーナルファイルを作成し、ジャーナルパラメータを定義することができます。ただし、明示的にONにするにはMUPIP SETを使用する必要があります。そのときは、BEFORE/NOBEFOREを指定する必要があります。

例:

CHANGE -REGION DEFAULT -JOURNAL=(ALLOCATION=2048,AUTOSWITCHLIMIT=8386560,BEFORE_IMAGE,BUFFER_SIZE=2308,EXTENSION=2048)

すべてのジャーナルオプションと許容される最小値と最大値については、「GT.Mジャーナリング」の章の SET -JOURNALオプション ” を参照してください。

概要

次の表は、GDE 領域(REGION)修飾子をまとめたものです。それらの略語を提供し、デフォルトとして(F.I.S.で提供される)、および、許容可能な最小値と最大値を提供します。

GDE REGION 修飾子

修飾子

デフォルト

最小値

最大値

-C[OLLATION_DEFAULT]=number (integer)

0

0

255

-D[YNAMIC_SEGMENT] =segment-name (char)

-

1

16

-K[EY_SIZE]=size in bytes (integer)

64

3

1,019

-R[ECORD_SIZE]=size in bytes (integer)

256

7

1,048,576 (1 MiB)

-N[ULL_SUBSCRIPTS]=[ALWAYS|NEVER|EXISTING]

NEVER

- -

-[NO]STDNULLCOLL

N

- -

-[NO]INST[_FREEZE_ON_ERROR]

DISABLED

- -

-[NO]Q[DBRUNDOWN]

DISABLED

- -

-[NO]J[OURNAL] [=journal-option-list]

-NOJ - -

セグメント(Segment)修飾子

次の - SEGMENT(セグメント)修飾子は、ADD, CHANGE, TEMPLATEコマンドで使用することができます。

-AC[CESS_METHOD]=code

アクセス方法やグローバルデータベースファイルからデータを格納および取得するためのGT.M バッファリング計画を指定します。

  • コードは2つの値を持つことができます - バッファド グローバル(BG)、または、メモリマップ(MM)バッファデフォルト値はBGです。

  • BGを利用して、グローバルバッファプールはバッファを管理します(OS /ファイルシステムでも追加のバッファリングを提供する場合があります)データベースのジャーナリングを、BEFORE_IMAGE または NOBEFORE_IMAGEを使用する選択を得ます。ジャーナルのこれらのフォームの実装の詳細については、 第6章: “GT.M ジャーナリングを参照してください。

    • BGは、復元なしでデータベースを回復するために、前方(forword)と後方(backword)の両方のリカバリと、ロールバックをサポートしています。前方(forword)と後方(backword)のリカバリーとロールバックの詳細は、第5章:“一般的なデータベース管理を参照してください。

    • BGは、システム障害からの迅速な復旧時間を必要とする時に、最適な選択です。

  • MMで、GT.Mは、グローバルバッファプールをバイパスし、メモリとディスク間のデータトラフィックを管理するために OS/ファイルシステムに完全に依存しています。GT.Mは、ディスク更新のタイミングを制御しません、したがって、データベースのパフォーマンスはOS/ファイルシステムに大きく依存します。

    • MMは、NOBEFORE_IMAGE ジャーナリング のみをサポートしています。もしBEFORE_IMAGE ジャーナリング で MMを使用する場合は、GT.Mはエラーを引き起こします。MMは、失われて壊れたトランザクションファイルを生成するための、MUPIP FORWARD -RECOVER と、-RESYNC または -FETCHRESYNC 修飾子を持つ MUPIP JOURNAL -ROLLBACK をサポートしています。詳細については、ジャーナリングの章とレプリケーションの章を参照してください。

    • MMは、後方(backword) リカバリー / ロールバックをサポートしていません。

    • ファイルシステムによっては、上記の制限が許容される状況でパフォーマンスの優位性が必要な場合、MMがオプションになることがあります。

  • GDEは、 各ACCESS_METHODとして、SEGMENT修飾子の値のセットを抽出します。

  • GDEがACCESS_METHODを変更する時、それはTEMPLATEs の適切なセットをアクティブにし、新しいACCESS_METHOD のデフォルト値へすべての未指定の修飾子にセットします。

例:

GDE> change -segment DEFAULT -access_method=MM 

このコマンドは、アクセス方法、または、セグメントのDEFAULTのデータベースを格納し取得するためのGT.Mのバッファリング計画としてMM設定します。

-AL[LOCATION]=blocks

MUPIPがファイルを作成する時、GT.Mがディスクファイルへ割り当てるブロックの数を指定します。GDSファイルは、割り当てられたバイト数がデータベースファイルヘッダのサイズで、ALLOCATIONサイズの倍のBLOCK_SIZEを加えます。

  • 最小のALLOCATIONは10ブロックです。

  • 最大のALLOCATIONは、1,040,187,392ブロックです。

  • デフォルトでは、GDEは、100ブロックのALLOCATIONを使用します。

  • データベース・ファイルの最大サイズは、1,040,187,392(992Mi) ブロックです。

  • 要求された割り当ての中で、GT.MはBGアクセス方式用の32個のグローバル・バッファを常に読み出し専用に予約し、非ダーティ・グローバルバッファが常に利用可能であることを保証します。

  • デフォルトのALLOCATIONは、GT.Mの初期の開発と実験で得られました。なぜなら、ファイルの断片化はパフォーマンスを損なうので、プロダクションのファイルに対し初期の割り当てを作り、そして、予想されるファイルコンテンツを保つために十分に大きく、一貫性のある時間の長さのために、UNIXファイルの再編成スケジュールを持って、 大きなプロジェクトが作られます。

-BL[OCK_SIZE]=size

バイト単位で、ファイルシステム内で各データベースブロックのサイズを指定します。ブロックサイズは、512の倍数でなければなりません。ブロックサイズが512の倍数でない場合は、GDEは、512の、次に大きい倍数のBLOCK_SIZEを四捨五入し、警告メッセージを発行します。

指定されたBLOCK_SIZEが最小値よりも小さい場合は、GDEは最小のBLOCK_SIZEを使用します。指定されたBLOCK_SIZEが最大値より大きい場合は、GDEは問題のエラーメッセージを発行します。

BLOCK_SIZEは、ほとんどのアプリケーションに対しては、 UNIX実装のサーバで使用されるページサイズに等しいだけでなく、そして、良い出発点である。

パフォーマンスタイミングおよびベンチマークを介したアプリケーションに対して、ブロックサイズを決定する必要があります。一般的に、大きなブロックサイズは、入出力サブシステムの視点からは 、より効果的です。しかし、大きなブロックサイズは、より多くのシステムリソース(CPUと共有メモリ)を使用し、そして、衝突(collision)とトランザクション処理のリトライ レートが増加するでしょう。

[注意] 注意

ブロックをまたがるグローバル・ノードにはオーバーヘッドを負い、単一ブロック内の大部分のノードに対応するBLOCK_SIZEから最適なアプリケーション・パフォーマンスが得られる可能性があります。もしBLOCK_SIZEを調整する場合は、GLOBAL_BUFFER_COUNTも調整する必要があります。

GDEでは、任意の数へのブロックサイズを変更することはできません。GDEは、ブロックサイズを常に512の、次に大きい倍数に丸めます。なぜならば、データベースのブロックサイズは常に512の倍数でなければならないからです。

最小のBLOCK_SIZEは512バイトです。

最大のBLOCK_SIZEは65,024バイトです。

[注意] 注意

FISでは、16KiBを超えるブロックサイズのデータベースを使用することを推奨しています。もし特定のグローバル変数に大きなレコードサイズのレコードがある場合、FISでは、大きなブロックサイズのファイルにそのグローバル変数を配置し、他のグローバル変数にはより適切なブロックサイズを使用することを推奨します。4KiBと8KiBは一般的なデータベースブロックサイズです。

デフォルトでは、GDEは1024バイトのBLOCK_SIZEを使用します。

-[NO]ENcryption

セグメント用のデータベースファイルが暗号化フラグが設定されているかどうかを指定します。MUPIP CREATEは、このファイルの暗号化キーを取得し、データベースファイルのヘッダー内のキーの暗号化ハッシュを置くことに注意してください。

-EX[TENSION_COUNT]=blocks

これによって、ファイルを拡張する際に、ディスクスペースのGDSブロックの余った数を指定します。拡張する総数は、拡張として作成するために使用可能なGDSブロック数と解釈されます。それぞれの拡張を加え、ホストオペレーティングシステムのブロック数を計算するには、 ( GDS BLOCK_SIZE / host BLOCK_SIZE )を加えたGDSブロック数を乗じ、step 1から量へ各拡張が追加されたそれぞれの512ブロックに対して1つのローカルビットマップのブロックを追加します。拡張が512の倍数でないなら、ビットマップブロックの数を計算するときに、まとめることを覚えてください。

MUPIP EXTENDコマンドが-BLOCKS= qualifier を含まないとき、EXTENDはデータベースヘッダに拡張サイズを使用します。

拡張の量は、MUPIP SETコマンドで変更される場合があります。

最小のEXTENSIONは、ゼロ・ブロックです。

自動拡張機能が無効(EXTENSION_COUNT=0)のデータベース・ファイルがいっぱいになると、GT.MはFREEBLSLOW警告をシステムログに記録します。パフォーマンスを損なわないように、GT.Mは、ローカル・ビット・マップがいっぱいであることを示すためにマスター・ビット・マップを更新する必要があるときはいつでもチェックし、512個未満の空きブロックがある場合、または、空きブロック数が「合計ブロック数/32」未満である場合に警告を発行します。つまり、サイズが512ブロック以下のデータベースの場合、データベースが一杯になる前に最後に正常に更新されたときに警告が表示されます。

最大のEXTENSIONは65,535ブロックです。

デフォルトでは、GDEは、100ブロックのEXTENSIONを使用します。

割り当てと同様に、最初の開発と実験ではデフォルトの拡張量が選択されました。より大きな実際のアプリケーションには、より大きな拡張を使用してください。複数のファイルの拡張は、パフォーマンスに悪影響をおよぼすので、ファイルアロケーションへは適切な拡張を設定します。

-F[ILE_NAME]=file-name

セグメントのファイルを指定します。

ファイル名の最大長は255文字です。

デフォルトでは、GDEは、デフォルトの拡張子に続くmumpsのファイル名を使用します。拡張子は .dat です。オペレーティング・システムで有効である限り、データベース・ファイルに任意のファイル名と拡張子を指定できます。

-G[LOBAL_BUFFER_COUNT]=size

ファイルに対してグローバルバッファの数を指定します。グローバルバッファは、共有メモリ内に存在し、データベースのキャッシングメカニズムの一部です。グローバルバッファは、MMデータベースには適用されません。

この修飾子は、慎重に設定することを選択してください。グローバルバッファの小さい数は、データベースのパフォーマンスを抑制する傾向にあります。しかし、もしシステムがメモリを制限し、RAMに十分なキャッシュを保持するためにデータベースファイルのトラフィックが重くならないならば、増加するGLOBAL_BUFFER_COUNTは、ページングのきっかけとなるでしょう。

もしデータベースのグローバルバッファがページアウトされるならば、パフォーマンスが低下する場合があります。したがって、注意深く観察せずに大きな値へこの因子を増加してはいけません。

GLOBAL_BUFFERsの適切な数は、アプリケーションとシステム上で利用可能な主メモリの量に依存します。ほとんどのプロダクションデータベースは、GLOBAL_BUFFERsの数とパフォーマンスの間に、直接の関係を示す。しかし、その関係は線形でないが、漸近的なので、いくつかのポイントを過ぎると、徐々にベネフィットがより少なくなることが増えてくる。リターンを逓減させるこのポイントは、アプリケーションによって異なります。ほとんどのアプリケーションでは、1Kと64Kの間が最適なGLOBAL_BUFFERs数であることを、FIS.は期待します。

トランザクション処理は更新に関与する可能性があり、トランザクションは GLOBAL_BUFFER_COUNT の半分に制限されるため、したがって、GLOBAL_BUFFER_COUNTの値は、アプリケーションの最大グローバル変数ノードで必要とされるブロックの数の2倍に26を加えた値以上の数である必要があります。

一般に、本番プロダクション用ではGDSデータベースファイルのGLOBAL_BUFFERの数を増やす必要があります。これは、なぜなら、GT.Mが、キャッシングの大部分が各GDSのファイルに関連付けられている共有メモリデータベースキャッシュを使用するからです。

BG用の最小GLOBAL_BUFFER_COUNTは64ブロックです。

BG用のGLOBAL_BUFFER_COUNTの最大値は、2,147,483,647ブロックですが、利用するプラットフォームに依存して異なることがあります。

デフォルトでは、GDEはGLOBAL_BUFFER_COUNTを使用します。これは、各プラットフォームでの最初の開発に適していますが、実稼働アプリケーションでは小さすぎる可能性があります。

[注意] 注意

もしグローバルバッファが "ページアウト" ならば、 より多くのグローバル・バッファから生じるシステムのパフォーマンスの向上よりも、 "ページアウト"されるグローバルバッファから生じる急激なスロー・ダウンによって相殺されるでしょう。

-L[OCK_SPACE]=integer

このセグメントに格納されるロックデータベースを使用するためのスペースのページ数を指定します。ページのサイズは常に512バイトです。

GT.MはLOCK制御情報を格納するスペースがなくなるので、LOCKは次第に効率が悪くなります。もし1つのプロセスがすべてのLOCK領域を消費する場合、プロセスは続行できず、他のプロセスはLOCKを使用して処理を続行できません。

最小のLOCK_SPACEは、10ページです。

最大のLOCK_SPACEは、65,536ページです。

デフォルトでは、GDEは、40ページのLOCK_SPACEを使用します。

LOCK_SPACE の使用量は、ロック数とロックを待っているプロセスの数によって決まります。ロック スペースのニーズを推定するために、経験則で:

  • ロックスペース用に1.5KiB オーバーヘッドに、加えて、

  • 各ロックのベース名のために640バイト、加えて、

  • 各添字のために128バイト、加えて、

  • 待機中の各プロセスのための128バイト

メモリが不足しているか、または、ロックの使用状況で想定外レベルを認識させる時、一般的に、LOCK_SPACEを制限します。他のほとんどのケースでは、LOCK_SPACEを制限する理由はありません。新しいコードを導入しているなら、それが内部的に楽観的なアルゴリズムでそれらを管理する、GT.Mと隔離のための信頼性をプッシュするために、多くのLOCKsのためのより効率的な代替として、TSTARTとTCOMMITを使用することをFISは推奨します。

-M[UTEX_SLOTS]=integer

データベースファイルのミューテックス(mutex:相互排除オブジェクト)スロットの数を指定します。GT.Mはミューテックス(mutex:相互排除オブジェクト)スロットを使用してデータベースの競合を管理します。不十分な数のスロットが重い負荷の下では、はるかに急で、より厳しいパフォーマンスの低下につながる可能性があるので、FISは、データベースファイルに同時にアクセスすると予想されるプロセスの最大数をカバーするようにスロットを構成することを推奨します。最小値は1Ki、最大値は32Kiです。ほとんどの場合、1Kiのデフォルト値が適切であるはずです。

-R[ESERVED_BYTES]=size

各データベースブロック内に確保されるサイズを指定します。RESERVED_BYTESは、一般的に、Mの通信プロトコルの制限を観察する他の実装、または互換性のための予備の部屋に使用されます。RESERVED_BYTESは、また、フィルファクターのユーザ管理として使用されることがあります。

最小のRESERVED_BYTESは、ゼロバイトです。

最大の予約バイト(Reserved_Bytes)は、ブロックサイズからブロックヘッダを差し引き(プラットフォームに応じて7または8 )最大レコードサイズを差し引きます。

デフォルトでは、GDEは、ゼロバイトのRESERVED_BYTESサイズを使用します。

概要

次の表は、GDE REGION 修飾子をまとめたものです。略語を提供し、デフォルトとして(F.I.S.で提供される)、および、許容可能な最小値と最大値を提供します。

GDE SEGMENT 修飾子

修飾子

デフォルト

最小値

最大値

** BLOCK_SIZEからブロックヘッダのサイズを引いた値

* プラットフォームによって異なる場合があります

-AC[CESS_METHOD]=BG|MM

BG

-

-

-AL[LOCATION]=size (blocks)

100

10

1,040,187,392(992Mi)

-BL[OCK_SIZE]=size (bytes)

1,024

512

65,024

-[NO]EN[CRYPTION]

0

-EX[TENSION_COUNT]=size (blocks)

100

0

65,535

-F[ILE_NAME]=file-name (chars)

mumps.dat

-

255

-G[LOBAL_BUFFER_COUNT]=size (blocks)

1024*

64

2,147,483,647

-L[OCK_SPACE]=size (pages)

40

10

65536

-M[UTEX_SLOTS]=integer

1,024

1,024

32,768

-R[ESERVED_BYTES]=size (bytes)

0

0

block size-7

グローバル名(Gblname)修飾子

次の -GBLNAME修飾子は、ADD、CHANGE、またはTEMPLATEコマンドで使用できます。

-C[OLLATION]=collation_number

グローバル名の照合番号を指定します。 0の値は標準M照合を指定します。GT.Mプロセスがデータベースファイル内のグローバル変数名に初めてアクセスするとき、照合シーケンスは次のように決定されます:

  • もしグローバル変数ツリー(GVT)が存在する場合(つまり、グローバル変数ノードが存在する場合、または、それらがKILLされていても以前に存在していた場合)は、既存の照合を使用します。

    • もしその変数のディレクトリツリー(DT)に照合順序が指定されている場合は、グローバルディレクトリの照合と一致することを確認した後に使用します。

    • それ以外の場合(つまり、DTに照合順序が指定されていない場合)

      • もしグローバルディレクトリ内のそのグローバル変数に照合順序が指定されている場合は、それを使用します。

      • それ以外の場合は、そのデータベースファイルのデフォルトがある場合は、それを使用します。

      • そうでなければ(つまり、存在しない)、標準のM照合を使用する。

  • それ以外の場合(つまり、GVTが存在しないため、DTが存在しないことを意味します)。

    • もしグローバルディレクトリ内のそのグローバル変数に照合順序が指定されている場合は、それを使用します。

    • それ以外の場合は、そのデータベースファイルのデフォルトがある場合は、それを使用します。

    • そうでなければ(つまり、存在しない)、標準のM照合を使用する。

inserted by FC2 system