プロシージャ・レプリケーションについて
Oracle GoldenGateプロシージャ・レプリケーションは、Oracle Databaseが提供するPL/SQLプロシージャをレプリケートするために使用され、これらの操作によって通常生成される大量レコードの送信および適用が回避されます。プロシージャ・レプリケーションにより、ユーザーとセッションの動作、およびディクショナリのオブジェクトの入替えを制御するディクショナリの変更が実装されます。
プロシージャ・レプリケーションはCREATE
、ALTER
およびDROP
文(DDL)のレプリケーションとは関係がなく、正確には次のようなプロシージャ・コールのレプリケーションです。
CALL procedure_name(arg1, arg2, ...);
次とは異なります:
exec procedure_name(arg1, arg2, ...)
プロシージャ・レプリケーションを有効にすると、1つのデータベースにおけるOracle Database提供パッケージのプロシージャ・コールが、1つ以上の他のデータベースにレプリケートされ、これらのデータベースで実行されます。たとえば、DBMS_REDEFINITION
パッケージのサブプログラムへのコールで、表のオンライン再定義を実行できます。いくつかのデータベースで表がレプリケートされているときに、各データベースの表に同じオンライン再定義を実行する必要がある場合、1つのデータベースでDBMS_REDEFINITION
パッケージのサブプログラムへのコールを実行すると、Oracle GoldenGateでこれらのコールを他のデータベースにレプリケートできます。
プロシージャ・レプリケーションをサポートするには、この最適化のために有効になっているプロシージャを識別できるようにOracle Databaseが構成されている必要があります。
プロシージャ・レプリケーションを使用するには、次の前提条件を満たす必要があります。
-
Oracle GoldenGateとともにExtractおよびReplicatが使用されている。
-
システムが提供するパッケージがDMLおよびDDLとの組合せのみで動作する。