16.7.3 データ用DBエリアを拡張できなくなった場合
ここでは,adbmodareaコマンドを使用して,既存のデータ用DBエリアを拡張できなくなった場合の対処方法について説明します。
1つのデータ用DBエリアを構成するデータ用DBエリアファイル数の上限は,1,024個です。上限を超えて,データ用DBエリアファイルを追加できません。
そのため,1,024個のデータ用DBエリアファイルで構成されているデータ用DBエリアの容量を拡張したい場合は,データ用DBエリアを再作成する必要があります。手順を次に示します。
-
表の全データを出力する
adbexportコマンドで,実表の全データを出力データファイルに出力してください。
-
表やインデクスを削除する
対象のデータ用DBエリアに定義されている実表やインデクス(B-treeインデクス,テキストインデクスおよびレンジインデクス)を削除します。
実表だけが定義されている場合,または実表とインデクスが定義されている場合は,DROP TABLE文で削除してください。DROP TABLE文を実行すると実表に定義されているインデクスもあわせて削除されます。インデクスだけが定義されている場合は,DROP INDEX文で削除してください。
-
データ用DBエリアを削除する
対象のデータ用DBエリアを,adbmodareaコマンドで削除してください。
-
新たにデータ用DBエリアを追加する
adbmodareaコマンドで,新たにデータ用DBエリアを追加してください。
その際,DBエリア追加・変更オプションのadbaddareaオペランドの-iオプションに指定する初期確保サイズ,および作成するデータ用DBエリアファイル数については,今後追加するデータ量を考慮して,十分な容量を指定してください。
-
表やインデクスを再定義する
手順2.で削除した実表やインデクスを,手順4.で新たに追加したデータ用DBエリアに,CREATE TABLE文やCREATE INDEX文で再定義してください。
-
出力した表の全データを再格納する
手順1.で出力した実表の全データを,手順5.で再定義した実表にadbimportコマンドで再格納してください。