どの再初期化手法でも不要なデータがコピーされます。たとえば、削除された値または状態情報を保持する値を含むデータや、その他の履歴データなどです。この不要なデータのために、ディスク上のエントリが大きくなります。また、エントリの状態情報の削除が必要になることもあります。レプリケーションの問題の根本原因が、この状態情報に関連している場合は、データが引き続きデータベース内に存在しているため、別のレプリケーションエラーの原因になる可能性があります。この不要で疑わしいデータをインポートすることを避けるために、トポロジのクリーンな再初期化を実行できます。
クリーンな再初期化を実行する際、より小さいデータベース、インデックス、および空の更新履歴ログを含むデータのクリーンなマスターコピーを作成します。クリーンな再初期化では、データベースファイルのバックアップコピーを作成しないため、ディスクスペースの消費が少なく、処理に要する時間も少なくなります。さらに、パフォーマンス低下の原因になり得るインデックスの断片化も減少します。ただし、データベースファイルを一貫した状態に保つため、クローン作成の対象となるサーバーを停止する必要があります。
マスターサーバーを停止します。
dsadm コマンドを使用して、データベースの内容をエクスポートします。
-Q オプションを使用して、レプリケーション情報をエクスポートから除外します。
# dsadm export -Q instance-path suffix-DN /tmp/clean-export.ldif |
dsadm コマンドを使用して、エクスポートしたデータを同じマスターサーバーに再インポートします。
# dsadm import instance-path /tmp/clean-export.ldif suffix-DN |
マスターサーバーを再起動します。
これで、マスターサーバーに含まれるデータはクリーンになりました。つまり、より小さいデータベース、インデックス、および空の更新履歴ログがマスターサーバーに含まれています。
クリーンなマスターデータを、システム内のほかのすべてのサーバーにインポートします。
「再初期化の手法の概要」で説明した 3 つの手法のいずれかを使用します。
マスターサーバーを停止します。
db2ldif スクリプトを -r オプションを指定せずに実行して、データベースの内容をエクスポートします。
# db2ldif -n database1 -a /tmp/clean-export.ldif |
ldif2db スクリプトを使用して、エクスポートしたデータを同じマスターサーバーに再インポートします。
# ldif2db -n database1 -i /tmp/clean-export.ldif |
マスターサーバーを再起動します。
これで、マスターサーバーに含まれるデータはクリーンになりました。つまり、より小さいデータベース、インデックス、および空の更新履歴ログがマスターサーバーに含まれています。
クリーンなマスターデータを、システム内のほかのすべてのサーバーにインポートします。
「再初期化の手法の概要」で説明した 3 つの手法のいずれかを使用します。