技術情報 - GT.M V5.4-000Aリリースノート

Copyright © 2010 Fidelity Information Services, Inc.  All Rights Reserved. 
 

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

 

目次

ここをクリックすると変更されたセクションへ進みます
 
 
  1. 技術情報 - GT.M V5.4-000Aリリースノート
    1. 改訂履歴
    2. 目次
    3. 表記法
    4. 技術情報の概要
      1. プラットフォーム
      2. 64bitプラットフォームへの移行
        1. 内部コール(Call-ins)と外部コール
        2. 国際化(照合)
        3. 変換の環境
      3. 再コンパイル
      4. 共有ライブラリまたはイメージを再構築
      5. インストール手順の追加
        1. UNIX
          1. AIX用の追加情報
        2. OpenVMS
      6. GT.M V5.4-000Aへアップグレード
        1. ステージ1:グローバル ディレクトリをアップグレード
        2. ステージ2:データベースファイルのアップグレード
            1. データベースの互換性に関する注意
        3. ステージ3:レプリケーションのインスタンスファイルのアップグレード
        4. ステージ4:ジャーナルファイルのアップグレード
      7. MモードとUTF-8モードのマネージメント
        1. HP PA-RISC HP-UXでのICUをコンパイル
        2. HP Integrity IA64 HP-UX上でのICUをコンパイル
      8. 環境変数TERMの設定
      9. 圧縮ライブラリのインストール
  2. 変更履歴
      1. V5.4-000A
      2. V5.4-000
    1. Mデータベースアクセス
    2. M本体(データベースアクセス以外)
    3. MUPIP ユーティリティ
    4. ユーティリティ(MUPIP以外)
    5. エラーメッセージ
      1. GVDATAGETFAIL
      2. JNLENDIANBIG
      3. JNLENDIANLITTLE
      4. MAXSSREACHED
      5. MAXTRIGRNEST
      6. MUJNLDBMISSING
      7. NOZTRAPINTRIG
      8. PROCTERM
      9. QUITALSINV
      10. REGSSFAIL
      11. SETINTRIGONLY
      12. SNAPSHOTNOV4
      13. SSFILCLNUPFAIL
      14. SSFILOPERR
      15. SSPREMATEOF
      16. SSSHMCLNUPFAIL
      17. SSTMPCREATE
      18. SSTMPDIRSTAT
      19. SSTMPFILOPEN
      20. SSV4NOALLOW
      21. TRIG2NOTRIG
      22. TRIGCOMPFAIL
      23. TRIGINVCHSET
      24. TRIGJNLSTATE
      25. TRIGNAMEUNIQ
      26. TRIGTCOMMIT
      27. TRIGTLVLCHNG
      28. ZGOTOINVLVL
      29. ZTRIGINVACT
      30. ZTRIGNOTP
      31. ZTWORMHOLE2BIG
  3. GT.Mドキュメント付録
    1. SOCKET READ の操作
      1. SOCKET READの終了状態
    2. MOREREADTIME=intexpr

表記法

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のプログラムまたは関数への参照では、大文字で表記します(MUPIP BACKUPなど)。詳細な例が用意される時は、小文字のUNIXコマンド名(例えば<s1>mupip backup -database ACN,HIST /backup</s1>が使用されてます。


参照番号括弧()で表示されるリファレンス番号は、ソフトウェア強化を突き止めたり、カスタマーサポートの要求するために使用します 。


プラットフォーム識別子新しい機能やソフトウェアの拡張はすべてのプラットフォームで適用されない場合は、関連のあるプラットフォームがカッコ[ ]で表示されます。


今後は、以前に "プライマリインスタンス" または "オリジナルプライマリインスタンス"として使われていた用語は、新しく"オリジナルインスタンス" として使い、そして、以前に"セカンダリインスタンス"と"オリジナルセカンダリインスタンス"として使われていた用語は、新しく"レプリケーション インスタンス"として使います。ソフトウェアの変更よりもドキュメントの変更は容易で、そして、特に既存のプログラムやスクリプトの互換性を維持するという我々の伝統が与られていたので、たとえ、それらがコード内の新しい用語を補充しドキュメント内で置き換えられたとしても、元の用語は長い時間をかけられたソフトウェアの中に残ります。


目次へ戻る

技術情報の概要

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日データベース操作のための運用能力を著しい強化を追加します。



もちろん、多数のバグ修正、誤った機能や僅かな機能強化が改善されてます。包括的なリストについては、変更履歴 . を参照してください。


ご注意:非難を受けていた "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に関する翻訳はしません。Problems with HP-UX 11.11 prevent FIS from testing 4 byte UTF-8 characters.  FIS understands that the issue is resolved in HP-UX 11.31.  At this time, HP-UX 11.31 is still untested and not formally supported for GT.M; however, we are aware of nothing that would prevent GT.M V5.4-000 from working correctly on that newer version.


[参考] [注意]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.


  • [注意]AIXに関する翻訳はしません。While GT.M supports both UTF-8 mode and M mode on this platform, there are problems with the AIX ICU utilities that prevent FIS from testing 4-byte UTF-8 characters as comprehensively on this platform as we do on others.
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.が必要になります。

 

目次へ戻る

64bitプラットフォームへの移行

同じアプリケーションコードで32ビットおよび64ビットの両方のプラットフォーム上で実行します。注意点:

 
  • それぞれのプラットフォーム用に個々のアプリケーションコードごとにコンパイルする必要があります。Mソースコードがまったく同じであっても、生成されるオブジェクトモジュールは、同じハードウェアアーキテクチャ上であっても、x86用とx86_64用のオブジェクトコードが異なるためです。

  • Cの呼出規則を使用する非MコードとGT.Mとのインターフェイスにおけるパラメータタイプは、それらのターゲットプラットフォーム上でデータタイプと一致する必要があります。たいていは、これらのパラメータは、コールイン,外部呼出し,国際化(照合),トランザクション環境などのために存在し、下記の表に表します。64ビットプラットフォーム上のほとんどのアドレスは8バイト長で、構造体は8バイトのアラインメントが必要でであるのに対して、32ビットプラットフォームのすべてのアドレスは4バイト長で、構造体は4バイトのアラインメントが必要であることに注意してください。

内部コール(Call-ins)と外部コール

パラメータ タイプ

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ビット長を持ちます。

 
  • もし、あなたのインターフェイスが、gtm_long_t または gtm_ulong_t 型を使用し、しかし、インターフェイスコードが int または signed int 型を使用するならば、64ビットプラットフォーム上でのそれらのマッチは、診断方法によって、不愉快で潜在的な危険性をもち難しい中で失敗するコードが発生するほどの、型変換の障害があります。

国際化(照合)

パラメータ タイプ

32ビット

64ビット

備考

gtm_descriptor in gtm_descript.h

4バイト

8バイト

これらのタイプの内での変更するアドレスのみがあるにもかかわらず、構造体は、プラットフォームのアライメントの要件を満たすために、コンパイラのパディングの結果として最大8バイトまで拡張する可能性があります。

 
  • それらのコードの他のアスペクトが64ビット対応と仮定すると、照合ルーチンは再コンパイルのみを必要とすべきです。  

変換の環境 

パラメータ タイプ

32ビット

64ビット

備考

gtm_string_t type in gtmxc_types.h

4バイト

8バイト

これらのタイプの内での変更するアドレスのみがあるにもかかわらず、構造体は、プラットフォームのアライメントの要件を満たすために、コンパイラのパディングの結果として最大8バイトまで拡張する可能性があります。

 
  • それらのコードの他のアスペクトが64ビットに対応であると仮定すると、いくつかのルーチンを変換する環境は、再コンパイルのみ必要です。

 

目次へ戻る

再コンパイル

  • MとCのソースファイルすべてを再コンパイルしてください。


 

目次へ戻る

共有ライブラリまたはイメージを再構築

  • すべてのMとCのソースファイルをコンパイルした後、共有ライブラリ(UNIX)または共有可能な実行可能なファイルのイメージ(OpenVMS)を再構築します。


 

目次へ戻る

インストール手順の追加 

GT.Mをインストールしるには、『GT.M管理とオペレーションガイド』の"GT.Mインストール"のセクションを参照してください。

UNIX

  1. 以前にインストールしたバージョンを上書きするのではなく、別の(新しい)ディレクトリにGT.Mの各バージョンをインストールすることをFISは強く推奨します。もし新しいバージョンを既存のGT.Mのインストールに上書きする必要があるならば、始めに古いバージョンで使用しているすべてのプロセスのシャットダウン しなければならない。32ビットのLinuxシステムでは、/usr/lib/fis-gtm/V5.4-000A_arch (例えば /usr/lib/fis-gtm/V5.4-000A_x86 )のように Filesystem Hierarchy Standard準拠のコンポーネントの置き場所でGT.M V5.4-000Aをインストールすることを提案します。 /opt/fis-gtm/V5.4-000A_archが場所としては適切でしょう。もし同じシステム上で同じGT.Mのリリースの32ビット版および64ビット版バージョンをインストールするには、arch接尾語は特に重要なことに、注意してください。
  2. すべてのデータベースファイルを確保するために古いGT.MバージョンのMUPIP RUNDOWNコマンドの使用は、正常にクローズされます。

  3. UNIXエディションには、gtmsecshr は実行しないでください。もしgtmsecshr が実行されると、最初にDSE, LKE, MUPIPユーティリティを含むすべてのGT.Mプロセスが停止し、そして、kill <pid_of_gtmsecshr> を実行してください。


  • アクティブなプロセスによって使用中の任意の実行可能ファイルのディスク上にバイナリイメージに置き換ることを決してしてはいけません。これは予期しない結果を招くことがあります。オペレーティングシステムに応じて、これらの結果が含まれますが、サービスの拒否に限定されません(つまり、システムのロックアップ)、さらに、これらのプロセスをオープンになっているファイルへ損傷を与えます(つまり、データベース構造の損傷)。
AIX用の追加情報

[注意]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用の追加情報は翻訳しません。Select "Configure AIO now".  If you see a message such as "aio0 has been created", it means that there is no further need of setup at this time.

[注意]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

[参考] [注意]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 V5.4-000Aへアップグレード

GT.Mデータベースは、データベースファイル、ジャーナルファイル、グローバルディレクトリの、レプリケーションインスタンスファイルの4種類のコンポーネントで構成されます。各データベースコンポーネントの形式は、各GT.Mのバージョンと同じハードウェアアーキテクチャ上で32-bit/64-bit のGT.Mプラットフォームでさえ異なることがあります。


V5.4-000Aのための4段階のGT.Mのアップグレード手順:  
 

 

各ステージのアップグレードの説明を注意深く読んでください。GT.M V5.4-000Aのアップグレード手順は、あなたのGT.Mアップグレードの歴史と現在のバージョンに依存します。 

ステージ1:グローバル ディレクトリをアップグレード

グローバルディレクトリをアップグレードする前に、グローバルディレクトリのコピーを作ることを、FISは強く推奨します。グローバルディレクトリを以前の形式にダウングレードする方法はありません。  
 

以前のGT.Mバージョンからアップグレードするには:

 

 
  1. GT.M V5.4-000AからGDEユーティリティプログラムを使用してグローバル ディレクトリを開きます。
  2. EXITコマンドを実行してください。間に入る他のコマンドなしで、このコマンドは自動的にグローバルディレクトリをアップグレードします。

 

もし、それをアップグレードするつもりが無く、不注意で以前の形式でグローバルディレクトリを開いたならば、 EXITコマンドではなく、QUITコマンドを実行してください。

 

もし不注意によりグローバルディレクトリのアップグレードをしてしまったならば、次の手順を実行してください:
 
  1. V5.4-000AからGDEを使用してグローバルディレクトリを開きます。
  2. SHOW ALLコマンドを実行します。
 
注:GDEのコマンドスクリプトを生成してください、または、以前のGT.MバージョンからGDEへ手動で出力に対応するGDEコマンドを入力してください。

 

注意:グローバルディレクトリは、オブジェクトファイルをに類似しているバイナリファイルとして、FISはグローバルディレクトリを作成するGDEのコマンドスクリプトの使用を推奨します。

ステージ2:データベースファイルのアップグレード  

ブロック形式のアップグレード(V4からV5など)がある時のみ、データベースファイルをアップグレードする必要があります。しかし、いくつかのバージョンでは、例えば、V4として作成され(その後V5形式へアップグレード)初期化されたものが、以前のアップグレードツールで仕損じている可能性があるフリーブロックでは無く以前に使用されていたものをアップグレードするためにMUPIP REORG –UPGRADE操作がさらに必要となるでしょう。 

 

 

V5.000より前のGT.Mバージョンからアップグレードするには:

 

 

  1. 所定の場所で使用するデータベースファイルをアップグレードしてください、または、伝統的なデータベースは、状況に応じた手順でアップグレードします。所定の場所の/伝統的なデータベースアップグレードの詳細については、データベースの移行技術情報 を参照してください。
  1. MUPIP REORG –UPGRADEコマンドを実行してください。このコマンドは、すべてのV4のブロックをV5フォーマットへアップグレードします。

 

注:V5.0-000より以前のGT.Mリリースで作成され、そして、V5フォーマットへアップグレードされたデータベースは、64M(67,108,864)ブロックの最大サイズ制限を保持します。
 
 

GT.M V5.0*/V5.1*/V5.2*/V5.3* からアップグレードするには:

 

 
もしGT.M V5.0-000以降からV5.3-000またはそれ以降にアップグレードするならば、データベースファイルのアップグレードの手順は決して必要ではありません。However, you may need to run the MUPIP REORG –UPGRADE command to upgrade any previously used but free block that may have been missed during earlier upgrade cycles.  You do not need to run MUPIP REORG –UPGRADE in either of the following situations:
 
 
もしV5.3- 003より前のバージョンでMUPIP REORG –UPGRADEコマンドを既に実行しているならば、それ以降のバージョンでは、MUPIP REORG -UPGRADEが実行するために、正しく行われ、そして、オペレータログに警告を記録されたかどうかを判断することはできません。したがって、どれかが必要です:
 

 

アップグレードの考慮する追加事項については、"<a1>データベースの互換性ノート</a1><a2> </a2>"を、参照してください。   
 
データベースの互換性に関する注意

ステージ3:レプリケーションのインスタンスファイルのアップグレード

もしあなたがUNIXプラットフォーム上で論理的マルチサイト(LMS)アプリケーションの設定で実行しているならば、あなたのアップグレードが32ビットの実装から64ビット実装(または潜在的に x86プラットフォーム上で逆もまた同様に)へGT.Mを変更する時は必ず、MUPIP REPLICATE -INSTANCE_CREATEコマンドを使用してレプリケーションのインスタンスファイルを再作成する必要があります。もしあなたのアップグレードが 32ビットと64ビットの実装の間で変更が含まれていないならば、レプリケーションインスタンスファイルを再作成する必要はありません。たとえば、Linuxシステムで、もしあなたがV5.3-001以前の32ビットから32ビットのV5.3-001 / V5.3-001A / V5.3-002 / V5.3-003へアップグレードするならば、レプリケーションインスタンスファイルを再作成する必要はありません 。アップグレードシナリオの下でのみ、レプリケーションインスタンスファイルを再作成する必要があります。

 

注: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 を使用してください。

 

論理デュアルサイト(LDS)の設定からLMSの設定へ移行する時は、たとえGT.Mリリースを変更されなくても、あなたはいつも、マルチサイトレプリケーション技術情報の手順をフォローする必要があります。

ステージ4:ジャーナルファイルのアップグレード

以前のGT.Mバージョンからアップグレードするには: 

 

 

重要:MUPIPが、RECOVER または ROLLBACKのために、それ自身以外のリリースからジャーナルファイルを使用できないということが必要です。 
 

目次へ戻る

MモードとUTF-8モードのマネージメント

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 PA-RISC HP-UXでのICUをコンパイル

[注意]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-UXに関する翻訳はしません。As of this writing (November, 2009), ICU version 3.6 can be compiled on HP PA-RISC HP-UX with the following configuration:
 

 

[注意]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

 

手順:

 
  1. Ensure that system environment variable $PATH includes the location of all the compilers mentioned above.

  2. Download the source code of ICU (in this example, version 3.6 for C from http://icu.sourceforge.net/download/3.6.html#ICU4C)

  3. At the shell prompt, execute the following commands:

     
     
    gunzip -d < icu4c-3_6-src.tgz | tar -xf -
    cd icu/source/
    chmod +x runConfigureICU configure install-sh
    runConfigureICU --enable-debug HP-UX/ACC --enable-64bit-libs?--enable-rpath –disable-threads
     
    gmake
     
    gmake check
     
    gmake install
     
  4. 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.

  5. ICU is now installed in /usr/local.

 
  • 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?--enable-rpath –disable-threads
    • Then execute the gmake commands, and set the environment variable $LD_LIBRARY_PATH to point to the appropriate location.

 
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.

HP Integrity IA64 HP-UX上でのICUをコンパイル

[参考] [注意]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:

 
Version: HP-UX 11.31
Compilers: HP C/aC++ B3910B A.06.15, GNU make (3.81)
手順
 
  1. [参考] Ensure that system environment variable <s0>$PATH</s0> includes the location of all the compilers mentioned above.
  2. [参考] Download the source code of ICU (in this example, version 3.6 for C from http://icu.sourceforge.net/download/3.6.html#ICU4C)
  3. [参考] At the shell prompt, execute the following commands:

               gunzip -d<  icu4c-3_6-src.tgz | tar -xf -

            cd icu/source/
            chmod +x runConfigureICU configure install-sh
            runConfigureICU HP-UX/ACC --disable-threads
            gmake
            gmake check
            gmake install
 
  1. [参考] ICUの位置をポイントするために、環境変数LD_LIBRARY_PATHを使用します(AIXではLIBPATH)。[参考] Set the environment variable <s0>$LD_LIBRARY_PATH</s0> to point to the location of ICU.  HP-UX uses the environment variable <s1>$LD_LIBRARY_PATH</s1> to search for dynamically linked libraries to be loaded.


[参考] ICU is now installed in <s0>/usr/local</s0>.

 

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?

  • Then run the gmake commands, and set the environment variable $LD_LIBRARY_PATH to point to the appropriate location.
  

[参考] 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.

 

目次へ戻る

環境変数TERMの設定

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サポートしません。これらの手順は、僅かですがあなたの便宜をはかるために提供されます。


もしzlibのためのパッケージがあなたのオペレーティングシステムで利用可能ならば、構築よりはむしろその利用について、FISは提案します。


Sun StudioからSolaris/cc コンパイラ:

./configure --shared
make CFLAGS="-KPIC -m64"
 

HP-UX(IA64)/HP Cコンパイラ:

./configure --shared
make CFLAGS="+DD64"
 

AIX/XL コンパイラ:

./configure --shared
Add -q64 to the LDFLAGS line of the Makefile
make CFLAGS="-q64"
 

Linux/gcc:

./configure --shared
make CFLAGS="-m64"
 
z/OS:
 
Refer to the steps we used to install zlib on z/OS in the GT.M for z/OS technical bulletin.

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.


Change History 

V5.4-000A

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

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


目次へ戻る

Mデータベースアクセス


目次へ戻る

M本体(データベースアクセス以外)

 

目次へ戻る

MUPIP ユーティリティ

 

目次へ戻る

ユーティリティ(MUPIP以外)

 

エラーメッセージ

The new error messages introduced in V5.4-000 are as follows:

 

GVDATAGETFAIL

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

JNLENDIANBIG, Journal file jjjj is BIG endian on a LITTLE endian system

  
MUPIP Error: The MUPIP command on a little endian system specified journal file jjjj which was created on a big endian system. GT.M does not convert journal files with incompatible byte ordering.
  
Action: Set up operational procedures that ensure journal files are used on systems with the same byte ordering as where they are created. If necessary, extract journal file data on the source system and use an M program on the opposite endian system to restore it. 

JNLENDIANLITTLE

JNLENDIANLITTLE, Journal file jjjj is LITTLE endian on a BIG endian system

  
MUPIP Error: The MUPIP command on a big endian system specified journal file jjjj which was created on a little endian system. GT.M does not convert journal files with incompatible byte ordering.
  
Action: Set up operational procedures that ensure journal files are used on systems with the same byte ordering as where they are created. If necessary, extract journal file data on the source system and use an M program on the opposite endian system to restore it. 

MAXSSREACHED

MAXSSREACHED, Maximum snapshots - mmmm - for region rrrr reached. Please wait for the existing snapshots to complete before starting a new one.

  
Mupip error: Starting this snapshot would exceed the maximum number of snapshots.
  
Action: Wait for a currently active process using snapshots to complete or terminate an existing snapshot activity. 

MAXTRIGRNEST

MAXTRIGRNEST, Maximum trigger nesting level LLLL exceeded
 
Run Time Trigger Error: GT.M limits trigger invocation depth to LLLL.
 
Action: If you are sure that you do not have an application code bug or misfeature, reduce the depth of trigger invocation, possibly by consolidating triggers.  

MUJNLDBMISSING 

MUJNLDBMISSING, Journal files for required database dddd missing in the MUPIP JOURNAL command 
 
MUPIP Error: MUPIP JOURNAL processing requires journal files for database dddd in order to perform the requested recovery, but the invoking command did not supply a path for those files.
 
Action: Revise the command to include the appropriate journal specification(s) and reissue it.

NOZTRAPINTRIG  

NOZTRAPINTRIG, Use of $ZTRAP in a database trigger environment ($ZTLEVEL greater than 0) is not supported.

Run Time Trigger Error: GT.M requires the use of $ETRAP for error handling within trigger logic.

Action: Modify the application code to use $ETRAP to handle errors in trigger logic.

PROCTERM

PROCTERM, uuuu process termination due to cccc from eeee

Utility Warning: A utility uuuu, typically MUPIP, executing application code, possibly from a trigger, encountered a command cccc to terminate at $zposition location pppp.

Action: It is not typically wholesome for MUPIP to terminate this way - review your error handling and trigger definitions for a possible bug or misfeature.

QUITALSINV

QUITALSINV, QUIT * return when the extrinsic was not invoked with SET *

Run Time Error: A [sub-]routine tried to pass an alias back to the caller, but the routine was not invoked to accept an alias return.

Action: Rework either the invocation or the return, or troubleshoot why the inappropriate invocation occurred. If the routine should conditionally return an alias, use $QUIT to select the proper type of return. 

REGSSFAIL

REGSSFAIL, Process pppp encountered error contributing to the snapshot for region rrrr - the snapshot is no longer valid
  
Mupip error: A GT.M process while trying to write a block to the snapshot failed due to some reason. The reason should be in the operator log.
  
Action: Examine the operator log for details of the failure and take action, possibly modifying file access characteristics or user roles, to address the problem. 

SETINTRIGONLY

SETINTRIGONLY, ISV iiii cannot be modified outside of the trigger environment
  
Run Time Trigger Error: The Intrinsic Special variable iiii can only be SET within the context of trigger logic ($ZTLEVEL > 0)
  
Action: Examine the application logic to determine whether code intended for use in a trigger context falls in an execution path outside of trigger logic. For code intended to execute both inside and outside triggers, use a postcondition that limits the SET to within a trigger. 

SNAPSHOTNOV4

SNAPSHOTNOV4, Cannot downgrade (to V4) while snapshots are in progress. Currently ssss snapshots are in progress for region rrrr.
  
Mupip error: A request to downgrade a region to V4 occurred while a snapshot is in progress.
  
Action: Wait for a currently active process using snapshots to complete before running the downgrade.  Since a downgrade to V4 would not normally be expected, check to verify that the downgrade invocation is appropriate.

SSFILCLNUPFAIL

SSFILCLNUPFAIL, Error while unlinking snapshot file -- xxxx

Mupip error: An attempt to terminate snapshot file maintenance by GT.M updater processes encountered a problem.

Action: Try a MUPIP RUNDOWN. If that has a similar problem, it may be prudent to shut down all access to the database in question in order to stop the burden of maintaining the snapshot file and to ensure it doesn't unnecessarily consume more space. 

SSFILOPERR

SSFILOPERR, Error while doing oooo operation on file ffff
  
Mupip error: The oooo operation on snapshot file ffff failed
  
Action: Analyze the operation and the file characteristics and take appropriate action to clear the problem.  

SSPREMATEOF

SSPREMATEOF, Premature end of file while reading block nnnn of size: bbbb bytes at offset: oooo from zzzz
  
Mupip error: The action attempted access to a block beyond the end of the snapshot file. This means either the process was confused or the file is damaged
  
Action: Retry the action. If the problem persists, contact FIS with information on how to recreate the problem. 

SSSHMCLNUPFAIL

SSSHMCLNUPFAIL, Error while doing snapshot shared memory cleanup. Operation -- ssss. Identifier -- dddd
  
Mupip error: There was an error while doing a snapshot cleanup. The operation ssss indicates what system call failed. The identifier dddd indicates the shared memory identifier that is being cleaned up.
  
Action: Analyze the failure details and take corrective measures. If appropriate carefully clear abandoned resources using the system ipcrm utility. 

SSTMPCREATE

SSTMPCREATE, Cannot create the temporary file in directory dddd for the requested snapshot
  
Mupip error: An action requiring a snapshot file was unable to create it.
  
Action: Verify the directory has appropriate access permissions for the user performing the action. 

SSTMPDIRSTAT

SSTMPDIRSTAT, Cannot access temporary directory dddd
  
Mupip error: An action requiring a snapshot file was unable to access the temporary directory.
  
Action: Verify the directory exists and has appropriate access permissions for the user performing the action. 

SSTMPFILOPEN

SSTMPFILOPEN, Failed to open shadow snapshot file ffff
  
Mupip error: An action requiring a snapshot file was unable to open it.
  
Action: Verify the file exists and has appropriate access permissions for the user performing the action. 

SSV4NOALLOW

SSV4NOALLOW, Database snapshots are supported only on fully upgraded V5 databases. nnnn has V4 format blocks.
  
Mupip error: An action requiring a snapshot was attempted on a database the contains V4 format blocks.
  
Action: Upgrade the database to V5 and re-run the action. 

TRIG2NOTRIG

TRIG2NOTRIG, Sending transaction sequence number xxxx which used triggers to a replicator that does not support triggers
  
MUPIP Warning: The source server encountered a transaction that includes triggers, but its replicating node does not support triggers. Unless you are using application level filters to handle this case, your originating instance and replicating instance are no longer consistent.
  
Action: If this case it not handled by your application level filters, you should either enhance your filters or upgrade the replicating instance to a version of GT.M that supports triggers and load the the appropriate trigger definitions with MUPIP TRIGGER (or $ZTRIGGER()), and then take appropriate action (such as recreating the replicating instance from a backup of the originating instance) to restore consistency.  

TRIGCOMPFAIL

TRIGCOMPFAIL, Compilation of database trigger named tttt failed 
 
Run Time Trigger Error: The -Xecute code of a trigger specification has syntax errors. Because triggers are precompiled when you define them, this error may indicate that either:


Action: Validate the definitions by a SELECT option with MUPIP TRIGGER or $ZTRIGGER(), correct the trigger code syntax and apply a trigger update.  

TRIGINVCHSET

TRIGINVCHSET, Trigger tttt for global gggg was created with CHSET=cccc which is different from the current $ZCHSET of this process
  
Run Time Trigger Error: Trigger tttt on global gggg failed because the process that attempted to update global gggg did not have the same character set that was used to load trigger tttt.  Databases with triggers can only be used by processes that are M mode or UTF-8 mode, depending on the mode of the process that loaded the triggers.

Action: Ensure that processes start with the same character set (as defined by the gtm_chset environment variable) that was used to load the trigger definitions with MUPIP TRIGGER (or $ZTRIGGER() function).

TRIGJNLSTATE

TRIGJNLSTATE, Trigger cannot update journaled database file dddd since triggering update was not journaled

Run Time Trigger Error: A process performed an update on a global in a database region which is not currently journaled, and that update invoked a trigger that, in turn, attempted an update on a global in a database region that is journaled. The secondary GVIS message provides the global name. This would produce a journal state with insufficient information to ensure proper replication of the region with the triggered update.

Action: Revise global directories, journaling characteristics, or trigger logic to prevent this situation.  

TRIGNAMEUNIQ

TRIGNAMEUNIQ, Unable to make trigger name tttt unique beyond vvvv versions already loaded

Run Time Trigger Error: GT.M encountered more than vvvv different instances of the same trigger name across database regions used by the same process.

Action: Revise trigger names to prevent such a high degree of overlap.

TRIGTCOMMIT

TRIGTCOMMIT, TCOMMIT at $ZTLEVEL=LLLL not allowed as corresponding TSTART was done at lower $ZTLEVEL=BBBB

Run Time Trigger Error: A TCOMMIT in trigger logic attempted to complete the active transaction that was started outside of the current trigger. Because trigger actions are atomic with the update initiating them, committing a transaction started prior to or by the triggering update cannot be committed inside the trigger.

Action: Within the trigger context, review the TCOMMIT logic to ensure that it commits only those transactions that are started within the trigger. Ensure that TCOMMIT does not attempt to commit any transaction started prior to or by the triggering update.  

TRIGTLVLCHNG

TRIGTLVLCHNG, Detected a net transaction level ($TLEVEL) change during trigger tttt. Transaction level must be the same at exit as when the trigger started

Run Time Trigger Error: While the trigger logic can use balanced sub-transactions, it cannot cause a net change in $TLEVEL.

Action: Review the transaction management (TSTART, TCOMMIT and TROLLBACK) within trigger logic to ensure that it commits or rolls back any transactions it starts and does not attempt to commit any transaction started prior to, or by, the trigger update. You can use TROLLBACK within trigger logic to block the current transaction, possibly to write error context information. Nonetheless if you use such a TROLLBACK, GT.M subsequently signals this error when you leave the trigger context in order to notify the process that the original triggering update has been discarded.

ZGOTOINVLVL

ZGOTOINVLVL, ZGOTO in a trigger running in mmmm cannot ZGOTO level LLLL

MUPIP Error: A ZGOTO command in trigger logic attempted to specify an inappropriate destination. Currently that is a ZGOTO in a trigger context with a target level of one (1) and an entryref. GT.M does not support such ZGOTO arguments in MUPIP because there is no context outside that of the trigger.

Action: Revise the trigger logic to only use ZGOTO with an entryref within the trigger context of trigger logic. Note that you can ZGOTO out of a trigger, but doing so in MUPIP terminates the MUPIP process. FIS recommends limiting the use of ZGOTO to debugging, error handling and testing. Use of ZGOTO in production code, even for error processing, should always be thoroughly tested.

ZTRIGINVACT

ZTRIGINVACT, Missing or invalid subcode (first) parameter given to $ZTRIGGER()

Run Time Trigger Error: The first argument to $ZTRIGGER() is required to specify its mode of action.

Action: for the first argument of $ZTRIGGER() use an expression that evaluates to "FILE", "ITEM" or "SELECT".

ZTRIGNOTP

ZTRIGNOTP, $ZTRIGGER() cannot use update subcodes FILE or ITEM when a TP transaction is in progress ($TLEVEL greater than zero)

Run Time Trigger Error: A FILE or ITEM operation of $ZTRIGGER() failed because it attempted to apply a trigger definition inside an ongoing transaction. Both FILE and ITEM operations of $ZTRIGGER initiate an implicit transaction to achieve trigger update atomicity, therefore, GT.M does not allow nesting them inside another transaction that potentially might use the very triggers $ZTRIGGER() is attempting to update.

Action: Move all FILE or ITEM operations of $ZTRIGGER() outside the scope of any open transaction.

ZTWORMHOLE2BIG

ZTWORMHOLE2BIG, String length of LLLL bytes exceeds maximum length of mmmm bytes for $ZTWORMHOLE

Run Time Trigger Error: GT.M limits $ZTWORMHOLE length to mmmm bytes and the application attempted to use LLLL bytes.

Action: Restrict the size of the string stored in $ZTWORMHOLE to mmmm bytes. Ensure that $ZTWORMHOLE only holds the information that the application needs during trigger execution. If necessary, reorganize the logic to reduce the amount of local context needed during trigger execution, possibly by using global variables. 


目次へ戻る

 
 

GT.Mのドキュメントの追加事項

この追加事項は、SOCKET READ 操作とMOREREADTIMEのデバイスパラメータについて改良された説明が含まれています。 

SOCKET READ操作

TCP/IPは、バイトが送信された順序で到着することを保証するストリームベースのプロトコルです。しかしながら、それらバイトが同じパケットでグループ化されることを保証するものではありません。

パケットが、まれに、あるいは時々遅い異なったレートで到着するならば、短いインターバルでは、ありそうもないイベントをチェックするためにCPUサイクルを浪費することがあります。一方、パケットの処理において時間が正確であるならば、長いインターバルは、望ましくない遅延を導きます。もしパケットが迅速で一定流量(異常事態)の状態で到着するならば、共に動作するREAD用のバッファが常にあるので、インターバルはたいした問題ではありません。MOREREADTIMEを指定しない場合、、、、データを検出できなかった時、SOCKET READは、200msの長い最初のインターバルを使用してのダイナミックなアプローチを実装しているので、その後、データが到着し始めると、10msにインターバルを短くします。インターバルを指定する場合、SOCKETデバイスは常に、指定されたインターバルを使用し、そして、動的には調整されません。MOREREADTIMEの詳細については、"MOREREADTIME"を参照してください。

最大 のSOCKET READの操作は、(a) 区切り文字の受取、(b)最大文字数の受取、または、(c) タイムアウトの有効期限を検出された最初の条件の結果として終了します。これらの条件のすべてがオプションであることに注意してください、特定のREADは、それらのうちのゼロ以上を指定することができます。この文書では、"定義された終了条件 " として、これら3つの条件を指します 。SOCKET READ が、定義された終了条件のうちのいずれかの対象ではない場合、新たなキャラクターのないインターバルにより続く少なくとも1つの文字を受信した後、それが終了します。READはまた、その指定したWIDTHでデバイスを置く文字の受信時に終了します - WIDTHを変化することができますが、それはオプションではありません。エラーはまた、READを終了することができます。終了条件のいずれも満たされていない間は、READが続行されます。
 
次のフローチャートは、SOCKET READのロジックを表します。   
 



SOCKET READの終了状態

 次のいずれかの条件が満たされている場合に、SOCKET READの操作は終了します。
 
終了条件 含まれる引数 $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
  
* Defined Terminating Conditions  
 

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.


Your messaging protocol should implement READ in any of the following ways: 
 
  1. Use a delimiter to separate messages (generic READ and possibly a larger value for MOREREADTIME). 
  1. Specify messages as <length, value> pairs (a pair of fixed-length READs (READ # ) and possibly a larger value for MOREREADTIME).
  2. Parse the bytes or characters as they come in (possibly a smaller value for MOREADTIME) 

MOREREADTIME=intexpr

MOREREADTIME specifies the polling interval (in milliseconds) that a SOCKET device uses to check for arriving packets.

MOREREADTIMEを指定しない場合、、、、データを検出できなかった時、SOCKET READは、200msの長い最初のインターバルを使用してのダイナミックなアプローチを実装しているので、その後、データが到着し始めると、10msにインターバルを短くします。インターバルを指定する場合、SOCKETデバイスは常に、指定されたインターバルを使用し、そして、動的には調整されません。This applies to any SOCKET READ. For more information on implementing SOCKET READ in your application, see "SOCKET READ Operations".

If a SOCKET READ is not subject to any of the defined terminating conditions, it terminates either after it has at least one character followed by an interval with no new packets, or by reaching the specified maximum WIDTH for the SOCKET.

If you use the MOREREADTIME behavior, bear in mind that:
 
 
目次へ戻る

For more information, see the GT.M web site.



inserted by FC2 system