データベース - IBM DB2 - トラブルシュート - 新規ページを割り振れません
- 1. 概要
- 2. 対処
1. 概要
プログラムから、テーブルへ「INSERT」しようとしたらこんなエラーが出ちゃいました。
メッセージが
[57011] [IBM][DB2/NT64] SQL0289N 表スペース "XXXX" の新規ページを割り振れません。
てな感じであります。
(参考サイトを掲載しておりましたが、リンク切れになってしまいました)
2. 対処
参考ページにそって対処してみたいと思います。
データベースサーバで、データベースに接続して、下記のコマンドを実行します。
db2 CONNECT TO データベース名
db2 LIST TABLESPACES SHOW DETAIL
そしたらば、ずらずらとこういうのが・・・。
はじめの方が
現在のデータベースの表スペース
表スペース ID = 0
名前 = SYSCATSPACE
タイプ = データベース管理スペース
内容 = すべての永続データ。 REGULAR 表スペース。
状態 = 0x0000
詳しい説明:
正常
合計ページ数 = 53248
使用できるページ数 = 53244
使用したページ = 52912
フリー・ページ = 332
最高水準点 (ページ) = 52912
ページ・サイズ (バイト) = 8192
エクステント・サイズ (ページ) = 4
プリフェッチ・サイズ (ページ) = 4
コンテナー数 = 1
表スペース ID = 1
名前 = TEMPSPACE1
タイプ = システム管理スペース
内容 = システム一時データ
状態 = 0x0000
詳しい説明:
正常
合計ページ数 = 1
使用できるページ数 = 1
使用したページ = 1
フリー・ページ = 適用外
最高水準点 (ページ) = 適用外
ページ・サイズ (バイト) = 8192
エクステント・サイズ (ページ) = 32
プリフェッチ・サイズ (ページ) = 32
コンテナー数 = 1
ずらずらと並んでいますが、ターゲットのテーブルスペースが、こんななってます。
表スペース ID = 9
名前 = xxxxxxxx_xx_DAT
タイプ = データベース管理スペース
内容 = すべての永続データ。 LARGE 表スペース。
状態 = 0x0000
詳しい説明:
正常
合計ページ数 = 4284416
使用できるページ数 = 4284384
使用したページ = 4284384
フリー・ページ = 0
最高水準点 (ページ) = 4284384
ページ・サイズ (バイト) = 8192
エクステント・サイズ (ページ) = 32
プリフェッチ・サイズ (ページ) = 32
コンテナー数 = 1
最小リカバリー時間 = 2021-01-27-06.14.27.000000
参考サイトには
このコマンドの出力には複数の項目が含まれる可能性が高いです。元のエラー・メッセージ内で示されていたテーブル・スペース名を探し、このテーブル・スペース内の「Type」項目を参照します。この項目列には、「SMS」の場合は「System managed space」、「DMS」の場合は「Database managed space」が表示されます。
テーブル・スペースが「SMS」の場合、ハード・ディスクが満杯です。データベースをバックアップし、容量がより大きいハード・ディスクに復元する必要があります。
テーブル・スペースが「DMS」の場合は、以下のコマンドを実行すれば、テーブル・スペース・コンテナーを拡張できます。以下のコマンドで、<tablespace_name> は元のエラー・メッセージで示されたテーブル・スペース名であり、<num_pages> は拡張するテーブル・スペース・コンテナーの「4K」ページ数です。
と書いてありますが、わたしの得た出力結果だと、「SMS」は「システム管理スペース」、「DMS」は「データベース管理スペース」と読み替えるべきでしょうな。
で、ターゲットは、「データベース管理スペース」で、フリーページが、「0」ですと。
確か、足りなくなったら自動で増やすモードだと思っていたのですが、どうも、ハードディスクの容量が、残り 数十 GB しかない。
理論上、増やせても物理的に足りておりませんな。
ディスクの交換を考えております・・・。
|
|