Hitachi

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


16.2.6 コマンド実行時の作業用一時ファイルを格納するディスクの空き容量が不足した場合の対処方法

次に示すコマンドの実行中,-wオプションに指定したディレクトリに作業用一時ファイルが作成されます。

コマンドの実行中に,次に示すメッセージのどれかが出力された場合,作業用一時ファイルを格納するディスクの空き容量が不足したおそれがあります。

作業用一時ファイルを格納するディスクの空き容量が不足したかどうかは,メッセージに出力された内容から判断できます。詳細については,「(1) 作業用一時ファイルを格納するディスクの空き容量が不足しているかどうかを確認する方法」を参照してください。

作業用一時ファイルを格納するディスクの空き容量が不足した場合,次に示す原因が考えられます。該当する原因に従って,対処してください。

〈この項の構成〉

(1) 作業用一時ファイルを格納するディスクの空き容量が不足しているかどうかを確認する方法

作業用一時ファイルを格納するディスクの空き容量が不足しているかどうかを確認するには,出力されたメッセージの内容を確認してください。出力されたメッセージの内容が,次に示す表の内容に一致している場合,作業用一時ファイルを格納するディスクの空き容量が不足しています。

表16‒1 作業用一時ファイルを格納するディスクの空き容量が不足した場合に出力されるメッセージと,メッセージに出力される内容

項番

メッセージID

メッセージに出力される内容

ファイル名

エラーコード

エラー番号

1

KFAA30959-E

ファイル名※1

28(ENOSPC)

2

KFAA40204-E

ファイルのパス名※2

3

KFAA40205-E

28(ENOSPC)

4

KFAA40207-E

-210または-230

5

KFAA40208-E

-210または-230

6

KFAA40214-E

28(ENOSPC)

7

KFAA41205-E

ファイルのパス名※2

28(ENOSPC)

8

KFAA41206-I

ファイルのパス名※2

28(ENOSPC)

(凡例)

−:該当するメッセージに,この内容は出力されません。

注※1

メッセージに出力されたファイル名のファイルが格納されているディレクトリを確認する必要があります。ファイルが格納されているディレクトリを確認する手順を次に示します。

  1. メッセージに出力されたファイル名のファイルを,OSのfindコマンドで検索してください。

    OSのfindコマンドの実行例を次に示します。

    ■OSのfindコマンドの実行例

    [図データ]

    [説明]

    メッセージに出力されたファイル名(xxxxx)を指定して,findコマンドを実行します。

  2. コマンドの実行結果で,ファイルが格納されているディレクトリが,各コマンドの-wオプションに指定したディレクトリに一致しているかどうかを確認してください。

    一致している場合は,作業用一時ファイルを格納するディスクの空き容量が不足しています。

注※2

メッセージに出力されたパス名から,ファイルが格納されているディレクトリを確認する必要があります。

パス名に含まれるディレクトリが,各コマンドの-wオプションに指定したディレクトリに一致しているかどうかを確認してください。

一致している場合は,作業用一時ファイルを格納するディスクの空き容量が不足しています。

メモ

コマンドの-wオプションに指定したディレクトリとは,次のどちらかを指します。

  • コマンドの-wオプションに指定したディレクトリ

  • コマンドの-wオプションに指定したディレクトリパスファイルに指定したディレクトリ

(2) ディスクに不要な作業用一時ファイルが残っている場合

不要な作業用一時ファイルを削除する必要があります。削除の手順を次に示します。

手順

  1. 再実行が必要なコマンドの有無を確認する

    -cオプションにtableを指定して,adbdbstatusコマンドを実行してください。コマンドの実行結果で,表のサマリ情報のRerun_command列に,再実行が必要なコマンド名が出力されます。なお,再実行が必要なコマンドがない場合は,Rerun_command列に何も出力されません。

    再実行が必要なコマンドがある場合は,手順2.に進んでください。再実行が必要なコマンドがない場合は,手順3.に進んでください。

    adbdbstatusコマンドについては,マニュアルHADB コマンドリファレンスadbdbstatus(データベースの状態解析)を参照してください。

  2. コマンドを再実行する

    手順1.で確認した,再実行が必要なコマンドを再実行してください。コマンドの再実行が正常終了すると,作業用一時ファイルが削除されます。このとき,手順3.の操作は不要です。

  3. 残っている作業用一時ファイルを削除する

    残っている作業用一時ファイルは,すべて不要なファイルです。OSのrmコマンドなどを実行して,不要なファイルを削除してください。

(3) 作業用一時ファイルを格納するディスク容量が小さい場合(adbimportコマンドまたはadbidxrebuildコマンドが中断したとき)

作業用一時ファイルを格納するディスク容量が小さい場合,作業用一時ファイルの格納先を,容量が大きい別のディスクに変更する必要があります。ここでは,中断したコマンドが,adbimportコマンドまたはadbidxrebuildコマンドのときの,作業用一時ファイルの格納先を変更する方法を説明します。

中断したコマンドがadbmergechunkコマンド,adbunarchivechunkコマンドまたはadbreorgsystemdataコマンドのときの,作業用一時ファイルの格納先を変更する方法については,「(4) 作業用一時ファイルを格納するディスク容量が小さい場合(adbmergechunkコマンド,adbunarchivechunkコマンドまたはadbreorgsystemdataコマンドが中断したとき)」を参照してください。

作業用一時ファイルの格納先を変更する方法の手順は,コマンドの-wオプションに指定したディレクトリを変更するかどうかによって異なります。コマンドの-wオプションに指定したディレクトリとは,次のうちどちらかを指します。

コマンドの-wオプションに指定したディレクトリを変更するとき,および変更しないときの手順をそれぞれ次に示します。

(a) コマンドの-wオプションに指定したディレクトリを変更するとき

手順

  1. コマンドの-wオプションに指定したディレクトリを変更する

    コマンドの-wオプションに指定したディレクトリを,容量が大きい別のディスクのディレクトリに変更してください。

    ディレクトリパスファイルに指定したディレクトリを変更する場合について,変更前および変更後のディレクトリパスファイルの指定例を次に示します。

    ■ディレクトリパスファイルの指定例(変更前)

    /mnt/disk1/xxxxx
    /mnt/disk2/yyyyy
    /mnt/disk3/zzzzz
    [説明]

    変更前のディレクトリパスファイルでは,容量不足のディスク('/mnt/disk1'〜'/mnt/disk3')のディレクトリを,作業用一時ファイルの格納先として指定しています。

    ■ディレクトリパスファイルの指定例(変更後)

    /mnt/largedisk1/xxxxx
    /mnt/largedisk2/yyyyy
    /mnt/largedisk3/zzzzz
    [説明]

    変更前に'/mnt/disk1'〜'/mnt/disk3'を指定していた個所に,容量が大きい別のディスク('/mnt/largedisk1'〜'/mnt/largedisk3')をそれぞれ指定して,作業用一時ファイルの格納先を変更します。

  2. adbidxrebuildコマンドを実行する

    -wオプションおよび--create-temp-fileオプションの両方を指定して,adbidxrebuildコマンドを実行してください。adbidxrebuildコマンドの指定形式については,マニュアルHADB コマンドリファレンスadbidxrebuild(インデクスの再作成)を参照してください。

(b) コマンドの-wオプションに指定したディレクトリを変更しないとき

手順

  1. 作業用一時ファイルを別のディレクトリにコピーする

    OSのcpコマンドなどで,コマンドの-wオプションに指定したディレクトリの直下に格納されているすべての作業用一時ファイルを,容量が大きい別のディスクのディレクトリにコピーしてください。

    ディレクトリパスファイルに指定したディレクトリの直下に格納されている作業用一時ファイルをコピーする場合について,ディレクトリパスファイルの指定例およびOSのcpコマンドの実行例を次に示します。

    ■ディレクトリパスファイルの指定例

    /mnt/disk1/xxxxx
    /mnt/disk2/yyyyy
    /mnt/disk3/zzzzz
    [説明]

    容量不足のディスク('/mnt/disk1'〜'/mnt/disk3')のディレクトリを,作業用一時ファイルの格納先として指定しています。

    ■OSのcpコマンドの実行例

    cp -R /mnt/disk1/xxxxx  /mnt/largedisk1/xxxxx
    cp -R /mnt/disk2/yyyyy  /mnt/largedisk2/yyyyy
    cp -R /mnt/disk3/zzzzz  /mnt/largedisk3/zzzzz
    [説明]

    容量不足のディスク('/mnt/disk1'〜'/mnt/disk3')のディレクトリに格納されている作業用一時ファイルを,容量が大きい別のディスク('/mnt/largedisk1'〜'/mnt/largedisk3')のディレクトリにコピーします。

  2. コマンドの-wオプションに指定したディレクトリを削除する

    コマンドの-wオプションに指定したディレクトリをOSのrmコマンドなどで削除してください。ディレクトリを削除する際の,OSのrmコマンドの実行例を次に示します。

    ■OSのrmコマンドの実行例

    rm  -r  /mnt/disk1/xxxxx
    rm  -r  /mnt/disk2/yyyyy
    rm  -r  /mnt/disk3/zzzzz
    [説明]

    容量不足のディスク('/mnt/disk1'〜'/mnt/disk3')のディレクトリを削除します。

  3. 容量が大きい別のディスクのディレクトリをリンク先とするシンボリックリンクを作成する

    OSのlnコマンドを実行して,容量が大きい別のディスクのディレクトリをリンク先に設定したシンボリックリンクを作成してください。このとき,シンボリックリンクのパス名として,コマンドの-wオプションに指定したディレクトリを指定します。シンボリックリンクを作成する際の,OSのlnコマンドの実行例を次に示します。

    ■OSのlnコマンドの実行例

    ln  -s /mnt/largedisk1/xxxxx  /mnt/disk1/xxxxx
    ln  -s /mnt/largedisk2/yyyyy  /mnt/disk2/yyyyy
    ln  -s /mnt/largedisk3/zzzzz  /mnt/disk3/zzzzz
    [説明]

    容量が大きい別のディスクのディレクトリ('/mnt/largedisk1/xxxxx'〜'/mnt/largedisk3/zzzzz')をリンク先に設定して,コマンドの-wオプションに指定したディレクトリ('/mnt/disk1/xxxxx'〜'/mnt/disk3/zzzzz')と同名のシンボリックリンク('/mnt/disk1/xxxxx'〜'/mnt/disk3/zzzzz')を作成します。

  4. 中断したコマンドを再実行する

    中断したadbimportコマンドまたはadbidxrebuildコマンドを再実行してください。ソート処理またはB-treeインデクスとテキストインデクスの作成処理から,コマンドの処理が再開されます。

    なお,コマンドの再実行後,KFAA50247-Eメッセージが出力された場合は,手順1.でコピーした作業用一時ファイルをすべて削除してください。そのあと,--create-temp-fileオプションを指定してadbidxrebuildコマンドを実行してください。

(4) 作業用一時ファイルを格納するディスク容量が小さい場合(adbmergechunkコマンド,adbunarchivechunkコマンドまたはadbreorgsystemdataコマンドが中断したとき)

作業用一時ファイルを格納するディスク容量が小さい場合,作業用一時ファイルの格納先を,容量が大きい別のディスクに変更する必要があります。ここでは,adbmergechunkコマンド,adbunarchivechunkコマンドまたはadbreorgsystemdataコマンドが中断したときの,作業用一時ファイルの格納先を変更する方法を説明します。

中断したコマンドがadbimportコマンドまたはadbidxrebuildコマンドのときの,作業用一時ファイルの格納先を変更する方法については,「(3) 作業用一時ファイルを格納するディスク容量が小さい場合(adbimportコマンドまたはadbidxrebuildコマンドが中断したとき)」を参照してください。

作業用一時ファイルの格納先を変更する方法の手順は,コマンドの-wオプションに指定したディレクトリを変更するかどうかによって異なります。コマンドの-wオプションに指定したディレクトリとは,次のうちどちらかを指します。

コマンドの-wオプションに指定したディレクトリを変更するとき,および変更しないときの手順をそれぞれ次に示します。

(a) コマンドの-wオプションに指定したディレクトリを変更するとき

手順

  1. コマンドの-wオプションに指定したディレクトリを変更する

    コマンドの-wオプションに指定したディレクトリを,容量が大きい別のディスクのディレクトリに変更してください。

    ディレクトリパスファイルに指定したディレクトリを変更する場合,ディレクトリパスファイルの指定例については,「(3) 作業用一時ファイルを格納するディスク容量が小さい場合(adbimportコマンドまたはadbidxrebuildコマンドが中断したとき)」を参照してください。

  2. 中断したコマンドを再実行する

    中断したコマンド(adbmergechunkコマンド,adbunarchivechunkコマンドまたはadbreorgsystemdataコマンド)を再実行してください。

(b) コマンドの-wオプションに指定したディレクトリを変更しないとき

手順

  1. 容量が大きい別のディスクのディレクトリをリンク先とするシンボリックリンクを作成する

    OSのlnコマンドを実行して,容量が大きい別のディスクのディレクトリをリンク先に設定したシンボリックリンクを作成してください。このとき,シンボリックリンクのパス名として,コマンドの-wオプションに指定したディレクトリを指定します。

    OSのlnコマンドの実行例については,「(3) 作業用一時ファイルを格納するディスク容量が小さい場合(adbimportコマンドまたはadbidxrebuildコマンドが中断したとき)」を参照してください。

  2. 中断したコマンドを再実行する

    中断したコマンド(adbmergechunkコマンド,adbunarchivechunkコマンドまたはadbreorgsystemdataコマンド)を再実行してください。