プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成
12c (12.2.0.1)
E70107-04
目次へ移動
目次

前
次

16.10 既存のDDL環境のクリーン状態への復元

Oracle GoldenGateのDDLオブジェクトを完全に削除してから再インストールするには、次の手順を実行します。この手順によって新しいDDL環境が作成されますが、現在のDDL履歴は削除されます。

注意:

この手順では、オブジェクトの相互依存性のため、すべてのオブジェクトを削除して再インストールする必要があります。

  1. Oracle GoldenGateの新しいバージョンのインストールと同時にこの手順を実行する場合、Oracle GoldenGateのファイルをダウンロードしてインストールし、必要に応じてプロセス・グループとパラメータ・ファイルを作成または更新します。
  2. (オプション)ソースおよびターゲットの構造の連続性を維持するには、DDLアクティビティを停止してからReplicatによって証跡内のDDLとDMLデータの処理が完了されていることを確認します。Replicatの終了時間を判断するには、処理するデータがこれ以上存在しないことを示すメッセージが表示されるまで次のコマンドを発行します。
    INFO REPLICAT group

    注意:

    INFO REPLICATを使用するかわりに、TABLEおよびMAPEVENTACTIONSオプションを使用して、DDLとDMLの処理後にExtractおよびReplicatのプロセスを停止できます。

  3. GGSCIを実行します。
  4. DDLキャプチャを停止するためにExtractを停止します。
    STOP EXTRACT group
    
  5. DDLレプリケーションを停止するためにReplicatを停止します。
    STOP REPLICAT group
    
  6. ディレクトリをOracle GoldenGateのインストール・ディレクトリに変更します。
  7. SYSDBA権限を持つユーザーとしてSQL*Plusにログインします。
  8. Oracle GoldenGateのプロセス、SQL*Plus、ビジネス・アプリケーションおよびOracleを使用するその他のソフトウェアのセッションなど、これまでDDLを発行したすべてのセッションを切断します。それを行わない場合、データベースでORA-04021エラーが生成される可能性があります。
  9. ddl_disableスクリプトを実行してDDLトリガーを無効にします。
  10. ddl_removeスクリプトを実行して、Oracle GoldenGate DDLトリガー、DDL履歴とマーカー表、およびその他の関連オブジェクトを削除します。デバッグで必要となる場合に備え、このスクリプトにより、スクリプト出力を記録するddl_remove_spool.txtファイルと、環境設定を記録するddl_remove_set.txtファイルが作成されます。
  11. marker_removeスクリプトを実行して、Oracle GoldenGateマーカー・サポート・システムを削除します。デバッグで必要となる場合に備え、このスクリプトにより、スクリプト出力を記録するmarker_remove_spool.txtファイルと、環境設定を記録するmarker_remove_set.txtファイルが作成されます。
  12. このインストール用のDDLスキーマを変更する場合、次の権限をOracle GoldenGateスキーマに付与します。
    GRANT EXECUTE ON utl_file TO schema;
    
  13. このインストール用のDDLスキーマを変更する場合、スキーマのデフォルト表領域をそのスキーマ専用にする必要があります。他のスキーマと共有することはできません。この表領域に対してAUTOEXTENDONに設定し、表領域のサイズをGGS_DDL_HIST表およびGGS_MARKER表の拡張に対応できるサイズに設定する必要があります。特に、GGS_DDL_HIST表はDDLアクティビティ全体に比例して増加します。

    注意:

    DDL表領域が一杯になると、ExtractはDDLのキャプチャを停止します。その場合にユーザーDDLアクティビティが失敗するようにするには、params.sqlスクリプトを編集してddl_fire_error_in_triggerパラメータをTRUEに設定します。ユーザーDDLを停止することで表領域のサイズを拡張する時間ができ、DDLキャプチャが失われることを防ぎます。ただし、表領域のサイズをこのように管理する場合、ビジネスの混乱を防ぐためにビジネス・アプリケーションとExtractを絶えず監視する必要があります。かわりに、表領域を適切なサイズに設定し、表領域が一杯にならないようにAUTOEXTENDONに設定することをお薦めします。

    警告:

    記載された手順に従ってオブジェクト名を変更する必要がある場合以外、params.sqlの他のパラメータを編集しないでください。

  14. このインストール用のDDLスキーマを変更する場合、GLOBALSファイルを編集し、次のパラメータに新規スキーマ名を指定します。
    GGSCHEMA schema_name
    
  15. marker_setupスクリプトを実行して、Oracle GoldenGateマーカー・サポート・システムを再インストールします。Oracle GoldenGateスキーマの名前を入力するよう求められます。
  16. ddl_setupスクリプトを実行します。Oracle GoldenGate DDLのスキーマ名の入力が求められます。
  17. role_setupスクリプトを実行して、Oracle GoldenGate DDLロールを再作成します。
  18. ロールを、Oracle GoldenGateプロセス(Extract、Replicat、GGSCIおよびManager)を実行するすべてのOracle GoldenGateユーザーに付与します。プロセスに異なるユーザー名がある場合、複数の付与が必要になることがあります。
  19. ddl_enable.sqlスクリプトを実行してDDLトリガーを有効にします。