LoginSignup
3
0

More than 1 year has passed since last update.

[OCI] GoldenGate for Big Dataを使用したOracleDB(ADB)→Object Storage(JSON)レプリケーション

Last updated at Posted at 2023-04-25

はじめに

OCI GoldenGate および OCI GoldenGate for Big Dataを使用してAutonomous OracleDBの変更データをObject StorageにJSONファイルで出力した際の手順メモ

参考マニュアル、資料
・Replicate data from Autonomous Transaction Processing to OCI Object Storage
https://docs.oracle.com/en/cloud/paas/goldengate-service/retlo/index.html#RETLO-GUID-60970814-7EBB-4C8A-9042-2D5FB38692BD
・GoldenGate 21c 簡単データベース・レプリケーションガイド
https://speakerdeck.com/oracle4engineer/goldengate-21c-jian-dan-detabesurepurikesiyongaido-microservice-architectureban?slide=2

1.事前準備

ソース側Autonomous DBにGoldenGate必須の設定

  • GGADMINアカウントアンロック:ADBならコンソールからも可能
  • 最小サプリメンタル・ロギングの構成:[alter pluggable database add supplemental log data;]
  • データ連携用テーブル作成(任意)
  • DB単位にサプリメンタル・ロギング設定を行う場合: [alter pluggable database add supplemental log data (primary key) columns;](TRANDATAでスキーマ単位あるいはテーブル単位にPKサプリメンタル・ロギングの構成をするのであれば不要)

ターゲット側Object Storageへのアクセス権限設定

  • GGBDからObject Storageへ接続するユーザーのAPI秘密キーをダウンロードし、APIキー・フィンガープリントをコピーしておく(Object Storageへの接続で使用。ユーザーのAPIキーが存在しない場合はユーザー詳細からAPIキーを追加。)
  • メニュー→「アイデンティティとセキュリティ」→「ポリシー」で下記設定
    ・Allow <USERグループ> to read buckets in compartment <コンパートメント名>
    ・Allow <USERグループ> to manage objects in compartment <コンパートメント名> where any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT’}
  • コンパートメントOCID、ユーザOCIDを控えておく

2.構成

image.png

3.OCI GoldenGateデプロイ

  • 「デプロイメントの作成」クリック
    image.png

  • 必要項目設定し「次」クリック
    ・名前:任意
    ・ライセンスタイプ選択
    ・パブリックにアクセスする場合は「GoldenGateコンソール・パブリック・アクセスの有効化」にチェック
    image.png

  • 必要項目設定し「次」クリック
    ・テクノロジの選択:「Oracle Database」
    ・GoldenGateインスタンス名:任意
    ・管理者ユーザー名(GGコンソール管理者):任意
    ・管理者パスワード設定
    image.png

4.OCI GoldenGate for Big Data デプロイ

  • GGデプロイ同様、名前、ライセンスタイプ、GoldenGateコンソール・パブリック・アクセスの有効化を設定し「次」クリック

  • 必要項目設定し「次」クリック
    ・テクノロジの選択:「Big Data」
    ・GoldenGateインスタンス名:任意
    ・管理者ユーザー名(GGコンソール管理者):任意
    ・管理者パスワード設定
    image.png

5.ADBへの接続作成

  • 「接続」クリック
    image.png

  • 「接続の作成」クリック
    image.png

  • 必要項目設定し「次」クリック
    ・接続の名前:任意
    ・コンパートメント:ADB対象コンパートメント選択
    ・タイプ:「Oracle Autonomous Database」選択
    image.png

  • 必要項目設定し「作成」クリック
    ・データベース接続:「データベースの選択」
    ・データベース:対象ADB選択
    ・データベース・ユーザーのパスワード:ADBのGG管理者ユーザー(ggadmin)パスワード
    image.png

  • 「デプロイメントの割当て」クリック
    image.png

  • 対象GGデプロイメント選択し「デプロイメントの割当て」クリック
    image.png

6.Object Storageへの接続作成

  • ADBへの接続同様、「接続」→「接続の作成」クリック

  • 必要項目設定し「次」クリック
    ・接続の名前:任意
    ・コンパートメント:ADB対象コンパートメント選択
    ・タイプ:「Oracle Autonomous Database」選択
    image.png

  • 必要項目設定し「作成」クリック
    ・ターゲットObject Storageのテナンシとリージョンを選択
    ・ダウンロードしておいたAPI秘密キーをアップロードし、APIキー・フィンガープリントをペースト
    image.png

  • ADB接続同様、「デプロイメントの割当て」クリック

  • 作成したGGBDデプロイメントを選択し「デプロイメントの割当て」クリック
    image.png

7.Primary Keyのサプリメンタル・ロギング設定

※[alter pluggable database add supplemental log data (primary key) columns]でDB単位にPKサプリメンタルログ設定を行うのであればスキーマ単位またはテーブル単位のPKサプリメンタルログ設定は不要

  • GGデプロイメントから「コンソールの起動」
    image.png

  • デプロイ時に設定したコンソールユーザとパスワード
    image.png

  • 「メニュー」 → 「構成」から作成したADBへの接続の「アクション:接続」クリック
    image.png

  • TRANDATA情報で「+」ボタンからサプリメンタル対象(スキーマ or テーブル or プロシージャ)を設定し「発行」クリック
    image.png

8.Extract追加&実行

  • GGコンソールの「メニュー」 → 「概要」の管理サービスからExtract追加「+」 クリック
    image.png

  • 統合Extractを選択し「次」クリック
    image.png

  • 必要項目設定し「作成」クリック
    ・Extractプロセス名:任意
    ・トレイル名:任意(2文字)
    ・資格証明ドメイン:OracleGoldenGate
    ・資格証明別名:作成したADB接続名
    image.png

  • パラメータ・ファイルは指定によりデフォルト設定されているので、TABLE句など必要設定追記し「作成および実行」クリック
    image.png

image.png

9.分散パス(GG→GGBDへのパス)作成

  • GGBDコンソールからメニュー → 「管理者」クリック
    image.png

  • ユーザー作成(+ボタン)クリック
    image.png

  • 必要項目設定し「発行」クリック
    ・分散パスユーザー:任意
    ・ロール:「ユーザー」
    ・パスワード:分散パスユーザーパスワード(任意)設定
    image.png

  • GGコンソールからメニュー → 「構成」クリック
    image.png

  • 資格証明作成(+ボタン)クリック
    image.png

  • 必要項目設定し「発行」クリック
    ・資格証明ドメイン名:任意
    ・資格証明別名:任意
    ・分散ユーザーID:GGBDコンソールで作成した分散ユーザー名
    ・パスワード:分散ユーザーパスワード
    image.png

  • GGコンソール「分散サービス」タブの「+」クリック
    image.png

  • 必要項目設定し「作成および実行」クリック
    ・パス名:任意
    ・ソース:Extract作成で作成した名前
    ・ターゲット認証方式:ユーザーID別名(デフォルト)
    ・ターゲット ホスト:GGBDデプロイドメイン(GGBDのコンソールURL上のドメイン)
    ・ポート:443
    ・ターゲットTrail名:任意
    ・ドメイン:GGコンソールの資格証明で作成したドメイン名
    ・資格証明別名: GGコンソールの資格証明で作成したドメイン名
    image.png

  • GGコンソールの分散パス作成後、GGBDコンソールのレシーバ・サービスにも出力される
    image.png

10.Replicat追加&実行

  • GGBDコンソールから「+」クリック
    image.png

  • Replicatタイプを選択肢「次」クリック
    image.png

  • 必要項目設定し「次」クリック
    ・Replicatプロセス名:任意
    ・トレイル名:分散パスで作成したターゲットTrail名
    ・ターゲット:OCI Object Storage
    ・Object Storageへの接続の作成で指定した接続名(※2023年4月20現在、左端にリストボックスが出力される)
    image.png

  • 必要に応じてパラメータ・ファイルを修正し「次」クリック
    image.png

  • 必要項目設定し「作成および実行」クリック
    ・compartmentID:ターゲットObject StorageのコンパートメントOCID
    ・bucketMappingTemplate:Object Storageバケット名
    image.png

image.png

  • ADB上の更新がObject Storage上にJSONファイルで出力されていること確認

参考

OCI GoldenGate(for Big Data含む)で対象とすることのできるソース・ターゲットは2023年4月20現在、以下の通り。

  • サポートされるソース・テクノロジ:
    Oracle Database 11.2.0.4+, 12.1.0.2+, 19c, 21c
    Oracle Exadata
    Oracle Exadata Cloud Service
    Oracle Autonomous Transaction Processing
    Oracle Autonomous Data Warehouse
    Amazon RDS for Oracle 19c
    OCI Streaming
    Azure Event Hubs
    Apache Kafka
    Confluent Kafka
    MongoDB
    OCI MySQL Database Service
    Amazon RDS for MySQL 5.7, 8.0
    Amazon Aurora MySQL 5.7
    MariaDB
    Amazon RDS for MariaDB
    Azure Database for MySQL 5.7, 8.0
    MySQL Database Server 5.7, 8.0
    Google Cloud SQL for MySQL 8.0
    PostgreSQL 10, 11, 12, 13, 14
    Amazon Aurora PostgreSQL 10, 11, 12
    Amazon RDS for PostgreSQL 10, 11, 12, 13, 14
    Azure Database for PostgreSQL 10, 11, 12, 13
    Google Cloud SQL for PostgreSQL 10, 11, 12, 13, 14
    Amazon RDS for SQL Server 2012, 2014, 2016, 2017, 2019
    Azure SQL Managed Instance
    Microsoft SQL Server 2012, 2014, 2016, 2017, 2019

  • サポートされるターゲット・テクノロジ:
    Oracle Database 11.2.0.4+, 12.1.0.2+, 19c, 21c
    Oracle Exadata
    Oracle Exadata Cloud Service
    Oracle Autonomous Transaction Processing
    Oracle Autonomous Data Warehouse
    Amazon RDS for Oracle 19c
    OCI Oracle NoSQL
    OCI Object Storage
    OCI Streaming
    Oracle Autonomous Database
    Oracle Autonomous JSON
    Oracle WebLogic JMS
    Azure Data Lake Storage
    Azure Event Hub
    Azure Synapse Analytics
    Azure CosmosDB for MongoDB
    Amazon S3
    Apache Kafka
    Confluent Kafka
    Hadoop Distributed File System
    MongoDB
    Snowflake
    OCI MySQL Database Service
    Amazon RDS for MySQL 5.7, 8.0
    Amazon Aurora MySQL 5.7
    MariaDB
    Amazon RDS for MariaDB
    Azure Database for MySQL 5.7, 8.0
    MySQL Database Server 5.7, 8.0
    Google Cloud SQL for MySQL 8.0
    PostgreSQL 10, 11, 12, 13, 14
    Amazon Aurora PostgreSQL 10, 11, 12
    Amazon RDS for PostgreSQL 10, 11, 12, 13, 14
    Azure Database for PostgreSQL 10, 11, 12, 13
    Google Cloud SQL for PostgreSQL 10, 11, 12, 13, 14
    Amazon RDS for SQL Server 2012, 2014, 2016, 2017, 2019
    Azure SQL Database
    Azure SQL Managed Instance
    Microsoft SQL Server 2012, 2014, 2016, 2017, 2019

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0