Free Software Foundationによって公開されているGNU Free Documentation License, Version1.3 またはそれ以降のバージョンで同意されたものとして、本マニュアルの修正版の複写と配布は、修正版全体が本許可告知と同一の条件のもとに配布される場合にのみ許可します。但し、「変更不可能部分」「おもて表紙テキスト」「うら表紙テキスト」など変更不可部分は含みません。
GT.M™ は、Fidelity Information Services, Inc. のトレードマークです。
このドキュメントでGT.Mの説明および操作方法は、システムを構成するさまざまな機能に関するものが含まれます。このドキュメントではFISの任意のコミットメントは含まれません。この文書の情報は発表日現在において正確であると考えていますが、情報は予告なしに変更される場合があります。FISのすべてのエラーまたは欠陥について責任はありませんす。
バージョン | 日付 | サマリ |
1.6 | June 15, 2011 | Added more information on S9I08-002695. |
1.5 | July 14, 2010 | Improved the description of C9K01-003225. |
1.4 | April 5, 2010 | Added more information about using GT.M on IBM pSeries AIX. |
1.3 | March 25, 2010 | Added an entry for S9K03-002761. |
1.2 | 2010年3月19日 |
|
1.1 | 2010年2月19日 |
|
1.0 | 2010年2月2日 | 最初の公開バージョン |
GT.Mグループ Fidelity Information Services, Inc. 2 West Liberty Boulevard, Suite 300 Malvern, Pennsylvania 19355 アメリカ合衆国
|
GT.M Support for customers: +1 (610) 578-4226 / gtmsupport@fnis.com
Switchboard: +1 (610) 296-8877 Website: http://fis-gtm.com
|
UNIX :UNIXとは、ここではGT.MがPOSIX APIを使用するすべてのプラットフォームの一般的な意味として使用されます。現時点では:AIX、IA64とPA-RISCのHP-UX、IA64とx86およびx86_64のGNU/Linux、Solaris SPARC、z/OSが含まれます。
コマンド構文規則 : UNIXの構文規則(フラグや修飾子の小文字テキストと"-")はこの文章全体を通して使われます。OpenVMSは小文字と大文字の両方のテキストを容認し、OpenVMS上でのフラグ/修飾子は"/"を前にする必要があります。
参照番号 : 括弧()で表示されるリファレンス番号は、ソフトウェア強化を突き止めたり、カスタマーサポートの要求するために使用します 。
プラットフォーム識別子 : 新しい機能やソフトウェアの拡張はすべてのプラットフォームで適用されない場合は、関連のあるプラットフォームがカッコ[ ]で表示されます。
今後は、以前に "プライマリインスタンス" または "オリジナルプライマリインスタンス"として使われていた用語は、新しく"オリジナルインスタンス" として使い、そして、以前に"セカンダリインスタンス"と"オリジナルセカンダリインスタンス"として使われていた用語は、新しく"レプリケーション インスタンス"として使います。ソフトウェアの変更よりもドキュメントの変更は容易で、そして、特に既存のプログラムやスクリプトの互換性を維持するという我々の伝統が与られていたので、たとえ、それらがコード内の新しい用語を補充しドキュメント内で置き換えられたとしても、元の用語は長い時間をかけられたソフトウェアの中に残ります。
GT.M V5.4-000Aは、V5.4-000 の僅かな問題についてタイムリーな改善を提供しています(V5.4-000Aはハイライト表示 )。
V5.4-000Aでは、V5.4-000で導入されたMOREREADTIME のデバイスパラメータの挙動に関する順応性(自動チューニング)について変更はありません。しかし、この技術情報では、私たちは、"MOREREADTIME" デバイスパラメータの改良についての説明を追加しました。詳細については、" GT.Mドキュメント付録 " を参照してください。
GT.M V5.4の- 000 は GT.Mに主要な新機能を追加するだけでなく、24時間365日データベース操作のための運用能力を著しい強化を追加します。
GT.Mトリガは、データベースファイルに格納されているコードフラグメンテーションがあります。プロセスがグローバル変数を更新する時、更新に一致する署名を持つそのデータベースファイルの任意のトリガは、自動的に更新とともに実行されます。トリガの署名は、コマンド(例えば、Set, Kill )、グローバル変数、添字パターンだけでなく、オプションで部分の区切りと関心領域の一部の設定などで構成します。トリガは、自動的にクロスリファレンスインデックスを計算し、参照整合性をメンテナンスすることによって、アプリケーションスキーマが矛盾のないことを維持するためのその1つだけが、多くの使用があります。詳細はGT.Mトリガの技術情報を参照してください。
注意:F.I.S.は、堅牢であるためにV5.4-000/V5.4-000Aでトリガの実装を考慮し、完全に短期間のプロダクションデプロイメント(稼動環境)で開発およびテストのための最適化を考慮します。GT.Mの次のリリースでは、より広い範囲な条件の下で自動化された回帰テストをより多くのサイクルを介して行われるでしょう、そして、その時点でプロダクショングレード(稼動環境仕様)となるでしょう。もし、あなたがFISの顧客で、かつ、GT.Mのトリガを使用してプロダクション(本番環境)のアプリケーションで配備するために準備されているならば、トリガがプロダクショングレード(稼動環境仕様)となるGT.Mリリースの時期と可用性について、F.I.S.のアカウントマネージャに問い合わせてください。状況に応じて、我々もV5.4-000/V5.4-000Aでのトリガの実装ではプロダクション(本番環境)のために十分な堅牢であることも決定づけるでしょう。トリガ機能を除いて、V5.4-000/V5.4-000Aで他のすべては、プロダクショングレード(稼動環境仕様)と考えられています。
もちろん、多数のバグ修正、誤った機能や僅かな機能強化が改善されてます。包括的なリストについては、変更履歴 . を参照してください。
ご注意:非難を受けていた "Z" 疑似トランザクション(ZTSTART / ZTCOMMIT により一まとめに扱われる)は、このリリースではサポートされません。F.I.S.は、あなたのコードからそれらの使用を削除するよう強く要請します。それらは長年にわたって非難され続けていて、それらの機能は、いつでもGT.Mから削除されることがあります。
このリリースノートの発行日の時点で、F.I.S. は下記のハードウェアとオペレーティングシステムのバージョンでこのリリースをサポートします。サポートされるプラットフォームの最新リストについてはF.I.S.に連絡してください。
プラットフォーム |
サポート バージョン |
注意点 |
Hewlett-Packard Integrity IA64 HP-UX |
11V3 (11.31) |
|
IA64 GNU/Linux - Red Hat Enterprise Linux |
Red Hat Enterprise Linux 5.3 |
GT.Mは、Linuxカーネル2.6と同時的な, glibc (version 2.5-24以降), ncurses(version 5.5-24以降)など他の主要なLinuxディストリビューションの最新リリースで実行する必要があります。私たちは、シングルセルのマシン上でRHELの5.xの包括的なテストをGT.Mが通過することを、検証しています(わずか8CPU)。マルチセルマシンでは、それらが確認されるまでは、プロダクション(本番環境)の使用に適切には考慮されていません。
|
Hewlett-Packard PA-RISC HP-UX |
11.11 |
GT.Mは次のようなこのプラットフォームを対象にUTF-8モードとMモードをサポートします:
[参考] [注意]HP-UXに関する翻訳はしません。Running GT.M on HP-UX 11i requires that patch PHKL_28475 be applied to the system. This patch fixes a problem with the <s0>lseek64()</s0> C library call that GT.M uses. A system without this patch gives fairly consistent database errors of varying types, structural damage, and in general does not work correctly for any but the most simplistic usage. The swlist -p command (executed as root) can be used to determine if this patch has been applied. Since recent "BATCH" and "GOLDEN" patches may contain this patch, your system may already have this patch applied but may not list it separately. [注意]HP-UXに関する翻訳はしません。Contact your HP support channel for more information.
[注意]HP-UXに関する翻訳はしません。GT.M does not support database encryption on this platform.
GT.M does not support the Memory Mapped (MM) Access Method on this platform.
[注意]OpenVMSに関する翻訳はしません。Although this platform remains at present fully supported with respect to bug fixes, owing to its looming sunset by the vendor, new functionality is supported on this platform only for FIS' convenience. [注意]OpenVMSに関する翻訳はしません。 Please contact your FIS account manager regarding future support.
|
Hewlett-Packard Alpha/AXP Tru64 UNIX |
5.1B |
[注意]HP-Alpha/AXPに関する翻訳はしません。GT.M supports M mode but not UTF-8 mode on this platform. GT.M does not support database encryption on this platform.
[注意]OpenVMSに関する翻訳はしません。Although this platform remains at present fully supported with respect to bug fixes, owing to its looming sunset by the vendor, new functionality is supported on this platform only for FIS' convenience. [注意]OpenVMSに関する翻訳はしません。 Please contact your FIS account manager regarding future support. |
Hewlett-Packard Alpha/AXP OpenVMS |
7.3-1/7.3-2/8.2/8.3 |
[注意]OpenVMSに関する翻訳はしません。GT.M supports M mode but not UTF-8 mode on this platform. GT.M does not support several recent enhancements on this platform, including but not limited to database encryption, on-line backup, multi-site replication, PIPE devices and triggers.
[注意]OpenVMSに関する翻訳はしません。If you need to work with external calls written in C with Version 6.x of the Compaq C compiler on Alpha OpenVMS, then you must carefully review all the provided kits for that product and apply them appropriately.
[注意]OpenVMSに関する翻訳はしません。Although this platform remains at present fully supported with respect to bug fixes, owing to its looming sunset by the vendor, new functionality is supported on this platform only for FIS' convenience. [注意]OpenVMSに関する翻訳はしません。 Please contact your FIS account manager regarding future support.
|
IBM System p AIX |
5.3, 6.1 |
[注意]AIXに関する翻訳はしません。Since GT.M processes are 64-bit, FIS expects 64-bit AIX configurations to be preferable.
|
IBM System z z/OS | V1R10 | [参考] [注意]z/OSに関する翻訳はしません。At this time, FIS is not providing a distribution of GT.M V5.4-000 for this platform. [注意]z/OSに関する翻訳はしません。 Contact your FIS account executive if you need such a distribution. |
Sun SPARC Solaris |
Ver 9 (Update 3以上) と、Ver 10 (Update 6以上) |
GT.Mは、 Mモードでは軽視されていたDAL呼び出しをサポートし、しかしUTF-8モードではサポートしない。プログラマ ガイドの統合外部ルーチンの章にある、適切な代替ソリューションを参照してください。
|
x86_64 GNU/Linux |
Red Hat Enterprise Linux 5.4; Ubuntu 8.04 LTS から 9.10 |
64ビットのGT.Mプロセスを実行するには、64ビットカーネルだけでなく64ビットのハードウェアの両方が必要です。
GT.Mは、Linuxカーネル2.6と同時期の, glibc (version 2.5-24以降), ncurses(version 5.5-24以降)など他の主要なLinuxディストリビューションの最新リリースで実行する必要があります。
Unicode(UTF-8)を使用しGT.Mをインストールするには、RHEL5.4でサポートします。<s0>Should an ICU version other than the default be used?(y or n)</s0>のインストールの質問に対して <s1>y</s1> と答えてください。そして、引き続き、<s3>Enter ICU version (at least ICU version 3.6 is required. Enter as <minor-ver>.<major-ver>):</s3>のプロンプトで、ICUのバージョンを指定してください(例えば、<s2>3.6 </s2>と入力 )。
|
x86 GNU/Linux |
Red Hat Enterprise Linux 4 |
このGT.Mの32ビットバージョンは32ビットまたは64ビットのいずれかのx86プラットフォームで動作しますが、我々は64ビットハードウェア上でより好ましくすべきことはGT.MのX86_64 GNU/Linux バージョンを期待します。
GT.Mは、Linuxカーネル2.6と同時期の, glibc (version 2.3.4-2以降), ncurses(version 5.4-1以降)など他の主要なLinuxディストリビューションの最新リリースで実行する必要があります。CPUは最低限 686(Pentium Pro)または同等のインストラクションセットが必要です。古いCPUのサポートについては、F.I.S.にお問い合わせください。
ただし、公式的にはRHEL 5.x は 32ビット版 x86 GNU/Linux GT.M はサポートしません。我々は、なぜGT.Mがその上で動作しないかの理由がないことを認識されてます。
これは、最後のGT.MリリースがRHEL 4.xのためにあり、将来のGT.MリリースはRHEL V5.x.が必要になります。 |
同じアプリケーションコードで32ビットおよび64ビットの両方のプラットフォーム上で実行します。注意点:
それぞれのプラットフォーム用に個々のアプリケーションコードごとにコンパイルする必要があります。Mソースコードがまったく同じであっても、生成されるオブジェクトモジュールは、同じハードウェアアーキテクチャ上であっても、x86用とx86_64用のオブジェクトコードが異なるためです。
Cの呼出規則を使用する非MコードとGT.Mとのインターフェイスにおけるパラメータタイプは、それらのターゲットプラットフォーム上でデータタイプと一致する必要があります。たいていは、これらのパラメータは、コールイン,外部呼出し,国際化(照合),トランザクション環境などのために存在し、下記の表に表します。64ビットプラットフォーム上のほとんどのアドレスは8バイト長で、構造体は8バイトのアラインメントが必要でであるのに対して、32ビットプラットフォームのすべてのアドレスは4バイト長で、構造体は4バイトのアラインメントが必要であることに注意してください。
パラメータ タイプ |
32ビット |
64ビット |
備考 |
gtm_long_t |
4バイト(32ビット) |
8バイト(64ビット) |
gtm_long_t はC言語のlong型としてほぼ同じ、Tru64 UNIX を除き、GT.Mは 32ビットアプリケーションのままです。 |
gtm_ulong_t |
4バイト |
8バイト |
gtm_ulong_t は、C言語のunsigned long型 とほぼ同じです。 |
gtm_int_t |
4バイト |
4バイト |
gtm_int_t は、すべてのプラットフォーム上で32ビット長を持ちます。 |
gtm_uint_t |
4バイト |
4バイト |
gtm_uint_t は、すべてのプラットフォーム上で32ビット長を持ちます。 |
パラメータ タイプ |
32ビット |
64ビット |
備考 |
gtm_descriptor in gtm_descript.h |
4バイト |
8バイト |
これらのタイプの内での変更するアドレスのみがあるにもかかわらず、構造体は、プラットフォームのアライメントの要件を満たすために、コンパイラのパディングの結果として最大8バイトまで拡張する可能性があります。 |
MとCのソースファイルすべてを再コンパイルしてください。
すべてのMとCのソースファイルをコンパイルした後、共有ライブラリ(UNIX)または共有可能な実行可能なファイルのイメージ(OpenVMS)を再構築します。
GT.Mをインストールしるには、『GT.M管理とオペレーションガイド』の"GT.Mインストール"のセクションを参照してください。
すべてのデータベースファイルを確保するために古いGT.MバージョンのMUPIP RUNDOWNコマンドの使用は、正常にクローズされます。
UNIXエディションには、gtmsecshr は実行しないでください。もしgtmsecshr が実行されると、最初にDSE, LKE, MUPIPユーティリティを含むすべてのGT.Mプロセスが停止し、そして、kill <pid_of_gtmsecshr> を実行してください。
[注意]AIX用の追加情報は翻訳しません。GT.M for IBM pSeries AIX requires the Asynchronous IO facility to be available and configured. [参考] [注意]AIX用の追加情報は翻訳しません。Before installing GT.M on IBM pSeries AIX, run the following command to check the filesets of this facility: lslpp -l bos.rte.aio
[注意]AIX用の追加情報は翻訳しません。If there are no filesets, then install them from AIX installation media. Then, use SMIT to configure the Asynchronous IO facility. Use SMIT as follows:
[参考] <s0>smit aio</s0> (for gui mode) or
[参考] <s0>smitty aio</s0> (for text mode)
[注意]AIX用の追加情報は翻訳しません。For a system that has the "posixaio" option instead of "aio" (also called "legacy aio"), use SMIT as follows:
[参考] [参考] <s0>smit aio</s0> (for gui mode) or
[参考] [参考] <s0>smitty aio</s0> (for text mode)
[注意]AIX用の追加情報は翻訳しません。In addition to configuring the aio0 device, select "Change/Show characteristics of Asynchronous I/O" change the value of "State to be configured at system restart" from "defined" to "available". This ensures that the aio0 device will be available when you next reboot the system.
Since GT.M is not a thread safe application, starting multiple threads in a process, or sometimes even loading libpthreads can cause process failure with symptoms such as SIG-11. On AIX, sometimes seemingly innocuous actions can pull libpthreads into a process and cause it to fail. Two known cases are (a) use of non-POSIX (Olson) names such as America/Chicago for the TZ environment variable - please use POSIX names such as CST6CDT instead - and (b) using LDAP to authenticate userids. Other cases probably exist.
[注意]AIX用の追加情報は翻訳しません。If you expect a database file or journal file to exceed 2GB, then you must configure its file system to permit files larger than 2GB. Furthermore, should you choose to place journal files on file systems with a 2GB limit, since GT.M journal files can grow to a maximum size of 4GB, you must then set the journal auto switch limit to less than 2 GB.
[参考] [注意]OpenVMS用の追加情報は翻訳しません。To upgrade from a GT.M version prior to V4.3-001, you must update any customized copy of <s2>GTM$DEFAULTS</s2> to include a definition for GTM$ZDATE_FORM<s4>.</s4>
[注意]OpenVMS用の追加情報は翻訳しません。You can ignore the following section if you choose the standard GT.M configuration or answer yes to the following question:
Do you want to define GT.M commands to the system
[参考] [注意]OpenVMS用の追加情報は翻訳しません。If you define GT.M commands locally with SET COMMAND GTM$DIST:GTMCOMMANDS.CLD in <s1>GTMLOGIN.COM</s1> or other command file for each process which uses GT.M, you must execute the same command after installing the new version of GT.M before using it. If you define the GT.M commands to the system other than during the installation of GT.M, you must update the system <s2>DCLTABLES</s2> with the new <s3>GTMCOMMANDS.CLD </s3>provided with this version of GT.M. See the OpenVMS "Command Definition, Librarian, and Message Utilities Manual" section on "Adding a system command." In both cases, it is important for each process to match the proper <s5>GTMCOMMANDS.CLD</s5> with the version of GT.M it runs.
GT.Mデータベースは、データベースファイル、ジャーナルファイル、グローバルディレクトリの、レプリケーションインスタンスファイルの4種類のコンポーネントで構成されます。各データベースコンポーネントの形式は、各GT.Mのバージョンと同じハードウェアアーキテクチャ上で32-bit/64-bit のGT.Mプラットフォームでさえ異なることがあります。
各ステージのアップグレードの説明を注意深く読んでください。GT.M V5.4-000Aのアップグレード手順は、あなたのGT.Mアップグレードの歴史と現在のバージョンに依存します。
もし、それをアップグレードするつもりが無く、不注意で以前の形式でグローバルディレクトリを開いたならば、 EXITコマンドではなく、QUITコマンドを実行してください。
ブロック形式のアップグレード(V4からV5など)がある時のみ、データベースファイルをアップグレードする必要があります。しかし、いくつかのバージョンでは、例えば、V4として作成され(その後V5形式へアップグレード)初期化されたものが、以前のアップグレードツールで仕損じている可能性があるフリーブロックでは無く以前に使用されていたものをアップグレードするためにMUPIP REORG –UPGRADE操作がさらに必要となるでしょう。
V5.000より前のGT.Mバージョンからアップグレードするには:
GT.M V5.0*/V5.1*/V5.2*/V5.3* からアップグレードするには:
注:32ビットGT.Mバージョンから64ビットGT.Mバージョンへアップグレード時には、常にレプリケーションインスタンスファイルを再作成する必要があります。これは、AIXまたは64ビットLinux上のV5.3-000以前のバージョンからGT.M V5.3-001以降へのアップグレードと、Solaris上のV5.3-001以前のバージョンからGT.M V5.3-002以降のアップグレードが含まれます。新しいレプリケーションインスタンスファイルを作成した後には、常に-UPDATERESYNC修飾子で、それを起動してください。以前から存在するインスタンスファイル(新しいインスタンスファイルを作成に反対するとして)の使用は、REPLINSTSECMTCHからSIG-11(そのコアファイルを作成する)の範囲のエラーで異常終了するインスタンスファイル(オリジナルインスタンス上で、ソースサーバー、受信サーバー、更新プロセス、GT.Mプロセスを含む)を読み取るその任意のプロセスを引き起こす可能性があります。
次の3つのシナリオでは、もしあなたがレプリケーションインスタンスファイルを作成しないならば、ソースサーバーのプロセスは異常終了します:
これらのケースでは、このインスタンスから更新のために見ている(通信している)他のインスタンス上のすべての受信サーバをシャットダウンをし、次にこのインスタンスをシャットダウンし、インスタンスファイルを再作成し、それから -UPDATERESYNC修飾子を用いてこのインスタンスで受信サーバーを再起動してください。
<a0>注:UPDATERESYNC修飾子なしで、複製インスタンスは、複製インスタンス上でインスタンスと潜在的なロールバック情報の両方からのステータス情報を使用してオリジナルのインスタンスを同期します。UPDATERESYNC修飾子は、いくつかの以前の(または現在の)オリジナルのインスタンスの状態にマッチする健全な状態にあるべき複製インスタンスを宣言します。オリジナルのインスタンスの複製インスタンスファイル内の情報を更新するために、そして、レプリケートインスタンス上のデータベース内で実際に情報を変更しないようにするために、それはMUPIPを引き起こします。
このコマンドの後に、複製インスタンスは、それ自身の現在の状態から始まり元のインスタンスに追いつきます。複製インスタンスデータベースが、エラーなしで 、または適切にエラーなしで別のインスタンスからコピー<a8>され正常にシャットダウンされたことが絶対に確実である時のみ、 UPDATERESYNC を使用してください。
International Components for Unicode (ICU)のバージョン3.6以降がインストールされた環境では、GT.MのUTF-8モードは、選択されたプラットフォーム上でユニコード(Unicode) (ISO/IEC-10646)文字列のサポートを提供します。ICU 3.6以降が全くインストールされていないシステムで、または、他のプラットフォームでは、GT.MはMモードのみをサポートします。
On a system that has ICU installed, GT.M installs support for both M mode and UTF-8 mode, including a utf8 subdirectory of the directory where GT.M is installed. From the same source file, depending upon the value of the environment variable $gtm_chset, the GT.M compiler generates an object file either for M mode or UTF-8 mode. GT.M generates a new object file when an object file is older than the source file and was generated with the same setting of $gtm_chset/$ZCHset. A GT.M process triggers an error if it encounters an object file generated with a different setting of $gtm_chset/$ZCHset than that processes' current value.
Always generate an M object module with a value of $gtm_chset/$ZCHset matching the value processes executing that module will have. As the GT.M installation itself contains utility programs written in M, their object files also conform to this rule. In order to use utility programs in both M mode and UTF-8 mode, the GT.M installation ensures that both M and UTF-8 versions of object modules exist, the latter in the utf8 subdirectory. This technique of segregating the object modules by their compilation mode prevents both frequent recompiles and errors in installations where both modes are in use. If your installation uses both modes, consider a similar pattern for structuring application object code repositories.
GT.M is installed in a parent directory and a utf8 subdirectory as follows:
Actual files for GT.M executable programs (mumps, mupip, dse, lke, and so on) are in the parent directory, that is, the location specified for installation.
Object files for programs written in M (GDE, utilities) have two versions - one compiled with support for Unicode in the utf8 subdirectory, and one compiled without support for Unicode in the parent directory. Installing GT.M generates both the versions of object files, as long as ICU 3.6 or greater is installed and visible to GT.M when GT.M is installed.
The utf8 subdirectory has files called mumps, mupip, dse, lke, and so on, which are relative symbolic links to the executables in the parent directory (for example, mumps is the symbolic link ../mumps).
シェルプロセスのシェルスクリプトソースがgtmprofileまたはgtmcshrcの時は、動作は次のようになります:
If $gtm_chset is "m", "M" or undefined, there is no change from the previous GT.M versions to the value of the environment variable $gtmroutines.
If $gtm_chset is "UTF-8" (the check is case-insensitive),
$gtm_dist is set to the utf8 subdirectory (that is, if GT.M is installed in /usr/lib/fis-gtm/gtm_V5.4-000A_i686, then gtmprofile and gtmcshrc set $gtm_dist to /usr/lib/fis-gtm/gtm_V5.4-000A_i686/utf8).
The last element of $gtmroutines is $gtm_dist($gtm_dist/..) so that the source files in the parent directory for utility programs are matched with object files in the utf8 subdirectory.
[注意]HP-UXに関する翻訳はしません。Version: 11.31 (11iv3)
Compiler: cc HP C/aC++ B3910B A.06.12, aCC HP C/aC++ B3910B A.06.15, GNU Make 3.81
手順:
Ensure that system environment variable $PATH includes the location of all the compilers mentioned above.
Download the source code of ICU (in this example, version 3.6 for C from http://icu.sourceforge.net/download/3.6.html#ICU4C)
At the shell prompt, execute the following commands:
Set the environment variable $LD_LIBRARY_PATH to point to the location of ICU. HP-UX uses the environment variable $LD_LIBRARY_PATH to search for dynamically linked libraries to be loaded.
ICU is now installed in /usr/local.
By default, ICU is installed in /usr/local. If you install ICU in a different directory, type:
Then execute the gmake commands, and set the environment variable $LD_LIBRARY_PATH to point to the appropriate location.
[参考] [注意]HP Integrity IA64 HP-UXに関する翻訳はしません。Note: All GT.M versions prior to V5.3-004 require exactly ICU 3.6, however, V5.3-004 (or later) accept ICU 3.6 or later.
[参考] [注意]HP Integrity IA64 HP-UXに関する翻訳はしません。As of this writing (November, 2009), ICU version 3.6 can be compiled on HP PA-RISC HP-UX with the following configuration:
gunzip -d< icu4c-3_6-src.tgz | tar -xf -
By default, ICU is installed in /usr/local. If you install ICU in a different directory, type:
[参考] runConfigureICU HP-UX/ACC --prefix=<install_path> --enable-64bit-libs?
[参考] Note: Although GT.M uses ICU, ICU is not FIS software and FIS does not support ICU. Instructions for installing and configuring ICU are merely provided as a convenience to you.
The environment variable $TERM must specify a terminfo entry that accurately matches the terminal (or terminal emulator) settings. GT.Mを実行する必要があるプラットフォームの端末の設定の詳細については、terminfoのmanページを参照してください。
もし編集が有効ならば、 端末はダイレクトモードによる読み取りとREADs(READ * 以外)の前に、GT.Mはkeypad_xmit を送信します。GT.Mは、これら端末は読み取りの後に、keypad_local を送信します。
もしレプリケーションのためのオプションにて圧縮機能を使用する予定ならば、圧縮ライブラリを用意する必要があります。圧縮ライブラリのためのGT.Mインターフェイスは、適応することを必要とせずに zlibの圧縮ライブラリを受け付けます。これらのライブラリは、多くのUNIXディストリビューションに含まれ、そして、 zlibのホームページからダウンロードが可能です 。もしあなたが他の圧縮ライブラリを使用することを好むならば、あなたは、zlibにより提供される同じAPIを提供するために、それらを設定し適応する必要があります。以下に示すように、いくつかのプラットフォーム上でのzlibコンパイルは、シンプルな手順です。GT.Mがzlibを使用しますが、zlibはFISのソフトウェアではありません、そして、FISはzlibサポートしません。これらの手順は、僅かですがあなたの便宜をはかるために提供されます。
Sun StudioからSolaris/cc コンパイラ:
HP-UX(IA64)/HP Cコンパイラ:
AIX/XL コンパイラ:
Linux/gcc:
By default, GT.M searches for the libz.so shared library (libz.sl on HPUX PA-RISC) in the standard system library directories (for example, /usr/lib, /usr/local/lib, /usr/local/lib64). If the shared library is installed in a non-standard location, before starting replication, you must ensure that the environment variable $LIBPATH (AIX and z/OS) and $LD_LIBRARY_PATH (other UNIX platforms) includes the directory containung the library. The source and receiver server link the shared library at runtime. If this fails for any reason (such as file not found, or insufficient authorization), the replication logic logs a DLLNOOPEN error and continues with no compression.
Fixes and enhancements specific to V5.4-000A are:
S9K03-002761 | Using buffered reads for accessing the source code required for $TEXT(), ZPRINT, and error reporting. |
S9D10-002376 | Checking for defined variables and empty strings in local variable subscripts now conforms to the M standard. |
S9K02-002754 | Prevent GDE from losing maximum length NAME entries. |
S9K02-002755 | $QUIT on x86 and x86-64 GNU/Linux returns a uniformly appropriate result. |
S9K02-002756 | Prevents a process from hanging (or failing) on a compilation error in a line longer than 1023 characters. |
S9K02-002757 | Better clean up orphaned snapshot files from an INTEG that terminates abnormally. |
S9K03-002759 | VIEW "NOLVLULLSUBS", "NOUNDEF" combination correctly issues an error for a SET using an undefined local variable as a subscript. |
C9K02-002758 | During installation correctly set setuid bit for the gtmsecshr wrapper and appropriate permission settings for GDE help in utf-8 mode. |
C9H10-002920 | Prevent error for blanks lines in a GDE command file and correctly resume an interrupted (<CTRL-C>) command file. |
C9J07-003156 | Replication source server improvements for database files in WAS_ON replication state. |
C9K02-003239 | Prevent a rare SIG-11 that occurs when MUPIP BACKUP -ONLINE and MUPIP INTEG -ONLINE run concurrently with M transaction processing. |
V5.4 - 000に特有の修正および拡張機能は:
S9C11-002251 | いっぱいになったLOCK_SPACEのためのGTMASSERT の代わりとなるエラー |
S9D08-002354 | 第2引数が未定義のローカル変数である時、$GET()関数からエラー |
S9I08-002695 | 新しいトリガ機能 |
S9I09-002699 | VIEW "FLUSH" または "JNLWAIT" から、これ以上の不適切なエラーが無い |
S9J07-002732 | MOREREADTIMEをソケットデバイスに適応 |
S9J07-002737 | よりユーザフレンドリーなUNIXディストリビューションキット |
S9J11-002749 | [UNIXの]パイプデバイス用のOPENのクリーンアップ |
C9902-000839 | [UNIXの] MUPIP INTEGのために、今現在の通常のデフォルトであるONLINEオプション |
C9B12-001842 | MUPIP INTEG TN_RESET は、BACKUP BYTESTREAMのために適切な状態を切り離します。 |
C9D07-002356 | SOCKET CONNECT の改善 |
C9D08-002390 | 少ないリソースを保持するプロセス上で、UNIXの診断をトリガする機能 |
C9E02-002513 | Linux用のシーケンシャルファイルを修正するためのTRUNCATE (切り捨て) |
C9F07-002746 | 未定義のグローバル変数へ文字列を追加する時に、$INCREMENT() 関数は数値で始まります |
C9H06-002868 | 接続を待機しているSOCKETデバイスがMUPIP INTRPTに今すぐに応答します。 |
C9H07-002875 | UNIX call-in は、複数のgtm_initまたはgtm_exit 呼び出しに備えて保護します。 |
C9H10-002913 | UTF-8 ターミナルの入力は、INTRPTの損失から保護されました。 |
C9J04-003108 | $ECODEと$STATUS()関数は、INTRPTによる変更から保護されました。 |
C9J04-003110 | MUPIPは、正しいENDIANによってジャーナルファイルをチェックします。 |
C9J04-003118 | UTF-8モードでのシーケンシャルファイルのREADのパフォーマンス改善 |
C9J06-003140 | 成功した場合のみ、UNIXインストールは実行ファイルを作成します。 |
C9J06-003145 | UNIX gtmsecshrは、既存のラッパー保護への追加入力を超える長さに備えて、それ自体を保護します。 |
C9J07-003148 | 未定義エイリアス変数のZWRITE |
C9J08-003166 | REPLINSTNOHISTエラーメッセージを改善 |
C9J08-003170 | 32 KBを超えるz/OSオブジェクトモジュールを許可 |
C9J08-003174 | UTF-8モードで使用されるICUのローディング処理を改善 |
C9J08-003178 | 不適切なシャットダウン後に、UNIXのIPC問題におけるエラーメッセージの改善 |
C9J08-003179 | シェルのコマンドライン入力をXECUTEする、新しい^%XCMD ユーティリティ |
C9J09-003188 | [UNIXの]パイプデバイス用のCLOSEを改善 |
C9J09-003190 | 暗号化プラグインインタフェースで、gtmcrypt_close メモリ管理をクリーンアップ |
C9J09-003195 | パッシブ レプリケーションサーバーのシャットダウンのタイミングを改善 |
C9J09-003197 | 基本的なGT.M環境を管理するための改善を使いやすく |
C9J09-003198 | UNIXがファイルの無効なグループまたは所有者を処理する |
C9J09-003199 | ユーティリティコマンドで入力を超える長さに備えて保護するためのUNIXのシェルインターフェイスを改善 |
C9J09-003201 | UNIXインストールは、欠落している "bin" ユーザーまたはグループ を処理します。 |
C9J10-003202 | DBINVGBLエラーの稀なケースを防止 |
C9J10-003203 | グローバル変数のネームレベルの逆向き$ORDER() の後の $REFERENCE を正しく維持する。 |
C9J10-003208 | DSEは、特定の不正データに遭遇する時、障害に備えて保護します。 |
C9J11-003211 | 環境変数によって制御された外部関数の中で、排他 KILL の動作 |
C9J11-003214 | 不適切な TPFAIL GGGG エラーの稀なケースを防止 |
C9J12-003215 | ローカル変数の非常に大きな数のパフォーマンスを改善 |
C9J12-003217 | 外部関数からエイリアスを返す QUIT * と SET *$$ を新規に追加 |
C9K01-003220 | DBKEYORD または DBBADNSUB の稀なケースを防止 |
C9K01-003222 | MUPIP BACKUPは、データベースと同期しているファイルのインスタンスを確実にする。 |
C9K01-003225 | UNIX $STORAGE 値を最大2GB -1 |
GT.Mトリガは、データベースファイルに格納されているコードフラグメンテーションがあります。プロセスがグローバル変数を更新する時、更新に一致する署名を持つそのデータベースファイルの任意のトリガは、自動的に更新とともに実行されます。トリガの署名は、コマンド(例えば、Set, Kill )、グローバル変数、添字パターンだけでなく、オプションで部分の区切りと関心領域の一部の設定などで構成します。トリガは、自動的にクロスリファレンスインデックスを計算し、参照整合性をメンテナンスすることによって、アプリケーションスキーマが矛盾のないことを維持するためのその1つだけが、多くの使用があります。詳細は GT.Mトリガの技術情報 を参照してください。
A MUPIP RECOVER which stops due to an error before making any database modifications also leaves the file header unchanged. Previously, MUPIP RECOVER marked the database header with the "corrupt" flag and did not clear it for that case. (S9I08-002695)
GT.M no longer issues JNLCNTRL errors when VIEW "JNLWAIT" commands are executed after a journal file switch. Previously, in rare cases, GT.M incorrectly issued a JNLCNTRL error. (S9I09-002699)
GDE now preserves the mapping of multiple lexically adjacent maximum length global names. In prior versions, GDE created such ranges correctly but lost track of them when reloading the global directory for examination or a subsequent update. The workaround was to always reestablish such ranges after invoking GDE. This issue was reported from a pre-V5 environment where the maximum name length was eight characters rather than the current 31 characters. There is less chance of encountering this issue on versions V5.0-000 and later. (S9K02-002754) V5.4-000A
GDE now ignores blank lines in command files. After being interrupted while processing a command file, it also properly closes the file and appropriately resumes the next action. In prior versions, GDE treated blank lines as errors and could fail with a GDECHECK error if a command file was interrupted at certain points with <CTRL-C>. (C9H10-002920) V5.4-000A
A GT.M process now reports a more helpful ERR_REQRUNDOWN error when it fails to attach to a shared memory segment (because of a prior improper shutdown e.g. kill -9). On detecting such a situation, prior versions instead reported the less helpful ERR_DBFILERR. [UNIX] (C9J08-003178)
As long as the operating system permits the access, GT.M now allows access to database files and journals in cases where the system has no user or group information available for the file. Such an unusual situation can arise, for example, when the user and group are provided via NIS, but if NIS is not currently operational the owner and group cannot be determined; or perhaps a user id is deleted while the GT.M process is active. V5.3-004[A] issued a signal-11 in such a case. [UNIX] (C9J09-003198)
GT.M now maintains database integrity even when multiple GT.M processes simultaneously attempt to create the same global variable. This fixes a regression in GT.M V5.3-000 (also present in V5.3-004A and introduced as part of the fixes to C9H09-002901) where, in such situations, it was possible under rare circumstances for the GT.M process to cause database damage (for example, DBINVGBL or DBKEYORD errors). Note that this was an issue only for non-TP updates, that is those which were not surrounded by a TSTART/TCOMMIT. (C9J10-003202)
GT.M now deals correctly with a set of rare cases where it could inappropriately interpret negative numbers in database block control structures as large positive numbers. Previous versions might terminate with memory access violations, or get into indefinite or inappropriately long loops. This was discovered in testing DSE against a database with intentionally inflicted damage, which we expect is characteristic of the unusual conditions that might expose this issue. (C9J10-003208)
GT.M now issues a LOCKSPACEFULL error to the application and the operator log when the environment attempts more concurrent M LOCKs than the configured LOCK_SPACE for the region can support. Previously under these conditions, GT.M gave a fatal GTMASSERT error. (S9C11-002251)
GT.M now reports an error if the first argument of a two argument $GET() is defined and the second is an undefined local variable. Prior versions returned the value of the first argument and ignored the error mandated by the standard. If the second argument was a global variable, this worked properly in earlier versions. Note that any code that relies on the prior behavior needs updating. (S9D08-002354)
GT.M now reports UNDEF errors when it encounters an undefined variable specified for a local variable subscript as it already does for a global variable and as defined in the language standard. In prior versions, KILL and its variants or functions including $DATA(), $GET(), $ORDER() and $QUERY() ignored these errors. Under NOUNDEF operation this change has no user impact. Note: code that relied on the earlier non-standard behavior may now give errors and require revision.
GT.M now supports VIEW "NEVERLVNULLSUBS" to issue the LVNULLSUBS error for any inappropriate use of empty string subscripts in local arrays. The [new] gtm_lvnullsubs UNIX environment variable can have the values 0 - equivalent to VIEW "NOLVNULLSUBS", 1 (the default) - equivalent to VIEW "LVNULLSUBS" or 2 - equivalent to VIEW "NEVERLVNULLSUBS". In VMS, the initial state of this characteristic is controlled by the GTM$DEFAULTS file. An empty string as the last subscript in $ORDER() and $QUERY() has the semantic significance of requesting the next lexical item and is not subject to NULLSUBS errors. $VIEW("LVNULLSUBS") returns the corresponding numeric value. In prior versions, GT.M only supported NOLVNULLSUBS, which reported the LVNULLSUBS error for SET commands that would have instantiated a prohibited local array subscript, but not for KILL and its variants or functions including $DATA(), $GET(), $ORDER() and $QUERY(). $VIEW("LVNULLSUBS") returned 0 for NOLVNULLSUBS and 1 for LVNULLSUBS. Note that code that expected $VIEW("LVNULLSUBS") to provide a truth value must be revised. Empty string subscript checking for global variables is controlled by a database region characteristic that was already comprehensive and is not affected by this change. Note that programs using empty subscripts for references where those references cannot possibly exist are wasting computer resources, so FIS recommends using LVNULLSUBS or NEVERLVNULLSUBS for local variables and NULLSUBS options ALWAYS or NEVER for global variables. (S9D10-002376) V5.4-000A
If the OPEN or USE for a SOCKET device does not specify a MOREREADTIME parameter, any READ uses an initial 200msec internal timeout to minimize CPU load. Subsequent attempts to acquire more characters to fulfill the same READ use a 10msec internal timeout. When a MOREREADTIME parameter specifies a value, READ uses that value exclusively. Previously READ used a default of 10msec when no MOREREADTIME parameter was specified and consequently could consume considerable CPU cycles, especially on a lightly loaded system. If your application currently uses the MOREREADTIME parameter, FIS suggest that you consider whether this new behavior provides better performance and/or reduces CPU usage and allows you to avoid specifying MOREREADTIME. (S9J07-002732)
The distribution tar file now provides all files owned by the innocuous user:group ids 40535:40535, with no executable or writable files. With the exception of AIX, no directories have write permissions. On AIX, unpacking the distribution file no longer requires root permissions. In prior versions, the configure script adjusted the authorizations, but the distribution had various settings, and, on AIX, required root access to unpack the distribution. [UNIX] (S9J07-002737)
GT.M now handles the OPEN of a PIPE device better in certain situations. In prior versions, specifying various device parameters such as ESCAPE for the $PRINCIPAL device when it was a terminal could result in delays or other problems. [UNIX] (S9J11-002749)
GT.M now ensures a proper value for $QUIT on x86 and x86-64 GNU/Linux. In V5.4-000 under certain circumstances, it could return an inappropriate result. [x86-64 Linux, x86 Linux] (S9K02-002755) V5.4-000A
On compiling an M program, GT.M now omits reports showing the point in the line of code that caused the warning or error for lines longer than 1023 characters; it still reports the line number and column number. In prior versions, attempts to report such long lines could overrun an internal buffer and cause the process to hang or fail. (S9K02-002756) V5.4-000A
The TRUNCATE parameter on USE for sequential file devices now works correctly for Linux. In prior versions, USE could truncate at the wrong position. [Linux] (C9E02-002513)
The GT.M SOCKET device behavior has improved in a number of ways.
SOCKET CONNECT operations now respond to MUPIP INTRPT; in prior versions they did not.
If the command does not specify a timeout, a SOCKET OPEN now waits for the connection to complete or an interrupting event that terminates the attempt. After an interrupt that does not terminate the connection attempt, such as the default value of $ZINTERRUPT ("IF $ZJOBEXAM()"), the process resumes the wait when the XECUTE of the $ZINTERRUPT completes. Previously, an untimed SOCKET OPEN <device>:CONNECT would make a single attempt to connect and return whether or not it was successful, as if it had a timeout of 0.
SOCKET CONNECT status values EINPROGRESS, EWOULDBLOCK and, on some platforms, EALREADY now wait for the connection to complete or for the specified timeout to expire. Previously, GT.M treated these conditions as errors.
If IOERROR="TRAP" is specified on a SOCKET OPEN or USE, it now invokes any active EXCEPTION, $ETRAP, or $ZTRAP if an error occurs on a CONNECT. The above status values as well as ECONNREFUSED and ETIMEDOUT are not considered as errors. Previously, status values other than ECONNREFUSED or ETIMEDOUT would always be treated as errors regardless of the IOERROR value. (C9D07-002356, C9H06-002868)
GT.M now allows only a single set of gtm_init/gtm_exit per process and any attempt to call gtm_init/gtm_ci after a gtm_exit returns the code associated with the CALLINAFTERXIT error. Earlier GT.M versions also did not support invoking gtm_init or gtm_ci after a gtm_exit but did not enforce the restriction.[UNIX] (C9H07-002875)
READ from a sequential disk file in UTF-8 mode read buffers the file reads for higher throughput. In prior versions, single character reads limited performance. [UNIX] (C9J04-003118)
The UNIX installation script for GT.M now sets the executable bits for files such as mumps and mupip only after a successful installation. Previously, the executable bits for these files were sometimes set after an unsuccessful installation. [UNIX] (C9J06-003140)
ZSHOW and ZWRITE now display information about alias variables with no associated data provided at least two of the joined variables are selected by the command argument. In prior releases these commands displayed alias containers with no data, but not alias variables with no data. When an alias exists with no data for the command to display, GT.M holds the variable so that it can become the right-hand side of a proper SET * command. However, if the command selection criteria excludes any other alias, GT.M has insufficient information to form a valid SET * argument and does not display that alias. Alias container variables always have a default value (the empty string), so they are handled differently and display as they did before. (C9J07-003148)
GT.M now handles very large object files correctly on z/OS. V5.3-003[A] produced invalid object files if the generated code exceeded 32KB. [z/OS] (C9J08-003170)
In UTF8 mode, when the minor version is not specified in the environment variable gtm_icu_version, e.g. 3 instead of 3.6, GT.M issues an ICUSYMNOTFOUND error. Previous versions of GT.M used to issue the ICUVERLT36 error even when the major version specified was greater than or equal to 4. [AIX, GNU/Linux, HP-UX, Solaris, z/OS] (C9J08-003174)
^%XCMD is a utility program that XECUTEs input from the shell command line and returns any error status (truncated to a single byte on UNIX) generated by that code. For example in UNIX: mumps -run %XCMD 'write "hello world",!' would produce "hello world" (C9J08-003179)
GT.M now correctly handles the CLOSE of a PIPE device whose STDERR device is the current device. Prior versions issued a segmentation violation in such a case. [UNIX] (C9J09-003188)
The file gtmprofile, which sets up a default environment for GT.M has been completely revamped to make it more robust and to make the out-of-box GT.M experience friendlier. gtmprofile now sets up default values for more environment variables, creates a default global directory if one does not exist and a default database with before image journaling, if one does not exist. The new executable shell script gtm uses gtmprofile and automatically recovers the database on startup. gtm also deletes prior generation journal and temporary files older than the number of days specified by the environment variable gtm_retention. A new file gdedefaults specifies default values for global directories. The new gtmprofile script is also idempotent (can be successfully rerun after an abnormal termination), unlike its predecessor. FIS recommends that system administrators review the gtmprofile and gdedefaults files after installing GT.M, and customize them as needed. The previous gtmprofile file remains available as gtmprofile_preV54000 - if you want to retain the previous behavior, simply replace gtmprofile with gtmprofile_preV54000. Note that at this time, the file gtmcshrc has not been similarly revamped for csh/tcsh users (the gtm script does not depend on the underlying shell). [UNIX] (C9J09-003197)
The distribution tar file may now be installed if there is no "bin" user and/or group defined. The operator may now enter an alternate user and/or group to own the installation and may also restrict access to this group. Previously the installation failed if the default bin user were specified and did not exist, or if the bin group did not exist - even if another restricted group was chosen. [UNIX] (C9J09-003201)
The new $gtm_stdxkill/GTM_STDXKILL environment/logical variable (UNIX/VMS) which if set to "TRUE", 1, or "YES" enables the standard-compliant behavior to kill local variables in the exclusion list if they had an alias that was not in the exclusion list. GT.M default behavior for exclusive kills thus reverts to its previous behavior, not compliant with the standard, where aliases and pass-by-reference variables specified in an exlusive kill are NOT killed even if their aliases are not specified in the exclusion list. In GT.M V5.3-004 (C9B09-001754), this behavior was changed to be compliant with the standard as part of the alias variables enhancement. Please note that the default value is FALSE, so you must explicitly ask for standard-compliant behavior. (C9J11-003211)
String pool expansion is now more responsive to the rate at which the application requires space for local variables. This enhancement significantly improves the performance of applications that ramp up to atypically large string pool requirements (in the hundreds of thousands of local variable nodes), while preserving the more parsimonious string pool usage of typical applications. (C9J12-003215)
GT.M now allows an unsubscripted local variable, alias or alias container to be returned using the QUIT * syntax to a function invocation initiated using a SET *lvn=$$func() syntax. The SET * associates the target "lvn" local variable to the data space specified by the returning QUIT *. Previously GT.M only allowed alias information to be returned using the M pass-by-reference mechanism or by an alias in scope in both the caller and called routines. Additionally, the $QUIT ISV now returns the value "11" to indicate the current routine was invoked by a SET * and is required to return an alias using a QUIT * syntax. Failure to provide a QUIT * return as requested by the invocation produces an ALIASEXPECTED error. Providing a QUIT * return when not requested by the invocation produces a QUITALSINV error. (C9J12-003217)
UNIX editions will not report a value for $STORAGE larger than (2GB - 1) [2,147,483,647], even if more is available. Previous versions could fail with SEG-V (SIG-11) errors while attempting to report $STORAGE values. [UNIX] (C9K01-003225).
The configure installation script now assigns the correct permissions to the gtmsecshr wrapper for a non-restricted group installation. It also creates symbolic links required for GTM and GDE help in utf-8 mode. Previously, the setuid bit was not set for the gtmsecshr wrapper on some platforms and [z]help would fail in utf-8 mode.[UNIX] (C9K02-002758) V5.4-000A
MUPIP and GT.M now clean up temporary snapshot files from INTEG under a wider variety of conditions. In V5.4-000, stopping the INTEG with a <CTRL-C> or a signal could leave the snapshot file orphaned. [UNIX] (S9K02-002757) V5.4-000A
MUPIP INTEG -REGION now supports the -ONLINE qualifier. This allows checking database structural integrity to run concurrently with database updates. Previously, INTEG froze updates on each region while checking it. Online integ is not supported with the -FILE qualifier. The -NOONLINE qualifier indicates that the database should be frozen during the MUPIP INTEG operation.
The -ONLINE qualifier is now the default for MUPIP INTEG, except for databases containing V4 blocks, for which the default is -NOONLINE. Note that databases containing V4 blocks should exist only in databases that are in the process of being migrated from V4 to V5; please complete your migration to the V5 format before using MUPIP INTEG -ONLINE.
The environment variable GTM_BAKTMPDIR (unlike most GT.M environment variables, this is upper case; it is the same directory used for MUPIP BACKUP -ONLINE) can be used to indicate a directory where MUPIP should place the snapshot files (used by online integ). If GTM_BAKTMPDIR does not exist, MUPIP places the snapshot files in the current directory at the time you issue the INTEG command.
As it checks each database file, MUPIP INTEG -ONLINE creates a sparse file of the same size as the database. As each GT.M process updates the database, it places a copy of the old block in the sparse file before updating the database. For any database blocks with a newer transaction number than the start of the INTEG, MUPIP uses the copy in the sparse file. Thus, analogous with MUPIP BACKUP -ONLINE, INTEG reports on the state of the database as of when it starts, not as of when it completes. Note: a command such as ls -l command shows sparse files at their full size, but does not show actual disk usage. Use a command such as du -sh to see actual disk usage.
Temporary directory security settings must allow write access by the the MUPIP process and read access by all processes updating the database. MUPIP creates the temporary file with the same access as the database file so processes updating the database can write to the temporary file. If the database is encrypted, the updating processes write encrypted blocks to the snapshot file and the MUPIP INTEG process must start with access to appropriate key information as it does even -NOONLINE.
Only one online integ can be active per database region. If an online integ is already active, a subsequent one issues an error and immediately terminates. If an online integ does not successfully complete, GT.M cleans it up in one of the following ways:
MUPIP INTEG -TN_RESET now resets block transaction numbers and backup event recorded transaction numbers to (one) 1, and the current transaction number to two (2) which makes the backup event recorded transaction numbers more meaningful and useful. It also issues an advisory message to perform a backup. Previously the backup event recorded transaction numbers were not maintained by -TN_RESET, which meant they held inappropriate information. Note that there should never be a need for a -TN_RESET on a datbase with only V5 blocks, even when cleaning up after a runaway process. (C9B12-001842)
GT.M now provides a new monitoring facility for processes holding a resource for an unexpected amount of time. This facility runs a shell command or a script pointed to by the new environment variable gtm_procstuckexe when any of the following conditions occur:
Typically, for the shell script or command pointed to by gtm_procstuckexec, you would write corrective and preventive actions or obtain the stack trace of the troublesome processes (using their PIDs). GT.M passes arguments to the shell command / script in the order specified below:
それぞれの呼び出しは操作ログメッセージを生成し、もし呼び出しが操作ログへエラーメッセージが失敗した場合に。シェルスクリプトは、シェルで指定する#!で始まる行から始めてください。that designates the shell.
Note: Make sure you have sufficient space and permissions to run the shell command / script.
Prior versions wait for the condition to clear and in most cases send messages to the operator log. [UNIX] [C9D08-002390]
MUPIP now verifies that the byte ordering (endian-ness) of a journal file matches the byte ordering of the instance on which it is running and issues an error in case of a mismatch. In prior versions, such a case of operational cross-threading caused MUPIP to fail with various complaints about the journal file format or even a memory access violation (SIG-11 or ACCVIO). (C9J04-003110)
The replication source server now handles database files that are in WAS_ON replication state (and in turn a journaling state of OFF) in a safe manner. If it cannot find the journal records in the journal pool, it reads as many journal records as possible from the journal file chain and when it reaches the point where journaling got turned OFF, it periodically displays a REPL_WARN message until journaling gets turned back ON and then correctly issues a NOPREVLINK error. At all points, it behaves as a read-only process as far as journaling is concerned and never switches journal files. In previous versions of GT.M, it was possible for the source server to incorrectly attempt a switch of journal files in such WAS_ON regions eventually terminating with many types of errors (JNLFILOPN etc.). (C9J07-003156) V5.4-000A
The messages produced by a replicating instance when the originating instance encounters a REPLINSTNOHIST error now read:
Originating instance encountered a REPLINSTNOHIST error. JNL_SEQNO of this replicating instance precedes the current history in the originating instance file. uuuu exiting.
Where uuuu is either a rollback or the receiver server. [UNIX] (C9J08-003166)
MUPIP BACKUP -REPLINSTANCE now ensures its backup of the replication instance file is in sync with all databases backed up as part of the same command. This fixes a regression introduced in GT.M V5.3-000 (and present in V5.3-004A) that could in rare cases cause REPLINSTDBMATCH error when attempting to use the backed-up instance file because it held an incorrect sequence number for a database file. A workaround for this is to recreate the instance file, as the backed up databases are correct. (C9K01-003222)[UNIX]
GT.M now correctly handles an unusual set of circumstances that can occur if MUPIP BACKUP -ONLINE and MUPIP INTEG -ONLINE are running concurrently with M transaction processing. In V5.4-000, these unusual circumstances could cause a SIG-11. [UNIX] (C9K02-003239) V5.4-000A
GVDATAGETFAIL, Global variable DATAGET sub-operation (in KILL function) failed. Failure code: cccc.
Run Time Trigger Error: The target node for a KILL operation could not present its state to the trigger logic due to a database problem. cccc contains the failure codes for the failed attempts. The database may have integrity errors or the process-private data structures may be corrupted.
Action: Report this database error to the group responsible for database integrity at your operation.
JNLENDIANBIG, Journal file jjjj is BIG endian on a LITTLE endian system
JNLENDIANLITTLE, Journal file jjjj is LITTLE endian on a BIG endian system
MAXSSREACHED, Maximum snapshots - mmmm - for region rrrr reached. Please wait for the existing snapshots to complete before starting a new one.
終了条件 | 含まれる引数 | $Device | $Key | $Test |
Error | Empty String | Error String | Empty String | 1 |
Timeout* | データはタイムアウト前に受信 | Empty String | Empty String | 0 |
Delimiter* | データをアップ、区切り文字は含まない | Empty String | Delimiter String | 1 |
Fixed Length Met* |
String of Fixed Length
|
Empty String | Empty String | 1 |
Width |
Full width String |
Empty String | Empty String |
1 |
Buffer Emptied |
One (1) to as many characters as provided by the transport interface before waiting for an interval (in milliseconds) specified by MOREREADTIME with no additional input. If MOREREADTIME is not specified, buffer is checked every 200 milliseconds for its first input and then every 10 milliseconds until no new input arrives and no other terminating conditions are met.
IF MOREREADTIME is specified, READ uses that value exclusively for buffer checks.
|
Empty String | Empty String | 1 |
A non-fixed-length read, with no timeout and no delimiters (the sixth row in the above table) requires a complex implementation of sequence of READs to ensure a predictable result. これは、リーダー(reader)に配信されるトランスポート層のストリームのフラグメントが、ライタ(writer)によって実行される操作で偶発的にのみ対応しているためです。For example, the following:
Write "Message 1","Message 2" is presented to the reader as the stream "Message1Message2" but it can take from one (1) to 18 READ commands to retrieve the entire stream.