markForDelete (Database - Java™)

クラスタ内のサーバーから削除するデータベースにマークを付けます。

注: このメソッドは R6.5 で新しく追加されました。

定義位置

Database

構文

public void markForDelete()
    throws NotesException

使用法

データベースは、削除のマークが付けられると、データベースの新しいオープン要求を一切受け入れなくなります。すべてのアクティブなユーザーがデータベースでの作業を終了すると、クラスタマネージャは、すべての変更を別のレプリカに送信してから (別のレプリカがある場合)、そのデータベースを削除します。

古くなったデータベースを削除する場合、またはあるサーバーから別のサーバーにデータベースをコピーし、元のサーバーからそのデータベースを削除する場合に、このメソッドを使用してください。クラスタからデータベースとそのレプリカすべてを削除する場合は、各サーバーのデータベースごとに削除のマークを付ける必要があります。

このメソッドは元に戻せません。このメソッドを使用すると、データベースから削除のマークを削除することができなくなります。

このメソッドは、isPendingDelete を true に設定し、isInService を false に設定します。

このメソッドは、データベースがクラスタになければならないことで、remove メソッドとは異なります。データベースがクラスタ内のサーバー上に存在しない場合、このメソッドはエラーを返しませんが、データベースは削除されません。また、データベースが使用中だと remove メソッドは失敗します。markForDelete メソッドは現在のユーザーすべてが完了するまで待ち、その後データベースを削除します。クラスタマネージャは、クラスタ内で削除のマークが付けられたデータベースを削除する責任を持っており、Adminp タスクは呼び出されません。

cldbdir.nsf データベースを照会して、クラスタ内の他のサーバー上でデータベースが使用可能かどうかをプログラムで判別できます。Cldbdir.nsf データベースはすべてのクラスタにあり、クラスタ内のすべてのデータベースとそのレプリカの最新のリストを保持しています。また cldbdir.nsf データベースは、それぞれのデータベースの有効または無効ステータスをトラッキングします。

ドメイン全体からデータベースとそのレプリカをすべて削除する場合は、AdministrationProcess クラスの deleteReplicas メソッドを使用します。

このメソッドを実行するには、管理者アクセス権限が必要です。

クロスリファレンス

NotesDatabase クラスの MarkForDelete メソッド