Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


7.2.3 システムログに関するオペランド(set形式)

[22] adb_log_usrfile_num = ユーザログファイル数

〜〈整数〉((0〜10,240))《同時に表を更新できるリアルスレッド数》

特定のSQL文およびコマンドの実行時に必要なユーザログファイルの数を指定します。

指定値の分だけ,HADBサーバ開始時にユーザログファイルが作成されます。このオペランドの指定値については,「6.12.15 ユーザログファイル数の求め方」を参照してください。

留意事項を次に示します。

  • この指定を省略した場合,または0を指定した場合は,同時に表を更新できるリアルスレッド数が仮定されます。その結果,adb_log_usrfile_sizeオペランドに指定した容量のユーザログファイルが必要な分だけ作成されるようになります。そのため,ユーザログファイル数の不足によるエラーは発生しません。

  • このオペランドに1を指定した場合は,自動的に2が仮定されます。そのため,ユーザログファイルが2つ作成されます。

  • 同時に表を更新できるリアルスレッド数より大きな値をこのオペランドに指定しても,同時に表を更新できるリアルスレッド数がこのオペランドの指定値として仮定されます。

  • 作成されたユーザログファイルは,データベースの初期設定を再度実行するまで削除されません。そのため,次に示す計算式で求めた値以上の空き領域が,DBディレクトリ下のシステムディレクトリに存在することを確認してください。

    計算式

    [図データ]

    なお,ここでの「データベースの初期設定」とは,マルチノード機能を使用していない場合は,adbinitコマンドの実行を意味しています。マルチノード機能を使用している場合は,データベース作成時の「16.3.8 データベースの作成」の「(2) ノード切り替え対象のファイルシステムの初期化」で説明している作業の実行を意味しています。

[マルチノード機能]

マルチノード機能を使用する場合は,このオペランドは指定不要です。仮に指定値として有効な値を指定しても,プライマリノードおよびセカンダリノードでは,このオペランドに0が指定されたと仮定されます。そして,プライマリノードおよび各セカンダリノードで必要なユーザログファイル数が自動計算されて,最も大きい値が有効となります。

ワーカーノードでは,このオペランドの指定値に関係なく,ユーザログファイルは2個生成されます。

[23] adb_log_usrfile_size = ユーザログファイルの初期化容量〔,ユーザログファイルの容量の縮小契機

ユーザログファイルの初期化容量とユーザログファイルの容量の縮小契機を指定します。

ユーザログファイルの初期化容量

〜〈整数〉((16〜1,048,576))《16》(単位:メガバイト)

ユーザログファイルの初期化容量をメガバイト単位で指定します。

このオペランドの指定値については,「6.12.2 ユーザログファイルの容量の求め方」を参照してください。

[マルチノード機能]
  • プライマリノードおよびセカンダリノードでは,プライマリノードおよび各セカンダリノードに指定したユーザログファイルの初期化容量のうち,最も大きい値が有効となります。

  • ワーカーノードでは,このオペランドの指定値に関係なく,ユーザログファイルの初期化容量は16メガバイトになります。

ユーザログファイルの容量の縮小契機

~〈整数〉((0,32~2,097,152))《ユーザログファイルの初期化容量×2》(単位:メガバイト)

ユーザログファイルの容量を縮小する契機をメガバイト単位で指定します。更新トランザクションの決着時,更新トランザクションが使用していたユーザログファイルの容量が,ここで指定した容量を超えている場合,ユーザログファイルを初期化容量に縮小します。通常は,このオペランドの指定は不要です。

規則を次に示します。

  • ユーザログファイルの容量の縮小契機0を指定した場合,ユーザログファイルの容量の縮小は行われません。

  • ユーザログファイルの容量の縮小契機ユーザログファイルの初期化容量」の場合,デフォルト値(ユーザログファイルの初期化容量×2)が仮定されます。

[マルチノード機能]
  • プライマリノードおよびセカンダリノードでは,プライマリノードおよび各セカンダリノードに指定したユーザログファイルの容量の縮小契機のうち,最も大きい値が有効となります。

  • 「有効となったユーザログファイルの容量の縮小契機<有効となったユーザログファイルの初期化容量」の場合,有効となったユーザログファイルの初期化容量の2倍の容量が,ユーザログファイルの容量の縮小契機として仮定されます。

  • プライマリノードおよび全セカンダリノードユーザログファイルの容量の縮小契機0を指定した場合,ユーザログファイルの容量の縮小は行われません。

  • ワーカーノードでは,このオペランドの指定値に関係なく,ユーザログファイルの容量の縮小契機は32メガバイトになります。

[24] adb_log_usrbuf_num = ユーザログバッファ面数

〜〈整数〉((64〜12,582,912))《64》

ユーザログファイルにアクセスするために使用するバッファの面数を指定します。

通常は,このオペランドの指定は不要です。指定値を大きくすると,ユーザログファイルへのアクセス速度が向上することがあります。

なお,HADBサーバは,ユーザログファイルごとにユーザログバッファを割り当てます。

[マルチノード機能]
  • プライマリノードおよびセカンダリノードでは,プライマリノードおよび各セカンダリノードに指定したユーザログバッファ面数のうち,最も大きい値が有効となります。

  • ワーカーノードでは,このオペランドの指定値に関係なく,ユーザログバッファ面数は64になります。

[25] adb_log_rec_msg_interval = データベースの回復処理の経過時間を示すメッセージの出力間隔

〜〈整数〉((0〜60))《5》(単位:分)

データベースの回復処理の経過時間を示すメッセージの出力間隔を,分単位で指定します。

通常は,このオペランドの指定は不要です。

データベースの回復処理時に,このオペランドの指定値に従って,次に示す2つのメッセージが出力されます。

KFAA81215-Iメッセージが出力されるケース

次のような処理が発生してデータベースの回復処理が開始された場合,このオペランドの指定値に従って,データベースの回復処理の経過時間を示すKFAA81215-Iメッセージが,一定の間隔で出力されます。

  • HADBサーバの再開始処理

  • トランザクションのロールバック処理

例えば,このオペランドに3を指定した場合,データベースの回復処理が開始されてから3分が経過するたびにKFAA81215-Iメッセージが出力されます。KFAA81215-Iメッセージの内容を確認することで,データベースの回復処理に関する進捗状況を把握できます。

KFAA81211-Iメッセージが出力されるケース

データベースの回復処理中に,回復処理に時間が掛かったトランザクションが存在する場合は,KFAA81211-Iメッセージも出力されます。

例えば,このオペランドに3を指定した場合,1つのトランザクションの回復処理が3分以上掛かったときに,そのトランザクションの回復処理が終了するときにKFAA81211-Iメッセージが出力されます。KFAA81211-Iメッセージには,そのトランザクションの回復処理に関する情報が出力されます。この出力情報を,トランザクションの回復処理に時間が掛かった原因の判断材料の1つにしてください。

なお,このオペランドに0を指定した場合は,KFAA81211-Iメッセージ,およびKFAA81215-Iメッセージは出力されません。