クラスタ内のサーバーから削除するデータベースにマークを付けます。
public void markForDelete()
throws NotesException
データベースは、削除のマークが付けられると、データベースの新しいオープン要求を一切受け入れなくなります。すべてのアクティブなユーザーがデータベースでの作業を終了すると、クラスタマネージャは、すべての変更を別のレプリカに送信してから (別のレプリカがある場合)、そのデータベースを削除します。
古くなったデータベースを削除する場合、またはあるサーバーから別のサーバーにデータベースをコピーし、元のサーバーからそのデータベースを削除する場合に、このメソッドを使用してください。クラスタからデータベースとそのレプリカすべてを削除する場合は、各サーバーのデータベースごとに削除のマークを付ける必要があります。
このメソッドは元に戻せません。このメソッドを使用すると、データベースから削除のマークを削除することができなくなります。
このメソッドは、isPendingDelete を true に設定し、isInService を false に設定します。
このメソッドは、データベースがクラスタになければならないことで、remove メソッドとは異なります。データベースがクラスタ内のサーバー上に存在しない場合、このメソッドはエラーを返しませんが、データベースは削除されません。また、データベースが使用中だと remove メソッドは失敗します。markForDelete メソッドは現在のユーザーすべてが完了するまで待ち、その後データベースを削除します。クラスタマネージャは、クラスタ内で削除のマークが付けられたデータベースを削除する責任を持っており、Adminp タスクは呼び出されません。
cldbdir.nsf データベースを照会して、クラスタ内の他のサーバー上でデータベースが使用可能かどうかをプログラムで判別できます。Cldbdir.nsf データベースはすべてのクラスタにあり、クラスタ内のすべてのデータベースとそのレプリカの最新のリストを保持しています。また cldbdir.nsf データベースは、それぞれのデータベースの有効または無効ステータスをトラッキングします。
ドメイン全体からデータベースとそのレプリカをすべて削除する場合は、AdministrationProcess クラスの deleteReplicas メソッドを使用します。
このメソッドを実行するには、管理者アクセス権限が必要です。