ノンストップデータベース HiRDB Version 9 システム運用ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

20.17.2 ユニットの再開始手順(システムログファイルを追加してからユニットを再開始する場合)

対処手順の大きな流れは,ユニットの再開始に必要な数のシステムログファイルを追加した後に,ユニットを再開始します。対処手順のフローを次の図に示します。

図20-5 システムログファイルを追加してからユニットを再開始する手順(フロー)

[図データ]

注 図中の項番は,以降の説明の( )の番号と対応しています。

<この項の構成>
(1) ユニットの再開始時に必要となるシステムログファイルのレコード数を求める
(2) システムログファイルを追加する
(3) ユニットを再開始する
(4) シンクポイントダンプの有効化処理が完了したことを確認する
(5) 業務再開のための準備をする

(1) ユニットの再開始時に必要となるシステムログファイルのレコード数を求める

ユニットの再開始時,前回の稼働時に使用されていたシステムログファイルを入力情報にして,データベースが回復されます。このデータベースの回復処理でもシステムログが出力されるため,その分のシステムログファイルをユニットの再開始前に追加しておく必要があります。

ユニットの再開始時に必要となるシステムログファイルのレコード数は,次に示す計算式から求められます。

必要なレコード数=A×3
A:前回の稼働時にサーバが使用していたシステムログファイルのレコード数
注※ ユニットの再開始時に実行するデータベースの回復処理でもシステムログが出力されます。この量はデータベースを更新したSQLやHIRDBの運用によって増減します。出力されるシステムログ量が増加してもシステムログファイル不足を解消できるように,係数をかけて必要となるレコード数を求めています。

必要なレコード数の求め方を例題形式で説明します。

例題
バックエンドサーバ(bes1)のシステムログファイルが不足してユニットが異常終了しました。ユニットの再開始時に,バックエンドサーバ(bes1)が必要とするシステムログファイルのレコード数を求めます。

手順
  1. pdloglsコマンドを実行して,前回の稼働時にbes1が使用していたシステムログファイルを確認してください。

    [図データ]

    Status欄を参照して現用ファイルを確認してください。この例の場合,log006が現用ファイルになります。
    次に,現用ファイル(log006)のRun IDを確認してください。現用ファイルとRun IDが同じファイルが,前回の稼働時にバックエンドサーバ(bes1)が使用していたシステムログファイルになります。この例の場合,log001〜log006が該当します。
  2. 前回の稼働時にbes1が使用していたシステムログファイルのレコード数を計算してください。

    [図データ]

    log001〜log006のRecord-count欄を参照します。Record-count欄の右側に,各システムログファイルのレコード数が16進数で表示されます。
    16進数のレコード数を10進数に変換して,log001〜log006の合計を求めてください。
    システムログファイル名 レコード数
    16進数 10進数
    log001 4e1c 19996
    log002 4e1c 19996
    log003 4e1c 19996
    log004 4e1c 19996
    log005 61a4 24996
    log006 61a4 24996
    合計 129976
    前回の稼働時にbes1が使用していたシステムログファイルのレコード数は,129976レコードになります。
  3. ユニットの再開始時に必要となるシステムログファイルのレコード数を計算してください。
    2で求めたレコード数を3倍します。
    129976×3=389928
    ユニットの再開始時に必要となるシステムログファイルのレコード数は,389928レコードになります。
    この値は,システムログファイルの各系で必要なレコード数になります。システムログファイルを二重化している場合は,A系,B系の両方で必要になります。
    参考
    求めたレコード数分のシステムログファイルの容量を知りたい場合は,次に示す計算式で求めてください。
    システムログファイルの容量=レコード数×レコード長(単位:バイト)
    この例の場合,389928×4096=1597145088バイトになります。
    なお,レコード長は,pdloglsコマンドの実行結果のRecord-sizeで確認できます。

(2) システムログファイルを追加する

システムログファイル不足が発生したサーバに,システムログファイルを追加してください。追加するシステムログファイルの容量(レコード数)は,(1)で求めたレコード数になります。

システムログファイルの追加方法については,「20.17.7 システムログファイルの追加方法」を参照してください。

(3) ユニットを再開始する

pdstartコマンドを実行してユニットを再開始します。

ユニットが再開始されると,トランザクションの受け付け可能状態になりますが,新規トランザクションの処理によって出力されるシステムログが原因で,システムログファイルの不足が再度発生するおそれがあります。そのため,(5)の作業が完了した後に業務を再開するようにしてください。

(4) シンクポイントダンプの有効化処理が完了したことを確認する

シンクポイントダンプの有効化処理が完了したことを確認してください。確認手順については,「20.17.1(6)シンクポイントダンプの有効化処理が完了したことを確認する」を参照してください。

再開始時に必要なシステムログファイルが不足している場合,シンクポイントダンプの有効化処理が完了する前に,ユニットが再度異常終了します。この場合,syslogfile又はメッセージログファイルに出力されているエラーメッセージの対処に従ってください。システムログファイルの不足が解消していない場合は,トラブルシュート情報を取得して保守員に連絡してください。トラブルシュート情報の取得方法については,「20.1.1 障害が発生したときにHiRDB管理者がすること」を参照してください。

(5) 業務再開のための準備をする

業務再開のための準備を行ってください。詳細については,「20.17.1(7)業務再開のための準備をする」を参照してください。

システムログファイルの不足を解消した後は,「20.17.10 システムログファイルの不足を解消した後に実施すること」の対処を行ってください。