次の方法で共有


Oracle パブリッシャーの管理上の考慮事項

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 パブリッシングの概要