パイプライン・リソースの作成
パイプラインの使用に必要なリソースの作成について学習します。
接続の作成
OCI GoldenGate Pipelinesは、Oracle AI Database接続をサポートしています。パイプラインを作成する前に、まずGoldenGateのデータベースを準備してから、ソース・データベースとターゲット・データベースへの接続を作成してください。
ノート: Autonomous AI DatabaseソースからAutonomous AI Database以外のターゲットにレプリケートする場合は、ソースAutonomous AI Databaseウォレットをターゲット・データベースの/u01/targetwalletに解凍する必要があります。DBLINKは、ターゲット・データベースからソース・データベースに作成されます。
「パイプラインの作成」ワークフローで接続ソースおよびターゲット接続を作成することもできます。
パイプラインの作成
始める前に:
次を確認します:
-
ソースおよびターゲット・データベースのバージョンを確認してください。ターゲット・データベースのバージョンは、ソース・データベースと同じかそれ以上のバージョンである必要があります。
-
ZeroETLミラー化での主キーの問題を回避するために、データベース表間の行の一意性をレビューおよび構成します。主キーは、データベース表のレコードまたは行を一意に識別します。「ソース表とターゲット表での行の一意性の保証」を参照してください。
-
ターゲット・データベースの管理権限を持つユーザーとして、GGADMINユーザーにZeroETLミラー化のための次の権限を付与します。
GRANT DWROLE TO GGADMIN; GRANT DATAPUMP_CLOUD_EXP TO GGADMIN; GRANT DATAPUMP_CLOUD_IMP TO GGADMIN; GRANT EXECUTE ON DBMS_CLOUD_ADMIN TO GGADMIN; GRANT CREATE DATABASE LINK TO GGADMIN;さらに、非Autonomous AIデータベースの場合、初期ロードに次を追加します:
GRANT DATAPUMP_EXP_FULL_DATABASE TO GGADMIN CONTAINER=CURRENT; GRANT DATAPUMP_IMP_FULL_DATABASE TO GGADMIN CONTAINER=CURRENT; GRANT CREATE DATABASE LINK TO GGADMIN CONTAINER=CURRENT;非Autonomous AIデータベースでの取得および適用については、「Oracleのデータベース・ユーザーおよび権限の準備」を参照してください。
-
データベース内の表に対するOracle GoldenGate取得プロセスのサポート・レベルに関する情報を表示する、ソース・データベースの
DBA_GOLDENGATE_SUPPORT_MODEビューを確認します。 -
GoldenGateパイプラインの最小限必要なポリシーを追加します。
ノート:
Autonomous AI Databaseから非Autonomous AI Databaseにデータをレプリケートする場合は、非Autonomous AI DatabaseでGLOBAL_NAMESをオフにする必要があります。次のコマンドを実行します:
ALTER SYSTEM SET GLOBAL_NAMES = FALSE;
詳細は、他のデータベースからAutonomous AIデータベースへのデータベース・リンクの作成のステップ4を参照してください。
パイプラインを作成するには:
-
OCI GoldenGateの概要ページの「GoldenGate」メニューで、「パイプライン」を選択します。
または、「データFabric」、「パイプラインの作成」の順に選択します。
-
「パイプライン」ページで、「パイプラインの作成」を選択します。
-
「パイプラインの作成」パネルでは、次のようにフィールドに入力します。「パイプラインの作成」を選択します:
-
「名前」に、パイプラインの名前を入力します。
-
(オプション)「説明」に、このパイプラインを他のパイプラインと区別するのに役立つ説明を入力します。
-
「コンパートメント」で、パイプラインを作成するコンパートメントを選択します。
-
ライセンス・タイプを選択します。
-
ドロップダウンからソース接続とターゲット接続を選択します。
ノート:
-
接続をまだ作成していない場合は、「接続の作成」を選択して開始します。
-
共有エンドポイントとの接続をソースまたはターゲットとして使用する場合は、サブネットも選択する必要があります。
-
-
(オプション)「拡張オプション」を展開して、プロセス・オプションを構成します:
-
進行中のレプリケーションの前に既存のデータをコピー: データの初期ロードを実行するには、このオプションを選択します。既存の表の場合、次の操作を選択できます。
-
切捨て: 既存の行が削除された後、ソースから行をロードします。
-
置換: 既存の表の削除後、ソースから作成およびロードします。
-
追加: 既存の行を変更せずに残し、ソースから行をロードします。
-
スキップ: 表はそのままにして、次のオブジェクトに移動します。
-
-
初期ロード・タイプ: 進行中のレプリケーションを開始する前に、完全なデータセットをソースからターゲットに転送する方法を選択します:
-
データベース・リンク: 中間記憶域を使用せずに、確立されたデータベース・リンクを使用して、ソース・データベースからターゲット・データベースにデータを直接転送します。同じネットワークに配置されているデータベース、または安定した高速リンクを介して接続されているデータベースに最適です。
-
オブジェクト・ストレージ: ターゲット・データベースにインポートする前に、Oracle Object Storageの初期ロード・データをステージングします。異なるリージョンまたは環境間で大量のデータが関与する移行に最適です。
-
-
スキーマ変更の置換(DDL): 選択すると、プロセスでエラーが発生したときに既存のスキーマに対して実行するアクションを選択します。
-
終了: トランザクションをロールバックして処理を停止します。
-
破棄: 破棄ファイルにエラーを記録して処理を継続します。
-
無視: エラーを無視して処理を続行します。
-
-
DMLエラー時のアクション: プロセスでDMLエラーが発生した場合に既存のデータを処理するアクションを選択します。
-
終了
-
破棄
-
無視
-
-
失敗後に再起動: プロセスがなんらかの理由で停止した場合に自動再起動を有効にするには、このオプションを選択します。
-
デフォルト・マッピングを使用したパイプラインの開始: デフォルトの1:1マッピング・ルールを使用して、作成直後にパイプラインを開始します。選択しない場合、作成後にルール・マッピングを構成してから、パイプラインを手動で起動できます。
-
-
マッピング・ルールの追加
マッピング・ルールをプレビュー、追加または削除するには:
-
パイプライン情報ページで、「マッピング・ルール」を選択します。
-
「マッピング・ルール」リストでは、現在のマッピング・ルールを確認または編集できます。
-
プレビュー: マッピング・ルールがレプリケーションに含まれるスキーマおよび表にどのように影響するかを確認します。
-
追加: インクルードまたは除外対象の表およびスキーマを指定します。オブジェクト名の任意の部分のかわりに、完全修飾オブジェクト名またはワイルドカードを使用できます。ワイルドカードの詳細は、「データベース・オブジェクト名でのワイルドカードの使用」に関する項を参照してください。
-
削除: マッピング・ルールを削除します。
-
パイプライン・ログの有効化
-
「パイプライン」ページで、ロギングを有効にするパイプラインを選択します。
-
「パイプライン詳細」ページで、「ログ」を選択します。
-
パイプライン・ログのリストで、「クリティカル・イベント」の「アクション」メニューから「ログの有効化」を選択します。
-
「ログの有効化」パネルで、次の手順を実行します。
-
「ログ名」に、名前を入力します。
-
「コンパートメント」ドロップダウンで、コンパートメントを選択します。
-
ログ・グループでは、次のことができます:
-
ドロップダウンからグループを選択します。
-
新規グループを作成します
-
空白のままにすると、デフォルト・グループが自動的に割り当てられます。
-
-
「ログの保存」で、ドロップダウンから月数を選択します。
-
「ログの有効化」を選択します。
-
ステータスが「アクティブ」になるまで待ちます。
パイプラインを開始します
パイプラインを開始するには:
-
パイプラインの詳細ページの「アクション」メニューから、「開始」を選択します。
-
パイプラインの詳細ページで、「初期化」を選択します。
初期化ステップには、パイプライン・ステップの現在のステータスが表示されます。ステップごとに、その「アクション」メニューから「詳細の表示」を選択し、対応するメッセージを確認できます。
-
パイプラインのステータスがアクティブ(実行中)になったら、「ランタイム」を選択します。
ランタイム・プロセスでは、取得および適用プロセスの状態とレイテンシが表示されます。
既知問題
ターゲット・データベースのタイムゾーン・ファイルのバージョンがソース・データベースより低い場合、Oracle Data Pumpは失敗します。
パイプライン・オプション「Copy existing data to target database before starting replication」では、Oracle Data Pumpを使用します。ターゲット・データベースのタイム・ゾーン・ファイルのバージョンがソース・データベースのタイム・ゾーン・ファイルのバージョンより低い場合、Oracle Data Pumpが失敗します。
回避策: これを回避するには、ターゲット・データベースのタイムゾーン・バージョンをアップグレードする必要があります。Autonomous AI Databaseでのタイムゾーン・ファイルの更新の管理を参照してください。