テーブルの再編成 (ttaad4225m000)

セッションの目的:  データとインデックスを再作成し、参照整合性をチェックして再作成します。

データとインデックスの再作成

データとインデックスの再作成は、テーブルで多数の削除処理が実行されたときに役に立ちます。このオプションを使用するには、データとインデックスチェックボックスをオンにします。データは、一時的に順編成ダンプファイルに保存されます。この後、データとインデックスが再作成されます。

参照整合性のチェックと再作成

テーブルフィールドには、別のテーブルに対する参照が含まれることがあります。たとえば、材料費 (tpppc211) テーブルの 「請求元取引先」 (ifbp) フィールドは、取引先 (tccom100) テーブルを参照します。取引先を削除しようとすると、システムはその取引先が他のテーブルで使用されているかどうかをチェックします。これは、該当の取引先の参照カウンタをチェックして実行されます。参照カウンタがゼロの場合、該当のレコードはどこにも使用されておらず、削除できます。このセッションでは、これらの参照カウンタの修復、参照整合性のチェック、および未定義参照のヌル化を実行できます。詳細については、フィールドヘルプを参照してください。

たとえば、参照整合制約を無視するチェックボックスをオンにして順編成ダンプからのテーブルの作成 (ttaad4227m000) セッションを実行した後は、参照カウンタを修復する必要があります。インポートプロセスでは、すべてのインポートされたレコードの参照カウンタはゼロに設定されます。この状況は適切ではありません。なぜなら、これではレコードが他のテーブルで使用されていても、削除できてしまうからです。カウンターを修復するには、参照カウンタを修復チェックボックスをオンにして現行セッションを実行する必要があります。

実行可能ファイル

このセッションの内部では、次の実行可能ファイルが使用されます。

  • bdbreconfig6.2 (-Z オプション): データとインデックスの再作成
  • refint6.2: 参照統合性のチェックおよび再作成

これらの実行可能ファイルの詳細については、u8172 を参照してください。

 

範囲指定
会社、パッケージ、テーブル
テーブルを再編成する範囲を入力します。会社番号またはテーブルを 1 つ入力することもできます。
オプション
データとインデックス
選択したテーブルのデータとインデックスを再作成するには、このチェックボックスをオンにします。これは、多数の削除処理が実行されたテーブルに対して役に立ちます。
注意
  • チェックボックスをオンにする場合、参照カウンタを修復もオンにします。パフォーマンス上の理由から、親の参照のみを修復もオンにします。
  • 選択したテーブルのデータが、順編成ダンプファイルに一時保存されます。この後、データとインデックスが再作成されます。この処理には時間がかかることがあります。
ダンプのパス
このチェックボックスがオンの場合、セッションの作業用ダンプファイルが保存されるディレクトリを指定できます。デフォルトは、$BSE/tmp です。
ダンプのパス
セッションの作業用ダンプファイルが保存されるディレクトリ。デフォルトは、$BSE/tmp です。
結果を出力 (bdbreconfig)
このチェックボックスがオンの場合、このセッションでは、各テーブルおよび会社について、再構成の結果を示すレポートを出力します。

レポートの各行のフォームは、次のとおりです。

<テーブル名><会社番号><スペース><状況コード><スペース><エラー><スペース><メッセージテキスト><改行>

次のテーブルに、使用される状況コードを示します。

状況コード説明
R0テーブルは正常に再構成されました。エラーフィールドの値は 0 です。または、テーブルが存在しない場合はエラーコード 506 が入ります。
R1再構成は失敗しました。エラーフィールドには、失敗の原因であるエラーのコードが入ります。
R2テーブルは正常に再構成されました。しかし、インデックスのいくつかが作成できませんでした。エラーフィールドには、エラーコード 114 が入ります。

 

エラーコードの詳細については、u8172 の第 6 章 「エラーコード」 を参照してください。

注意

データとインデックスチェックボックスがオンの場合だけ、このフィールドにアクセスできます。

インデックスのみの修正
選択したテーブルのインデックスを、削除してから再作成します。選択した会社のパッケージコンビネーションは、現行のパッケージコンビネーションと同じでなければなりません。[データとインデックス] と [インデックスのみの修正] のいずれかのチェックボックスのみ、オンにすることができます。

ログはログファイル ${BSE}/log/log.ttaad4225 内にあります。

足りないインデックスのみ作成
このチェックボックスがオンの場合、足りないインデックスが作成されます。既存のインデックスが削除されることや再作成されることはありません。存在しないインデックスが作成されるだけです。
データとインデックスの圧縮/解凍
このチェックボックスがオンの場合、データベースの圧縮されたデータまたはインデックスが解凍され、解凍されたデータまたはインデックスは圧縮されます。
注意

これには多くの時間がかかり、このときシステムはオフラインにします。そのため、このアクションを行う場合は注意深く計画を立ててください。セッションでテーブルとインデックスを新規で作成される際、テーブルとインデックスの圧縮状況も変化します。したがって処理には時間がかかります。

データとインデックスの圧縮/解凍オプションを使用して、既存のテーブルを圧縮/解凍することができます。圧縮オプションは、保存パラメータの最適化 (ttdba0132m000) セッションにも含まれています。このオプションは、新規テーブルの作成方法 (圧縮/非圧縮) を決めます。このオプションをオンにし、保存パラメータの最適化 (ttdba0132m000) セッションでランタイムへ変換が実行されると、圧縮オプションの新規テーブルが作成されます。

結果を出力 (bdbreconfig)
このチェックボックスがオンの場合、セッションが圧縮または非圧縮アクションの結果のレポートを出力します。
参照整合性
参照の正当性を検査
このチェックボックスがオンの場合、[参照の正当性を検査] が検査されます。未定義参照用ファイルフィールドで出力ファイルを指定できます。
参照カウンタを修復
参照整合性を保証するために、LN データベースは参照カウンタを保持しています。このカウンタは、レコードが親子関係の中で何回使用されたかを示します。親レコードは、参照カウンタがゼロの場合だけ削除できます。(参照カウンタは、関係の参照制御削除モードまたは参照制御更新モード制約(カウンタ付き) の場合だけ適用できます。

次の場合、これらの参照カウンタの修復が必要です。

  • 論理テーブル (ttaad4120m000) セッションで論理テーブル構造を変更した場合
  • 参照整合制約を無視するチェックボックスをオンにして、順編成ダンプからのテーブルの作成 (ttaad4227m000) セッションまたはテーブルの変換/復旧 (ttaad4228m000) セッションを実行した場合
  • 選択したテーブルのデータとインデックスの再作成後。このセッションでデータとインデックスチェックボックスをオンにする場合、参照カウンタを修復もオンにする必要があります。
親の参照のみを修復
このチェックボックスがオンの場合、セッションでは、範囲指定に含まれるテーブルの参照カウンタのみが修復されます。つまり、親テーブルの各レコードについて、関連する子テーブル内の対応レコードがカウントされ、その結果、親テーブルの参照カウンタが更新されます。

このチェックボックスがオフの場合、セッションでは、範囲指定に含まれるよりも多くのテーブルの参照カウンタが修復されます。つまり、範囲指定に含まれるテーブルの子テーブルが参照する、すべてのテーブルのカウンタが修復されます。たとえば、範囲指定に (親) テーブル A のみが含まれるとします。A は子テーブル B によって参照されます。しかし、B は別の親テーブル C も参照します。セッションは、親テーブル A および C の参照カウンタを修復します。詳細については、次の例を参照してください。

tttxt001 テーブルには多数の子テーブルがあります。その 1 つは材料費 (tpppc211) テーブルです。材料費テーブルには、tttxt001 (言語独立テキストデータ) だけではなく、さまざまな他のテーブル、たとえば tccom100 (取引先) に対する参照も含まれています。

  • 範囲指定が tttxt001 – tttxt001 であり、親の参照のみを修復チェックボックスがオンの場合、セッションでは tttxtt001 テーブルの参照カウンタのみを修復します。
  • 範囲指定が tttxt001 – tttxt001 であり、親の参照のみを修復チェックボックスがオフの場合、セッションでは tttxt001 および tttxt001 の子テーブルによって参照される他のすべてのテーブルの参照カウンタを修復します。たとえば、tccom100 のカウンタが修復されます。これは、tttxt001 の子テーブルである tpppc211 によって tccom100 が参照されているからです。
注意
  • 多くの LN テーブルには、複数の親テーブルに対する参照が含まれます。さらに、これらの親テーブルにも複数の親テーブルに対する参照が含まれます。このように、このチェックボックスをオフにしてカウンタを修復すると、非常に時間がかかる可能性があります。
  • このチェックボックスがオンの場合、 参照カウンタを修復チェックボックスはオフになり、このセッションは指定した親テーブルから直接の子テーブルへの参照の妥当性のみをチェックします。子テーブルから他の親テーブルへの関係はチェックされません。
  • このチェックボックスがオフの場合、 参照カウンタを修復チェックボックスはオフになり、このセッションは指定した親テーブルから直接の子テーブルへの参照の妥当性をチェックします。このセッションは、子テーブルから他の親テーブルへの関係もチェックします。
未定義参照用ファイル
このチェックボックスがオンの場合、未定義参照がファイルに記録されます。次のフィールドでファイル名を指定します。
未定義参照用ファイル
セッションの未定義参照が保存されるファイルの名前