ライブラリー削除 (DLTLIB)

実行可能場所: すべての環境 (*ALL)
スレッド・セーフ: 条件付き
パラメーター

エラー・メッセージ

ライブラリー削除(DLTLIB)コマンドでは,指定したライブラリーの中のすべてのオブジェクトを削除してから,そのライブラリーをシステムから削除します。削除されるライブラリーにオブジェクトが入っている場合は,このコマンドはまずオブジェクトをすべて削除してから,ライブラリーを削除します。

ライブラリー内のすべてのオブジェクトを削除する権限がない場合には,権限のあるオブジェクトだけが削除されます。この場合には,ライブラリーおよびライブラリーの中のその他のオブジェクトは,いずれも変更されないまま残ります。ライブラリー中のオブジェクトが使用中である(別のスレッドまたはジョブによってロックされている)場合には,そのオブジェクトは削除できません。

ライブラリーが損傷している場合には,損傷を解消しないで,削除することはしないでください。ほとんどの場合,初期プログラム・ロード(IPL)手順を開始してユーザー・ライブラリー(QGPLライブラリーを含む)を再ビルドすることにより,損傷を解決できます。それでもまだ損傷がある場合には,ライブラリーを削除してください。損傷したライブラリーの代わりにそのライブラリーの保存済みバージョンを復元するか,またはそのライブラリーを再作成することができます。

削除しているライブラリーが現在ジャーナル処理されている場合には,変更を記録するジャーナルに項目が保管されます。

ライブラリー記述の表示(DSPLIBD)コマンドを使用して,ライブラリーのジャーナル情報を表示してください。ライブラリーのジャーナル処理の詳細については,ライブラリーのジャーナル開始(STRJRNLIB)コマンドを参照してください。

注: ジャーナル処理に関する詳細は,IBM i Information Center(http://www.ibm.com/systems/i/infocenter/)の「ジャーナル管理」トピック・コレクションを参照してください。

制約事項:

  1. ライブラリーを削除するためには,指定したライブラリーに対する使用(*USE)およびオブジェクト存在(*OBJEXIST)権限,およびそこに入っているすべてのオブジェクトに対する*OBJEXIST権限が必要です。ライブラリーに対する*OBJEXIST権限がない場合には,何も削除されません。ライブラリー内の1つまたは複数のオブジェクトに対する*OBJEXIST権限がない場合には,それらのオブジェクトおよびライブラリーは削除されません。
  2. ライブラリーが現行スレッドのライブラリー・リスト内にある場合には,そのライブラリーを削除することはできません。
  3. システムで活動状態である1次スレッドのライブラリー・リストにライブラリーが入っている場合には,QLIBLCKLVLシステム値がそのライブラリー・リスト内のライブラリーをロックするように設定されていると,そのライブラリーは削除できません。
  4. このコマンドは,以下のライブラリーの削除には使用できません(ここで'XXXXX'は1次補助記憶域プール(ASP)の番号,'NNNN'は基本ユーザーASPあるいは1次または2次ASPの番号です)。
    • QQALIB
    • QRECOVERYまたはQRCYXXXXX
    • QSPLまたはQSPLNNNN
    • QSYSまたはQSYSXXXXX
    • QSYSCGI
    • QSYS2またはQSYS2XXXXX
    • QTEMP
    • SYSIBMまたはSYSIBXXXXX
    • SYSIBMADM
    • SYSPROC
    • SYSTOOLS
  5. QDOCライブラリーは,削除されると,次回のIPL時にもう一度作成されます。
  6. このコマンドは条件付きのスレッド・セーフです。次の制約事項が適用されます。
    • マルチスレッド・ジョブではこのコマンドは分散ファイルに対してスレッド・セーフではなく,タイプ*SNAのリレーショナル・データベースを使用する分散ファイルに対して正常に実行されません。

パラメーター

キーワード 記述 選択項目 ノーツ
LIB ライブラリー 名前 必須, 定位置 1
ASPDEV ASP装置 名前, *, *CURASPGRP, *SYSBAS オプショナル

ライブラリー (LIB)

削除されるライブラリーを指定します。

これは必須パラメーターです。

名前
削除されるライブラリーの名前を指定してください。

ASP装置 (ASPDEV)

削除されるライブラリーの記憶域が割り振られている補助記憶域プール(ASP)装置を指定します。このライブラリーがスレッドのライブラリー名スペースの一部でない場合には,必ず正しいライブラリーがライブラリー削除操作のターゲットになるようにするために,このパラメーターを指定しなければなりません。

*
現在,スレッドのライブラリー・ネームスペースの一部であるASPが,ライブラリーを見つけるために検索されます。これには,システムASP (ASP 1),すべての定義済み基本ユーザーASP (ASP 2から32),およびASPグループ内のすべての1次および2次ASP(スレッドがASPグループを持っている場合)が含まれます。
*CURASPGRP
スレッドがASPグループをもっている場合には,そのASPグループ内にある1次および2次ASPがライブラリーを見つけるために検索されます。システムASP (ASP 1)と定義済み基本ユーザーASP (ASP 2から32)は検索されません。
*SYSBAS
システムASP (ASP 1)とすべての定義済み基本ユーザーASP (ASP 2から32)が,ライブラリーを見つけるために検索されます。スレッドがASPグループを持っていても,1次および2次ASPは検索されません。
名前
ライブラリーを見つけるために検索される1次または2次ASP装置の名前を指定してください。この1次または2次ASPは活動化されていて(ASP装置をオンに変更することによって),「使用可能」の状況になっていなければなりません。システムASP (ASP 1)と定義済み基本ユーザーASP (ASP 2から32)は検索されません。

注: 特定の補助記憶域プール(ASP)装置名を指定するには,ASPグループ中の各ASP装置に対する*USE権限が必要です。


1:ライブラリーの削除

DLTLIB   LIB(W)

このコマンドは,ライブラリーWをそのすべてのオブジェクトが削除された後で削除します。ライブラリーWにオブジェクトがあり,そのすべてのオブジェクトを削除する権限がある場合には,ライブラリーWおよびそのすべてのオブジェクトが削除されます。すべてのオブジェクトを削除する権限がない場合には,権限のあるオブジェクトだけが削除され,ライブラリーは削除されません。

2:独立補助記憶域プール(ASP)中のライブラリーの削除

DLTLIB   LIB(INVENTORY) ASPDEV(SALES)

このコマンドは,SALESという名前の独立補助記憶域プール(ASP)にあるライブラリーINVENTORYをそのすべてのオブジェクトが削除された後で削除します。SALES ASPは活動化されて(ASP装置をオンに構成変更することによって),状況が「使用可能」になっていなければなりません。ライブラリーINVENTORYにオブジェクトがあり,そのすべてのオブジェクトを削除する権限がある場合には,ライブラリーINVENTORYおよびそのすべてのオブジェクトが削除されます。すべてのオブジェクトを削除する権限がない場合には,権限のあるオブジェクトだけが削除され,ライブラリーは削除されません。


エラー・メッセージ

*ESCAPE メッセージ

CPFA030
オブジェクトはすでに使用中である。
CPFB8ED
装置記述&1はこの操作には正しくありません。
CPF210D
ライブラリー&1は使用中である。
CPF2110
ライブラリー&1が見つかりません。
CPF2113
ライブラリー&1を割り振ることができない。
CPF2129
システム・ライブラリー&1の消去または削除が取り消された。
CPF2161
ライブラリー&1の一部のオブジェクトを削除することができない。
CPF2166
ライブラリー名&1は無効である。
CPF2167
ライブラリー&1は,ライブラリー・リストに入っているため,削除することができない。
CPF2168
ライブラリー&1は削除されなかった。
CPF218C
&1は1次または2次ASPではない。
CPF2182
ライブラリー&1の使用は認可されていない。
CPF8122
ライブラリー&4に&8の損傷がある。
CPF9814
装置&1が見つかりません。
CPF9825
装置&1は認可されていない。
CPF9833
*CURASPGRPまたは*ASPGRPPRIが指定されていて,スレッドにASPグループがない。