Oracle パブリッシャーを構成し、レプリケーション変更追跡メカニズムを設定した後も、Oracle データベース システムの管理者は標準の Oracle データベース ユーティリティを使用して、一般的なシステム管理タスクを実行できます。 ただし、特定の管理タスクを実行した場合のパブリッシュされたデータへの影響に注意する必要があります。
レプリケーション用にパブリッシュされた列を削除または変更したり、レプリケーション オブジェクトを削除または変更したりする場合を除き、これらの考慮事項はスナップショット パブリケーションには適用されません。
データのインポートと読み込み
トリガーは、Oracle 上のトランザクション パブリケーションの変更追跡で使用されます。 パブリッシュされたテーブルに対する変更は、更新、挿入、または削除が発生したときにレプリケーショントリガーが発生した場合にのみ、サブスクライバーにレプリケートできます。 Oracle ユーティリティの Oracle Import と SQL*Loader には、両方とも、これらのユーティリティを使用してレプリケートテーブルに行が挿入されたときにトリガーが起動するかどうかに影響するオプションがあります。
Oracle インポート
Oracle Import では、 オプション ignore を 'y' または 'n' に設定できます (既定値は 'n' です)。 ignore が 'n' に設定されている場合、テーブルは削除され、インポート中に再作成されます。 これにより、レプリケーション トリガーが削除され、レプリケーションが無効になります。 ignore が 'y' に設定されている場合、インポートによって既存のテーブルに行が読み込まれ、レプリケーション トリガーが起動されます。 そのため、インポート ツールを使用してレプリケート テーブルにインポートする場合は、 無視 が 'y' に設定されていることを確認してください。
SQL*Loader
SQL*Loader では、 オプションダイレクト を 'true' または 'false' に設定できます (既定値は 'false' です)。 direct を 'false' に設定すると、レプリケーション トリガーを起動する従来の INSERT ステートメントを使用して行が挿入されます。 direct が 'true' に設定されている場合、負荷は最適化され、トリガーは起動されません。 したがって、SQL*Loader ツールを使用してレプリケートテーブルに読み込むときは、 direct が 'false' に設定されていることを確認してください。
パブリッシュされたオブジェクトに変更を加える
次のアクションでは、特別な考慮事項は必要ありません。
パブリッシュされたテーブルのインデックスの再構築。
パブリッシュされたテーブルへのユーザー トリガーの追加。
次のアクションでは、パブリッシュされたテーブルのすべてのアクティビティを停止する必要があります。
- パブリッシュされたテーブルの移動。
次のアクションでは、パブリケーションを削除し、操作を実行してから、パブリケーションを再作成する必要があります。
パブリッシュされたテーブルの切り捨て。
パブリッシュされたテーブルの名前を変更する。
パブリッシュされたテーブルへの列の追加。
レプリケーション用に発行された列を削除または変更する。
ログに記録されていない操作の実行。
レプリケーション オブジェクトの削除または変更
パブリッシャー レベルの追跡テーブル、トリガー、シーケンス、またはストアド プロシージャを削除または変更する場合は、パブリッシャーを削除して再構成する必要があります。 これらのオブジェクトの一覧の一部については、「 Oracle パブリッシャーで作成されたオブジェクト」を参照してください。
パブリッシャーの削除と再構成の詳細については、「Oracle パブリッシャーのトラブルシューティング」の「パブリッシャーの再構成が必要な変更」セクション を参照してください。
こちらもご覧ください
Oracle パブリッシャーの構成]
Oracle パブリッシャーの設計上の考慮事項と制限事項
Oracle パブリッシングの概要