GDSを使用してデータベースファイルを編成

GT.Mは、多くの部分に低レベルのシステムサービスを使用して、GDSのファイルを処理します。GDSファイルは、2つの部分から成ります:

データベース ファイル ヘッダ

ファイルのヘッダー内のフィールドは、次のタイプの情報を伝えます。

  • データ要素(Data Elements)

  • マスタービットマップ(Master Bitmap)

ファイル ヘッダ データの要素

GDEを除くすべてのGT.Mのコンポーネント (ランタイムシステム, DSE, LKE, MUPIP)は、アカウント、コントロール、ロギングの目的のためにファイルヘッダのデータ要素を使用します。

ファイルヘッダーの現在の状態は、常にデータベースの特性を決定します。MUPIP CREATEコマンドは、グローバルディレクトリからファイルヘッダのデータ要素の値を初期化し、新しい .DATファイルを作成します。

ファイル・ヘッダー・データの要素は、ファイル・ヘッダーに表示される順序ではなく、簡単にアクセスできるようにアルファベット順に以下のようにリストします。

データ要素(Data Elements)

説明

Access method(アクセス方法)

データベースのバッファリング計画。アクセス方法は2つの値を持ちます。BGまたはMM。デフォルト値はBGです。

バッファード グローバル(BG)は、バッファ(OS /ファイルシステムもまた "シリーズ(in series)" にバッファ)を管理し、MMは - OS /ファイルシステムがすべてのバッファを管理します。

Block size (ブロックサイズ(バイト単位))

GDSブロックのサイズ(バイト単位)ブロックサイズは、512の倍数の値を持つことができます。デフォルト値は 1024 です。ブロックサイズは、外に出る大きなレコードをすべて収容するために選択されたOSファイルシステムのネイティブ・ブロック・サイズの倍数でなければなりません。詳細については、 第4章:"グローバルディレクトリエディタ"を参照してください。

Blocks to Upgrade(アップグレードのためのブロック)

以前のメジャーバージョンのフォーマットでまだ残っているデータベース内のブロックの数。GT.Mは、インクリメンタルアップグレード時に、この要素を使用します。

Cache freeze id(キャッシュをフリーズするID)

セグメントへの更新を中断しているプロセスのプロセス識別番号(PID)

Certified for Upgrade to V5(V5へアップグレードのための証明)

インクリメンタルアップグレードのための "証明済み" ブロック の数(dbcertifyユーティリティを使って)GT.Mは、インクリメンタルアップグレード時に、この要素を使用します。

Create in progress(進行中に作成する)

MUPIP CREATEの操作中では、進行中の作成は、TRUEです。正常値はFALSEです。

Collation Version(照合バージョン)

このデータベースに割り当てられている照合シーケンス定義のバージョンもし外部の照合アルゴリズムが指定されている場合、DSEはこれを報告のみします。

Commit Wait Spin Count(スピンカウントを待ってコミット)

COMMITWAIT_SPIN_COUNTは、GT.MがSMPマシン上で動作するCPUをもたらす前にスピン(spin)すべき更新を完了するブロックの制御を待っているGT.Mプロセスの回数を指定します。

Current transaction(現在のトランザクション)

最新のデータベーストランザクションの64ビットの16進数。

Default Collation(デフォルトの照合順序)

照合順序は、このデータベース用に現在定義されています。もし外部の照合アルゴリズムが定義されている場合は、DSEはこれを報告のみします。

Desired DB Format(目的別DBフォーマット)

データベースブロックの目的別バージョンのフォーマット目的別DBフォーマットは2つの可能な値を持つことができます - それは、現在動作中のGT.Mディストリビューションまたは最後の以前のメジャーバージョンです。新しく作成されたデータベースと変換されたデータベースは、現在のメジャーバージョンを持ちます。

Endian Format(エンディアンフォーマット)

エンディアンはプラットフォームのバイトオーダー

Extension Count(拡張子のカウント)

それが一杯になったときに拡張するデータベースファイルによるGDSブロックの数。デフォルトの値は 100個で、最大 65535個です。プロダクション(本番)では、通常この値は、比較的長い期間(一週間または一ヶ月をさす)に必要とされる新たな領域の量を反映している必要があります。この値は、容量が少ない時に警告するためにデータベース拡張の実際の使用可能なスペースをGT.Mがチェックする頻度を制御するので、UNIXファイルシステムでは、遅延割り当てを使用してください。

Flush timer(フラッシュタイマー)

データベース更新と変更されたバッファのタイムドフラッシュ(timed flush)の始動のどちらも完了するまでの時間を示します。デフォルト値は1秒で、最大値は1時間です。

Flush trigger(フラッシュトリガー)

フラッシュを開始する更新プロセスをトリガする変更バッファの総数。最大値とデフォルト値はグローバル・バッファの93.75%です。 最小値はグローバル・バッファの25%です。大量のグローバル・バッファ数の場合は、値を最小値に近い値か最小値に設定することを検討してください。

Free blocks(フリーブロック)

インデックスされたデータベースの現在一部ではない(すなわち使用しない)ファイルのデータ部分のGDSブロックの数。もしそれが間違っている場合、MUPIP INTEG - NOONLINE は( -FASTを含む )この値を修正することができます。

Free space(フリースペース)

ファイルヘッダーで現在未使用のブロック数(拡張機能で使用するため)。

Freeze match(一致を凍結)

キャッシュ・フリーズidのためのPIDの拡張(イメージ数) - OpenVMSのみ

Global Buffers(グローバルバッファ)

領域のためのBGバッファ数。512(バイト単位)の倍数の値を持つことができます。最小値は64、最大値は2147483647です(プラットフォームによって異なる場合があります)。デフォルト値は 1024 です。プロダクション(本番)システムでは、一般的にこの値は高くする必要があります。

クリティカルセクション

もしプロセスがクリティカルセクションを保持していない場合、書き込みクリティカルセクションの中でまたはゼロのプロセスのプロセス識別番号(PID)。

Journal Alignsize(ジャーナル アラインサイズ)

ジャーナルファイルのalignsize(アラインサイズ)内の512バイトブロックの数を指定します。もしジャーナリングが有効(またはON)になっている場合、DSEはこのフィールドのみを報告します。

もしALIGNSIZEが完全な2のべき乗で無い場合、GT.Mは、それに最も近い2のべき乗に丸めます。

デフォルト値と最小値は4096です。最大値は4194304(= 2GB)です。

小さなalignsize(アラインサイズ) は、より速いリカバーまたはロールバック操作が可能になりますが、しかし、ジャーナルファイルでスペースの使用を効果的に抑制します。

ジャーナルの割り当て

GT.Mはジャーナルファイルの拡張子をサポートするためにディスク領域の残りをテストすることを開始するブロック数もしジャーナリングがENABLED または ON になっている場合、DSEはこのフィールドのみを報告します。

ジャーナルのAutoSwitchLimit (自動スイッチ制限)

GT.Mは自動的に新しいジャーナルファイルへの暗黙的にオンライン切り替えを実行した後のブロック数。もしジャーナリングがENABLED または ON になっている場合、DSEはこのフィールドのみを報告します。

ジャーナルのAutoSwitchLimit (自動スイッチ制限) のデフォルト値は8386560で、最大値は8388607ブロック(4GB - 512バイト)です。最小値は16384です。ジャーナルのAutoSwitchLimit (自動スイッチ制限)と割り当て値の差が拡張値の倍数でない場合、GT.Mは値を切り捨てて拡張値の倍数にし、情報メッセージを表示します。

ジャーナルのBefore imaging

ジャーナリングのbefore imageが許可されているかどうかを示します;もしジャーナリングがENABLED (有効) またはON になっている場合は、DSEはこのフィールドのみを報告します。

ジャーナリングのbefore imageは、TRUE か FALSE のどちらかです。

ジャーナルバッファサイズ

メモリの量は、ジャーナルファイルの更新をバッファに割り当てます。デフォルト値は2308です。最小は 2307 で 最大は32Kブロックです。これは、ジャーナル・ファイル出力に設定できる最大バッファが16MBであることを意味します。大規模なジャーナルバッファは、実行時パフォーマンスを向上できますが、また、失敗のリスクで情報量を増やします。ジャーナルバッファサイズは、最大のトランザクションを保持するのに十分な大きさでなければなりません。

ジャーナル エポック インターバル

秒単位で2つの連続するEPOCH間のインターバル経過時間間隔。EPOCHはチェックポイントで、データベースファイルに対するすべての更新がディスクにコミットされます。すべてのジャーナル・ファイルは、エポック・レコードが含まれています。もしジャーナリングがENABLED または ON になっている場合、DSEはこのフィールドのみを報告します。

デフォルト値は300秒(5分)です。最小は 1秒で 最大は32,767秒(32K未満)、つまり約9.1時間です。長いエポック間隔は、ランタイム·パフォーマンスを向上させることができますが、彼らはまた、より長い回復時間を引き起こす可能性があります。

ジャーナル拡張

継続してジャーナルファイルの増大をサポートするために、十分足りているスペースが残っているかどうかを決定するために、GT.Mによって使用されるブロックの数。もしジャーナリングがENABLED または ON になっている場合、DSEはこのフィールドのみを報告します。

デフォルト値は2048ブロックです。最小はゼロ(0)ブロックで、最大は1073741823(1ギガ以下)ブロックです。プロダクション版では、この値は一般的に、ジャーナル拡張を無効にしジャーナルの割り当てに完全に依存する 0(ゼロ)か、あるいは大きくすべき値ののどちらかでなければなりません。UNIXでは、この値は、主にジャーナルファイル増大率を監視できるように提供しています。

この値は、容量が少ない時に警告するためにジャーナルファイルの拡張用に実際に利用可能なスペースを、GT.Mがチェックする頻度を制御するので、UNIXファイルシステムでは、遅延割り当てを使用しています。

ジャーナルファイル

ジャーナルファイルの名前を指定します。もしジャーナリングがENABLED または ON になっている場合、DSEはこのフィールドのみを報告します。

ジャーナルの状態(Journal State)

ジャーナリングがON, OFF, または無効(許可されない)になっているかどうかを示しますす。

ジャーナル同期 IO

ディスクに直接コミットするジャーナルファイルにWRITE操作かどうかを示します。デフォルト値はFALSEです。

もしジャーナリングが有効(またはON)になっている場合、DSEはこのフィールドのみを報告します。

ジャーナル収容限界(Journal Yield Limit)

ディスクへジャーナルバッファ内容をフラッシュする必要があるプロセスの回数は、そのタイムスライスをもたらし、そして、最適なI/Oオペレーションより少ない初期化する前に、アクティブな同時プロセスによってフィルイン(充填)するために追加のジャーナルバッファの内容を待ちます。

最小ジャーナル収容限界は0で、最大のジャーナル収容限界は8です。

ジャーナル収容限界のデフォ​​ルト値は8です。負荷の軽いシステムでは、小さな値では、ランタイムパフォーマンスを向上させることができますが、更新頻度の高いシステムでより高いレベルは、通常、最高のパフォーマンスを提供します。

進行中のKILL

現在、マルチブロックのKILLの後に現在クリーンアップしているプロセスの数と放棄されたKILLの数の合計

[注意] 注意

放棄されたKILLが、ビジーエラーを誤ってマークされたブロックに関連付けられています。

最後のバイトストリームバックアップ

最後のトランザクションのトランザクション数は、 MUPIP BACKUP -BYTESTREAM コマンドでバックアップされます。

最後のデータベースバックアップ

最後のトランザクションのトランザクション数は、MUPIP BACKUP -DATABASE コマンドを使用してバックアップされます。(注: DATABASEは、デフォルトの BACKUPタイプです)

最後のレコードのバックアップ

最後のMUPIP BACKUP -RECORD または FREEZE -RECORD コマンドのトランザクション数

ロックスペース

ロック情報を収めるためのスペースの512バイトのページを示す16進数。

最小のロック・スペースは10ページで、最大は65,536ページです。 デフォルトは40ページです。LOCKSを多用するアプリケーションがあるプロダクション版では、この値はより大きくする必要があります。

マスタービットマップのサイズ

マスターのビットマップのサイズ。V6フォーマットのデータベースの現在のマスター・ビットマップのサイズは 496(512バイトブロック)です。

最大キーサイズ

最小キーサイズは 3バイトで、最大キーサイズは1019バイトです。アプリケーション設計の最大キー・サイズの設定については、グローバル・ディレクトリー・エディター を参照してください。

最大のレコードサイズ

最小レコードサイズはゼロ(0)です。ゼロのレコード・サイズは、値を持たないグローバル変数ノードのみを許可します。最大値は1,048,576バイト(1MiB)です。 デフォルト値は256バイトです。

GT.Mを減らし、もしキーサイズを減らして、既存のより長いレコードでノードを更新しようとすると、GT.Mはエラーになります。

最大のTN (トランザクション数)

現在のデータベースが保持できるTN (トランザクション数)の最大数を指定します。V6形式のデータベースの場合、最大 TNのデフォルト値は18,446,744,071,629,176,83または0xFFFFFFFF83FFFFFF です。

TN (トランザクション数)を警告する最大値

GT.Mが警告を発し、トランザクション数を新しい値に更新した後のトランザクション数。最大TN Warnのデフォルト値は0xFFFFFFFD93FFFFFFです。

変更されたキャッシュブロック

データベースに書き込まれることを待っているバッファプール内の変更されたブロックの現在の数。

ミューテックス(相互排除オブジェクト) ハードスピンカウント

CPUにかかる負担が少ない待機期間に開始する前に、ミューテックス ロックを取得しようとする試みの数。デフォルト値は128です。

ミューテックス(相互排除オブジェクト) スリープスピンカウント

プロセスのウェイクアップシグナルに基づいて待機を開始する前に、ミューテックスロックを取得するためのタイムアウトの試行回数。デフォルト値は128です。

ミューテックススピンスリープ時間

ミューテックススリープを試みる間にスリープためのミリ秒。デフォルト値は2048です。

書き込み/フラッシュの数

それぞれのフラッシュに書き込むブロックの数。デフォルト値は7です。

ヌル添字(Null Subscripts)

もし null添字が正しい場合、"ALWAYS"もし正しくない場合は、"NEVER"、そして、もしアクセスおよび更新ができたが、新たに作成されていない場合は、 "EXISTING"

ローカルマップの数

(ブロックの合計 + 511)\512

オンラインバックアップ NBB

オンラインバックアップが進行した先のブロック。DSEは、オンラインバックアップが現在進行中である場合にのみ、これを表示します。

リファレンス(参照)カウント

特定のノード上でそのセグメントに現在アクセスしているGT.Mプロセスとユーティリティの数は

注:GT.Mは、このフィールドを信頼しません。データベースセグメントは、最初にゼロのリファレンスカウントを持ちます。GT.Mプロセスまたはユーティリティがセグメントにアクセスする時、GT.Mは、リファレンスカウントをインクリメントします。GT.Mは、終了時にリファレンスカウントをデクリメントします。

GT.MはプロセスとしてDSEをカウントします。DSEでこのフィールドを検査している時、レファレンスカウントはゼロより常に大きいです。DSEは、領域(region)を使用している唯一のプロセスである時には、リファレンスカウントは1でなければなりません。

領域(Region)のシーケンシャル番号(Seqno)

領域(region)の現在のレプリケーションの相対的なタイムスタンプ

レプリケーションの状態

On または OFF のどちらか。 [ONだったのが]OFFになることは、レプリケーションがまだ動作しているが、しかしジャーナリングでの問題がそれをOFFになるためにGT.Mが引き起こしたことを意味しますので、もしそれがジャーナルとなる必要が今まである場合に、ジャーナルプールがレプリケーションに必要なデータを失うことから、GT.Mは、まだレプリケーション中ですが、レプリケーションOFFにします。

リザーブバイト

データベースブロック内で予約されたバイト数

VBNの開始

GDSファイルヘッダの後の最初のGDSブロックの仮想ブロック番号; これはデータベースのブロック0であり、常に、最初にローカルビットマップを保持しています。

ペンディング中のタイマー

定時のフラッシュを考慮したプロセスの数。

トータルブロック

ローカル·ビットマップを含むGDSブロックの合計数

ディスク ウェイト

GT.MがディスクへGDSブロックの内容をフラッシュしようとしなくなる前に、利用できるようになるディスクスペースを待機する時間(秒)。待機中に、GTM-E-WAITDSKSPACE エラーを最終的に発行する前に、だいたい8回間隔でオペレータ·ログ·メッセージを送信します。例えば、もしウェイトディスクが80秒で、GT.MがGDSブロックをフラッシュするためにディスクスペースを検出できなかった場合、それは約10秒ごとにGTM-E-WAITDSKSPACE syslogメッセージを送信し、8個目のメッセージの後に、WAITDSKSPACEエラーを発行します。このフィールドは、ゆったりとしたディスク・スペースの割り当てに依存しているので、Unixでのみ使用されています。

Zqgblmod シーケンス番号

$Zqgblmod() トランザクション番号に関連付けられたレプリケーションのシーケンス番号。

Zqgblmod Trans (Zqgblmod トランザクション)

ブロックがレプリケーションのスイッチオーバしている間にトランザクションのオーバーラップで変更されたかどうかをテストする$ZQGBLMOD() 関数で使用されるトランザクション数。

100レコードごとにブロックを読み取る平均

それらはブロックをプリフェッチしようとする積極的な方法についてレプリケーションの更新ヘルパープロセスのための手がかりとして機能します。GT.Mが100個の更新レコードの読み取るそのデータベースブロックの数の見積もり値です。デフォルト値は200です。非常に大きなデータベースの場合、400までの値を増やすことができます。

更新プロセスの予約領域

更新プロセス用に予約されているグローバルバッファ数のおおよその割合(整数値0〜100)。読み取り用ヘルパープロセスは、少なくとも、更新プロセスのグローバルバッファのこのパーセンテージを残します。それは 0から100までの任意の整数値を持つことができます。デフォルト値は50です。

トリガーファクターのプリリード(事前読取)

アップデートプロセスのパーセンテージは、アップデートプロセスのプロセスがジャーナルレコードの処理とグローバルバッファキャッシュにグローバル変数を読み取りを再開するために、リーダヘルパープロセスを通知した後に、領域を予約しました。それは 0から100までの任意の整数値を持つことができます。デフォルト値は50です。

ライタトリガファクタを更新

データベースを管理するためにGT.Mで使用されるパラメータの1つに、フラッシュトリガーがあります。ダーティバッファの数がフラッシュトリガを超えた時、データベース·グローバル·バッファ·キャッシュから、ダーティバッファをフラッシュ開始するまでの、通常のGT.Mプロセスのトリガである、いくつかの条件の1つ。ダーティ グローバル·バッファの数がフラッシュトリガ値の更新ライタトリガーファクターのパーセンテージを超えた時に、ダーティバッファをフラッシュする更新処理自体の必要はない試みでは、ライターヘルパープロセスは、ダーティバッファをディスクにフラッシュすることを開始します。それは 0から100までの任意の整数値を持つことができます。デフォルト値は33%である33です。

MLOCK スペース

ファイルのヘッダーには、データベース領域に属しているすべてのリソース名がロックされているかどうかを、具体的に、Mロック情報に提供します。Mコードは、一般的に、グローバルデータへのアクセスを制御するフラグやセマフォなどのロックを使用しています。一般的に、LOCK引数には、保護されたアクセスを必要とするグローバル変数の名前と同じ名前のリソースを指定します。ロックの詳細については、GT.Mプログラマーズガイド の、"Mロックユーティリティ" の章と "コマンド"の章にあるロックのセクションを参照してください。

inserted by FC2 system