レコードやワークスペース項目など、データベース オブジェクトのマスターシップを変更すると、環境内のユーザーの要求の変化に対応することができます。
オブジェクトのマスターシップを転送するには、chmaster コマンド、または GUI を使用します。
マスターシップは、以下の場合に変更できます。
- 別の複製のユーザーに、レコードの変更や、自分の複製によってマスター登録されたクエリーの公開を許可する場合
- 別の複製によってマスター登録されたユーザー情報を変更する場合
- 複製を廃棄中に、この複製によってマスター登録されたすべてのオブジェクトのマスターシップを、残りの複製の 1 つに転送する必要がある場合
マスターシップの変更は、標準同期メカニズムを使用して、複製間で通信されます。
マスターシップを変更する一般的な手順は、以下のとおりです。
- マスター複製で、1 つ以上のオブジェクトのマスターシップを別の複製に変更します。
- 旧マスター複製で、更新パケットを旧マスター複製から新マスター複製にエクスポートします。
- 新マスター複製で、更新パケットをインポートします。
マスターシップ変更を含む更新パケットが新しいマスター複製にインポートされるまで、マスターシップ変更はパケットにのみ格納されます。データベース ファミリー内の複製ごとに、オブジェクトをマスター登録する複製に関する情報は異なります。
たとえば、
sanfran_hub 複製の管理者は、ユーザー グループ
QA_ENGINEERING のマスターシップを
bangalore 複製に転送し、更新パケットをエクスポートします。
この時点で、以下の状態になります。
- sanfran_hub 複製は、ユーザー グループが bangalore によってマスター登録されるとみなします。
- bangalore 複製は、ユーザー グループが sanfran_hub によってマスター登録されるとみなします。
- どの複製のユーザーも、ユーザー グループを変更できません。
bangalore で更新パケットをインポートして、マスターシップ転送を完了した場合は、bangalore のユーザーはユーザー グループ QA_ENGINEERING を変更できます。
マスターシップを変更する場合の考慮事項
ファミリーに読み取り専用複製、または片方向複製 (更新パケットをインポートするが、エクスポートしない複製) が含まれている場合は、これらの複製にマスターシップを転送する際に慎重に行ってください。
オブジェクトのマスターシップを読み取り専用複製または片方向複製に設定した場合は、ファミリーの同期パターンを変更しないかぎり、オブジェクトのマスターシップを変更できません。
サイトで逆の変更を行って、サイトのマスターシップ変更を元に戻すことはできません。