自律型データベースからキャプチャするためのExtractの構成

Oracle Autonomous Databaseは、Oracle GoldenGateと緊密に統合されています。自律型データベース・インスタンスに対してExtractを設定する場合は、従来のOracle Databaseと比較して多くの違いがあります。

Oracle Autonomous Databaseのセキュリティが拡張され、Extractが接続先の特定のテナントからのみ変更をキャプチャできるようになりました。ただし、ダウンストリームExtractはサポートされていません。

始める前に

Oracle GoldenGateを使用して自律型データベースからデータをキャプチャするプロセスを開始する前に、次を実行する必要があります。
  1. 自律型データベースで、事前作成されたOracle GoldenGateデータベース・ユーザーggadminをロック解除します。

  2. データベース・インスタンスに接続するための自律型データベース・クライアント資格証明を取得します。

内容は次のとおりです。

Oracle GoldenGate資格証明の確立

自律型データベースからキャプチャするには、GGADMINアカウントのみが使用されます。GGADMINアカウントは、自律型データベースがプロビジョニングされロックされたときにデータベース内に作成されます。このアカウントはロックされています。Oracle GoldenGateで使用する前に、ロック解除する必要があります。このアカウントは、自律型データベースのExtractとReplicatの両方で使用される同じアカウントです。

ALTER USERコマンドを実行して、ggadminユーザーのロックを解除し、パスワードを設定します。クライアント側ツールによる自律型データベースでのユーザーの作成を参照してください。

このALTER USERコマンドは、自律型データベースのadminアカウント・ユーザーが実行する必要があります。

ALTER USER ggadmin IDENTIFIED BY PASSWORD ACCOUNT UNLOCK;

自律型データベースからキャプチャするためのOracle GoldenGate Extractの構成の前提条件

自律型データベースからキャプチャするExtractプロセスを構成して開始する前に、次の要件が満たされていることを確認してください。
  • Oracle Autonomous Database環境がプロビジョニングされ、実行されています。

  • 自律型データベース・レベルのサプリメンタル・ロギングは、ADMINまたはGGADMINで有効にする必要があります。

Extractの自律型データベース・サプリメンタル・ロギングの構成

自律型データベース・インスタンスに最小限のサプリメンタル・ロギングを追加するには、GGADMINまたはADMINアカウントとしてインスタンスにログインし、次のコマンドを実行します。
ALTER PLUGGABLE DATABASE ADD SUPPLEMENTAL LOG DATA;
Autonomous Databaseレベルのサプリメンタル・ロギングをDROPするには、そのデータベース・インスタンスからのキャプチャを停止する必要があります。
ALTER PLUGGABLE DATABASE DROP SUPPLEMENTAL
        LOG DATA;
次のSQL文を発行して、自律型データベース・レベルのサプリメンタル・ロギングが適切に構成されていることを確認できます。
SELECT MINIMAL FROM dba_supplemental_logging;
この文の出力は次のとおりです。
MINIMAL
-------
YES

サプリメンタル・ロギングがこの自律型データベース・インスタンスに対して正しく設定されている場合、MINIMAL列はYESになります。

自律型データベースからキャプチャするためのExtractの構成

次に、Oracle Autonomous DatabaseからキャプチャするExtractを構成するステップを示します。
  1. Oracle Autonomous DatabaseインスタンスにOracle GoldenGateをインストールします。

  2. (Microservicesのみ) Oracle GoldenGate環境のデプロイメントを作成します。これは、自律型データベース(ADB)からデータをキャプチャするExtractが作成されるデプロイメントです。デプロイメントを追加するステップは、デプロイメントの作成方法を参照してください。

  3. 自律型データベース・クライアント資格証明を取得します。

    Oracle Autonomous Databaseインスタンスへの接続を確立するには、クライアント資格証明ファイルをダウンロードします。クライアント資格証明をダウンロードするには、Oracle Cloud Infrastructure ConsoleまたはDatabase Actions Launchpadを使用できます。クライアント資格証明のダウンロード(ウォレット)に関する項を参照してください。

    ノート:

    自律型データベースへの管理者アクセス権がない場合は、資格証明ファイルをダウンロードして提供するようにサービス管理者に依頼してください。

    次のステップでは、Database Actions Launchpadを使用してクライアント資格証明をダウンロードします

    1. Oracle Autonomous Databaseアカウントにログインします。

    2. Database Instanceページから、「Database Actions」をクリックします。これにより、Database Actions Launchpadが起動します。Launchpadは、ADMINとしてデータベースにログインしようとします。それが成功しない場合は、データベースのADMINユーザー名とパスワードの入力を求められます。

    3. Database Actions Launchpadの「Administration」で、「Download Client Credentials (Wallets)」をクリックします。

    4. クライアント資格証明zipファイルを保護するためのパスワードを入力して、「Download」をクリックします。

      ノート:

      ウォレットのダウンロード時に指定するパスワードによって、ダウンロードしたクライアント資格証明ウォレットが保護されます。
    5. 資格証明zipファイルをローカル・システムに保存します。

    資格証明zipファイルには次のファイルが含まれています。
    • cwallet.sso

    • ewallet.p12

    • keystore.jks

    • ojdbc.properties

    • sqlnet.ora

    • tnsnames.ora

    • truststore.jks

    • ewallet.pem

    • README.txt

    自律型データベース・インスタンスと連携するようにOracle GoldenGateを構成するときには、sqlnet.oraおよびtnsnames.oraファイルを参照および更新します(必要な場合)。
  4. 自律型データベース・インスタンスに接続するように、Oracle GoldenGateが実行されているサーバーを構成します。

    1. Oracle GoldenGateがインストールされているサーバーにログインします。

    2. Oracle Autonomousデータベース・インスタンスからダウンロードした資格証明zipファイルをOracle GoldenGateサーバーに転送します。

    3. Oracle GoldenGateサーバーで、資格証明ファイルを新しいディレクトリ、たとえば/u02/data/adwc_credentialsに解凍します。これがキー・ディレクトリになります。

    4. 接続の詳細を構成するには、Oracle GoldenGateインスタンスのOracle Clientの場所からtnsnames.oraファイルを開きます。

    5. LOWコンシューマ・グループdbname_low (たとえばgraphdb1_low)を持つ接続文字列を使用し、それをローカルのtnsnames.oraファイルに移動します。

      Oracle Database Net Servicesリファレンス・ガイドのtnsnames.oraファイル内のローカル・ネーミング・パラメータの章を参照してください。

      ノート:

      資格証明ファイルで提供されるtnsnames.oraファイルには、次のように識別できる3つのデータベース・サービス名が含まれています。
      ADWC_Database_Name_low
      ADWC_Database_Name_medium
      ADWC_Database_Name_high

      Oracle GoldenGateでADWC_Database_Name_lowを使用することをお薦めします。Oracle Autonomous Database Serverlessの使用ガイドの自律型データベースの事前定義済データベース・サービス名、またはOracle Autonomous Database on Dedicated Exadata Infrastructure自律型データベースの事前定義済データベース・サービス名を参照してください

    6. Oracle GoldenGateインスタンスのtnsnames.oraファイルを編集して、tnsnames.oraファイルで使用可能な接続詳細をキー・ディレクトリ(自律型データベースからダウンロードした資格証明zipファイルを解凍したディレクトリ)に含めます。

      Sample Connection Stringadw1_low. = (description=
                       (retry_count=20)(retry_delay=3)
                       (address=(protocol=tcps)(port=1522)(host=adb-preprod.us-phoenix-1.oraclecloud.com))
                       (connect_data=(service_name=okd2ybgcz4mjx94_graphdb1_low.adb.oraclecloud.com))
                       (security=(ssl_server_cert_dn="CN=adwc-preprod.uscom-east-1.oraclecloud.com,OU=Oracle BMCS US,O=Oracle Corporation,L=Redwood City,ST=California,C=US"))
                     )
      データベースがファイアウォールで保護されている環境内にある場合は、データベースに直接アクセスできない可能性があります。既存のHTTPプロキシでは、sqlnet.oraおよびtnsnames.oraを次のように変更してファイアウォールを通過できます。
      • sqlnet parameters
      • address modification of tns_alias
      ネットワークのタイムアウトや接続の切断が原因でExtractが応答しなくなった場合は、tnsnames.oraファイルの接続プロファイルに次を追加できます。
      (DESCRIPTION = (RECV_TIMEOUT=30) (ADDRESS_LIST =
            (LOAD_BALANCE=off)(FAILOVER=on)(CONNECT_TIMEOUT=3)(RETRY_COUNT=3) (ADDRESS = (PROTOCOL = TCP)(HOST = adb-preprod.us-phoenix-1.oraclecloud.com)(PORT = 1522))
    7. ウォレットを構成するには、Oracle GoldenGateインスタンスでOracle Clientの場所にsqlnet.oraファイルを作成します。
      cd /u02/data/oci/network/admin
      ls
      sqlnet.ora tnsnames.ora

      Oracle Cloud Marketplace上でのOracle GoldenGateの使用Autonomous Databaseクライアント資格証明を参照してください。

    8. このsqlnet.oraファイルを編集して、キー・ディレクトリが含まれるようにします。

      WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/u02/data/adwc_credentials"))) 
      SSL_SERVER_DN_MATCH=yes
  5. Microservices ArchitectureまたはClassic Architectureのどちらを使用しているかに応じて、管理クライアントまたはGGSCIを使用してOracle GoldenGateデプロイメントにログインします。
  6. Extractデータベース(または同じ権限を持つユーザー)の資格証明を作成します。この場合、GGADMINはユーザーであり、Autonomous Databaseへの接続およびデータベース接続が必要なコマンドの実行に使用されます。Extractデータベース接続のUSERIDALIASパラメータでも使用されます。
    ALTER CREDENTIALSTORE ADD USER 
    ggadmin@dbgraph1_low PASSWORD complex_password alias adb_alias
    
  7. DBLOGINを使用してデータベースに接続します。DBLOGINユーザーは、adb_aliasアカウント・ユーザーである必要があります。

    DBLOGIN USERIDALIAS adb_alias
  8. ADD TRANDATAまたはADD SCHEMATRANDATAを使用してキャプチャする表のサプリメンタル・ロギングを構成します。データベース・インスタンスに直接接続しているため、これらのコマンドにデータベース名を含める必要はありません。次に例を示します。

    ADD TRANDATA HR.EMP

    または

    ADD SCHEMATRANDATA HR

    自律型データベースからキャプチャするためのOracle GoldenGate Extractの構成の前提条件を参照してください。

  9. ハートビート表を追加します。

    ADD HEARTBEATTABLE
  10. Extractを追加してOracle Autonomous Databaseインスタンスからキャプチャするように構成します。Extractを作成するステップは、統合キャプチャ・モードでのプライマリExtractの構成を参照してください。

    Oracle GoldenGate Extractは、Oracle Autonomous Databaseインスタンスと連携して、特定のデータベース・インスタンスからのみキャプチャするように設計されています。つまり、データベース・インスタンス名は、TABLE文またはMAP文に必要ありません。

    次の例では、exteというExtract (Oracle Autonomous Databaseからキャプチャするために必要)を作成し、すぐに開始するように指示しています。
    ADD EXTRACT exte, INTEGRATED TRANLOG, BEGIN NOW 
    特定の表をキャプチャするには、2つの部分オブジェクト名を使用します。たとえば、Oracle Autonomous Databaseインスタンスで表HR.EMPからキャプチャするには、Extractパラメータ・ファイルでこのエントリを使用します。
    TABLE HR.EMP;
    HR.EMPCOUNTRY.EMPLOYEEにレプリケートする場合、map文は次のようになります。
    MAP HR.EMP, TARGET COUNTRY.EMPLOYEE;
  11. ExtractをOracle Autonomous Databaseインスタンスに登録します。たとえば、exteというExtractを登録するには、次のコマンドを使用します。

    REGISTER EXTRACT exte DATABASE
  12. この時点で、Extractを起動して、Oracle Autonomous Databaseインスタンスへのデータのレプリケーションを実行できます。次に例を示します。
    START EXTRACT exte

    これで、Oracle Autonomous DatabaseのためのExtractの構成プロセスが完了し、他のExtractプロセスと同様に使用できます。