Oracle移行用のオブジェクトの選択

移行の作成の一環として、Oracle移行に含めるオブジェクトまたは除外するオブジェクトを指定できます。または、「選択したオブジェクト」メニュー・オプションを使用して、移行の作成後にオブジェクトを包含または除外する処理を実行することもできます。

移行を作成するときに、「選択したオブジェクト」タブの「詳細設定」でオブジェクトを選択するためのルールを指定します。

次のように、「拡張エディタの使用」トグルを選択して、一括で含めるオブジェクトまたは除外するオブジェクトを追加します。


schema_name1,object_name1,TABLE,EXCLUDE
schema_name2,object_name2,TABLE,EXCLUDE
schema_name3,object_name3,TABLE,EXCLUDE

前述の形式(カンマ区切り)に示すように、「オブジェクト所有者」「オブジェクト名」「オブジェクト・タイプ」およびアクション(「含める」または「除外」)をリストして、含めるオブジェクトまたは除外するオブジェクトをすべて追加します。

レプリケーションから表を除外するには、次のカンマ区切りの形式で情報を入力します。

schema_name1,object_name1,TABLE,EXCLUDE,EXCLUDEFROMREPLICATION
ノート

拡張エディタで:
  • 包含/除外定義ごとに各項目を区切るには、カンマ区切り文字(、)を使用します。
  • スキーマ名またはオブジェクト名に名前の一部としてカンマ(、)文字が含まれている場合は、エスケープ文字(\)を使用します。
  • スキーマ名またはオブジェクト名にマルチバイト文字(Unicode)名を追加できます。たとえば、ƹ ƿschema,DŽobject,TABLE,EXCLUDEです。
  • 最大入力サイズは500KBです。

あるいは、「アクション」リストから「含める」または「除外する」を選択して、指定したデータベース・オブジェクトを移行に含めるか除外するかを指定できます。移行にオブジェクトを含めること、または除外することができますが、両方はできません。

ルールが定義されていない場合、ソース・データベースのすべてのスキーマおよびオブジェクトが移行されますが、例外は後述のデフォルトで除外されるオブジェクトおよびスキーマで説明されています。

「含める」ルールを指定した場合、移行では、指定したオブジェクトとその依存オブジェクトのみが移動され、他のすべてのオブジェクトは自動的に除外されます。

「除外する」ルールを指定した場合、移行では、指定したオブジェクトとその依存オブジェクトが除外され、他のすべてのオブジェクトは移行に含まれます。

ルールを作成するには、次の各フィールドに値を入力します:

  • 「オブジェクト所有者」には、選択したデータベース・オブジェクトの所有者を指定します。「含める」ルールを使用する場合、すべてのルールで所有者が同じである必要があり、ワイルド文字は使用できません。

  • 「オブジェクト名」には、選択したデータベース・オブジェクトの名前を指定します

  • 「オブジェクト・タイプ」には、選択したデータベース・オブジェクトのタイプを指定します。「すべて」を選択すると、すべてのタイプのオブジェクトを選択できます。

  • レプリケーションのみ: このトグルは、レプリケーションから表を除外する場合に選択できます。このオプションは、アクションが「除外」で、「オブジェクト・タイプ」「TABLE」の場合に有効になります。これにより、Oracle GoldenGateでサポートされていないROWID列などのオブジェクト・タイプは、オンライン移行中にレプリケートされません。
    ノート

    これにより、レプリケーションから表が除外されますが、これらの表はターゲット・データベースに2回移行されます。初期ロード中に1回、スイッチオーバー・フェーズ中に別のロードを実行します。Data Pumpのエクスポートおよびインポートは、レプリケーションの一部ではなかったこれらの表に対して再実行(再ロード)され、ターゲット上のこれらの表がソースで最新になります。

「オブジェクト所有者」および「オブジェクト名」フィールドは、JavaクラスPattern内の任意の有効なパターンを使用してフィルタできます。たとえば、「オブジェクト名」フィールドに.*と入力すると、すべての名前のオブジェクトを選択できます。

移行に含まれるオブジェクトも、初期負荷のジョブ・モードの影響を受けます(Oracle移行の初期ロード拡張のオプションの構成を参照)。

次の制限に注意してください:

  • 指定したスキーマ内のオブジェクトを除外したときに、別のスキーマに同じ名前のオブジェクトが存在し、そのスキーマも移行の一部である場合、それらのオブジェクトは除外されません(つまり、ルールは無視されます)。除外は、別の移行にスキーマを移行することによって実現できます。

  • フル・ジョブ・モードで「含める」ルールを作成する場合、スキーマレベル・ルール(オブジェクト名は「.*」であり、オブジェクト・タイプは「すべて」)のみが許可されます。

  • 「含める」ルールのオブジェクト名に.*がある場合、同じオブジェクト・タイプに対する他のルールは許可されません。ルールにオブジェクト・タイプとしてALLがある場合、どのタイプでも他のルールは許可されません。

  • オブジェクト・タイプALLは、スキーマレベルのルール(オブジェクト名は.*)にのみ使用できます。

  • オブジェクト所有者パターンが.*以外のルールを定義し、オブジェクト名が.*の場合、オブジェクト型TABLEは許可されません。

  • オブジェクトレベルのルール(オブジェクト名は.*以外の任意のパターン)は、DIRECTORYFUNCTIONJOBMATERIALIZED_VIEWPACKAGEPROCEDURETRIGGERSEQUENCETABLEのオブジェクト・タイプにのみ使用できます。他のすべてのオブジェクト・タイプは、「オブジェクト名」に「.*」パターンを使用して含めるか除外する必要があり、除外する場合はさらに「所有者」を「.*」にする必要があります

例1: スキーマMySchemaのすべてのオブジェクトを含める

アクション = 含める

オブジェクト所有者 オブジェクト名 オブジェクト・タイプ
MySchema .* ALL

例2: スキーマMySchemaのPRODから始まるすべての表およびプロシージャMYPROC(すべての依存オブジェクトを含む)を含めます。

アクション = 含める

オブジェクト所有者 オブジェクト名 オブジェクト・タイプ
MySchema PROD.* TABLE
MySchema MYPROC PROCEDURE

例3: Experimentalで始まるスキーマ、表MySchema.OldTable (すべての依存オブジェクトを含む)、およびタイプDB_LINKのすべてのオブジェクトを除外します。

OldTableという表が別のスキーマ(これも移行される)に存在する場合、MySchema.OldTableは除外されません。

アクション = 除外する

オブジェクト所有者 オブジェクト名 オブジェクト・タイプ
Experimental.* .* ALL
MySchema OldTable TABLE
.* .* DB_LINK

デフォルトで除外されたオブジェクトとスキーマ

次のオブジェクト・タイプは常に除外されます:

  • GoldenGate管理者: DBA_GOLDENGATE_PRIVILEGESで識別され、ggadminおよびc##ggadminユーザーを含みます

  • ターゲットがAutonomous Data Warehouse共有インフラストラクチャの場合: CLUSTERDB_LINKINDEXTYPESTATISTICS

  • ターゲットがAutonomous Data Warehouse専用インフラストラクチャ、Autonomous Transaction Processing共有または専用インフラストラクチャの場合: CLUSTERDB_LINKSTATISTICS

  • その他のすべてのターゲット: STATISTICS

次のスキーマは、デフォルトでは除外されています:

  • スキーマは、ソースまたはターゲット・データベースのSYS.DBA_USERSORACLE_MAINTAINEDとマークされます

  • スキーマは、ソース・データベースのSYS.KU_NOEXP_VIEWでエクスポートから除外としてマークされます

  • スキーマGGADMINおよびC##GGADMIN