Hitachi

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


15.4.1 RDエリアを再初期化する前に

〈この項の構成〉

(1) 再初期化できるRDエリア

再初期化できるRDエリアを次に示します。

(2) RDエリアを再初期化するときは?

次の場合にRDエリアを再初期化します。

  1. 表の行数が増加してデータが格納できなくなった場合

  2. HiRDBファイルの構成(個数,及び一つのHiRDBファイルの容量)を変更する場合

  3. HiRDBファイルの構成(HiRDBファイルの名称)を変更する場合

(3) 注意事項

  1. 再初期化の前後に再初期化対象RDエリアのバックアップを取得してください。再初期化後にRDエリアの障害が発生すると,再初期化以前に取得したバックアップからは回復できません。

  2. RDエリアを再初期化するとRDエリア中のデータが消去されます。このため,データベース再編成ユティリティ(pdrorgコマンド)を使用してデータをアンロードしておいてください。

  3. 再初期化するRDエリアはpdholdコマンドで閉塞かつクローズ状態にしてください。

  4. HiRDBファイル数を増やす場合はpd_max_file_noオペランドの値に注意してください。RDエリアを構成する全HiRDBファイル数がこのオペランドの値を超える場合はRDエリアを追加できません。

  5. ユーザLOB用RDエリアを再初期化した場合,LOB列構成基表のデータは消去されないでそのまま残ります。LOB列は長さが0のデータとして扱われます。

  6. ストアドプロシジャのオブジェクト格納用のデータディクショナリLOB用RDエリアを再初期化した場合は,ALTER PROCEDURE ALLですべてのSQLオブジェクトを再作成してください。

  7. リスト用RDエリアを再初期化すると,リスト用RDエリア内のリストはすべて削除されます。したがって,絞込み検索をする場合はASSIGN LIST文で再度リストを作成してください。

  8. リスト用RDエリアに対してはデータベース再編成ユティリティ(pdrorgコマンド)を実行できません。

  9. 改竄防止表を格納したRDエリアは再初期化できません。

  10. データディクショナリLOB用RDエリア(オブジェクト格納用)を再初期化する場合は,ディクショナリ表のSQL_DIV_COLUMN表を検索し,データディクショナリLOB用RDエリア名を確認する必要があります。検索例を次に示します。

    例題

       SELECT RDAREA_NAME FROM MASTER.SQL_DIV_COLUMN
          WHERE TABLE_SCHEMA='HiRDB'
            AND TABLE_NAME='SQL_ROUTINES'
            AND COLUMN_NAME='ROUTINE_OBJECT'
  11. サーバ内分割表に対してRDエリア単位にデータベース再編成ユティリティ(pdrorg)を実行する場合,処理対象のRDエリアだけではなく,表及びインデクスにも排他が掛かります(詳細については,マニュアル「HiRDB コマンドリファレンス」の「ユティリティの排他制御モード」を参照してください)。また,pdmodコマンドで再初期化(initialize rdarea文)を実行する場合,処理対象のRDエリア及び表に排他モード(EX)の排他が掛かります。そのため,再編成中でないRDエリアに対して再初期化を実行しても排他エラーとなることがあります。例えば,RDエリアR1,R2,及びR3に横分割表T1が格納されていたとします。R1に対して再編成を実行しているときに,R2に対して再初期化を実行すると排他エラーとなります。

    このような場合はinitialize rdarea文にwithout lock tableオペランドを指定して再初期化を実行してください。without lock tableオペランドを指定するとpdmodコマンドは処理対象の表に排他を掛けなくなるため,再編成と再初期化を同時に実行できます。without lock tableオペランドの詳細は,マニュアル「HiRDB コマンドリファレンス」の「RDエリアの再初期化」を参照してください。

(4) レジストリ用RDエリア又はレジストリLOB用RDエリアを再初期化する場合