JAVA/CORBA クラス


markForDelete メソッド

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

メモ このメソッドは 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 メソッド


関連項目