Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 運用と操作


3.14.4 時刻変更に関する注意

OpenTP1ではステータスファイル,ジャーナルファイル,チェックポイントダンプファイルなどに日付や時間の情報を格納しています。OpenTP1の再開始時などにその情報を使用します。また,トレースファイルなど,各種作業ファイルにも日付や時刻の情報を持ち,さまざまなチェック処理でその情報を使用しています。 そのため,OpenTP1の開始中,オンライン中,または停止中に時刻を変更した場合,問題が発生します。

OpenTP1では,時刻を変更する場合,adjtime()システムコールのように,常に単調に時刻の値を増加させながら増加の速度を速くしたり遅くしたりすることで時刻を補正する機能を使用することを推奨します。

〈この項の構成〉

(1) 時刻を進める場合

OpenTP1のデーモンが一定期間動作しない場合は,OpenTP1の内部のチェックによってタイムアウトになり,システムがダウンします。そのため,システムの時刻を進めた場合,タイムアウトが発生したと不当に判断してシステムダウンすることがあります。OpenTP1の開始中,オンライン中,または停止中に,秒単位またはそれより大きな単位で時刻を進めないでください。何らかのテストで時刻を進める必要がある場合は,OpenTP1を停止させたあとに時刻を変更してください。

100ミリ秒以下の値であれば,OpenTP1がオンライン中でも時刻を進めることができます。ただし,この場合も,統計情報が正確に表示されなかったり,トレース情報の時刻表示が不当な値になったりする可能性がありますのでご注意ください。

(2) 時刻を遅らせる場合

時刻を遅らせた場合,再開始の失敗,トランザクション回復不正,不当なシステムウェイトなどの問題が発生する可能性があり,動作を保証できません。そのため,OpenTP1の開始中,オンライン中,または停止中に強制的に時刻を遅らせないでください。時刻を遅らせると,システムの時刻よりも時刻が進んだ状態のファイルがOpenTP1システム内に残り,ラップアラウンド運用のトレースファイルの切り替えに失敗する場合があります。何らかのテストで時刻を遅らせる必要がある場合は,dcstopコマンドでOpenTP1をいったん終了させてください。

時刻変更後,OpenTP1を起動する場合は,OpenTP1を停止した時刻よりも未来の時刻になるのを待ってから起動してください。OpenTP1を停止した時刻よりも未来の時刻になるのを待たないで起動する場合,dcsetupコマンドの-dオプションでいったんOpenTP1をシステムから削除し,OpenTP1ファイルシステムの再作成など,システムの再構築をしてください。