17 自律型データベースへのデータのレプリケート

Oracle GoldenGate On PremisesとOracle GoldenGate Cloud Serviceを使用すると、Oracle Autonomous Data WarehouseおよびAutonomous Transaction Processingにデータをレプリケートできます。

内容は次のとおりです。

17.1 自律型データベースへのデータのレプリケートについて

自律型データベース・インスタンスをOracle GoldenGate On Premisesのターゲット・データベースとして構成できます。

自律型データベースにレプリケートするためのソースは次のとおりです。
  • 各リリースの動作保証マトリックスに記載されているOracle GoldenGate On Premisesリリース。

  • Oracle CloudおよびOracle Cloud at CustomerのOracle Database Cloud Service

  • Oracle CloudおよびOracle Cloud at CustomerのOracle Exadata Cloud Service

注意:

Oracle Autonomous Data Warehouseデータベースは、Oracle GoldenGate On Premisesのソース・データベースとして設定することはできません。

Oracle GoldenGate On Premisesでの自律型データベースへのレプリケーションのユースケース

Oracle GoldenGate On Premisesを次の目的で使用して、自律型データベースにデータをレプリケートします。
  • リアルタイム・データ・ウェアハウス: 自律型データベースにオンプレミス・データをレプリケートして、ダウンストリームのETLまたはリアルタイム・データ・ウェアハウスのためのステージング環境を設定します。

  • 運用レポート: レポート作成のために、複数のオンプレミス・データ・ソースからリアルタイムのデータをレプリケートして、自律型データベースに配信します。

17.2 自律型データベースへのレプリケート時にサポートされる内容の理解

自律型データベースにデータをレプリケートする前に、サポートされているデータ型と制限を確認してください。

制約事項の理解

Oracle Autonomous Data Warehouseは、完全管理型のデータ・ウェアハウスであり、すべての標準SQLおよびビジネス・インテリジェンス(BI)ツールをサポートし、スケーラブルな分析問合せのパフォーマンスを実現するように設計されています。Oracle Autonomous Data Warehouseは、データ・ウェアハウスのワークロードに対応するようにチューニングおよび最適化された完全管理型の環境で、市場をリードするOracle Databaseのパフォーマンスのすべてを提供します。一部のデータ型、SQLコマンドおよびデータベース機能は、Oracle Autonomous Data Warehouseでは使用できません。

データベース初期化パラメータの制限事項、データベース機能の制限事項、SQLコマンドの制限事項およびデータ型の制限事項についての完全なリストは、上級Oracle Databaseユーザー向けのAutonomous Data Warehouse Cloudに関する項を参照してください。

自律型トランザクション処理の詳細は、「自律型トランザクション処理のスタート・ガイド」を参照してください

Oracle GoldenGateでサポートされるOracle Databaseデータ型は、Oracle Autonomous Data Warehouseにレプリケートできます。サポートされているデータ型の完全なリストは、「サポートされるOracleデータ型およびオブジェクトの詳細」を参照してください。Oracle GoldenGateを使用してOracle Databaseにデータをレプリケートする際に提示されたサポートの制限は、Oracle Autonomous Data Warehouseへのデータのレプリケートにも適用されます。次の項に示すように、Oracle Autonomous Data Warehouseにデータをレプリケートする際には追加の制限事項があります。

Oracle Autonomous Data Warehouseに対するOracle GoldenGate Replicatの制限事項

現在、非統合ReplicatのみがOracle Autonomous Data Warehouseでサポートされています。

Oracle Autonomous Data Warehouseのターゲット表の圧縮比が最適になるように、ソース・システムからの変更(更新および削除を含む)をステージング表への挿入としてレプリケートし、データベース内のバッチ操作を使用して変更をターゲット表にマージすることをお薦めします。

DDLおよびDMLレプリケーションに対するデータ型の制限事項

次に示すデータ型は、Oracle Autonomous Data Warehouseへのデータのレプリケート時にサポートされません。

  • LONG

  • LONG RAW

  • XMLTYPE STORE AS OBJECT RELATIONAL

  • XMLTYPE STORE AS BINARY

  • BFILE

  • MEDIA

  • SPATIAL

次に示すデータ型は、統合Extractによって証跡ファイルが生成される場合にのみサポートされます。

  • ABSTRACT/USER DEFINED TYPE

  • UROWID

  • ANYDATA

非統合Replicatのみがサポートされます。

DDLレプリケーションは、Oracle Autonomous Data Warehouseおよび自律型トランザクション処理の制限に応じてサポートされます。

17.3 自律型データベースにデータをレプリケートする方法

自律型データベースにデータを配信するには、非統合Replicatを構成する必要があります。

前提条件:

次に示す詳細を用意する必要があります。
  • Oracle GoldenGate On Premisesインスタンスの詳細。

  • Oracle Autonomous Data Warehouseまたは自律型トランザクション処理)。

  • Oracle GoldenGate On PremisesのExtractプロセスが構成されているソース・データベース。

Oracle GoldenGate On Premisesを使用して自律型データベースにデータを送信するには、次の各項で説明するようにタスクを実行します。
  • レプリケーション用の自律型データベースの構成
  • 自律型データベース・クライアント資格証明を取得します。

  • レプリケーション用のOracle GoldenGate On Premisesを構成します。

    • 自律型データベースからダウンロードしたクライアント資格証明ZIPファイルを転送します。

    • sqlnet.oraファイルを構成します。

    • tnsnames.oraファイルを構成します。

    • ggadminユーザーのuseridaliasを作成します。

  • 自律型データベースに配信するようにOracle GoldenGate Managerおよび非統合Replicatを構成します。

レプリケーション用の自律型データベースの構成

構成タスクを完了するためのステップは次のとおりです。

  1. 自律型データベースには、Oracle GoldenGate On Premises用に作成された既存のユーザーggadminがあります。ggadminユーザーには、Oracle GoldenGate On PremisesのReplicatが正常に動作するための権限のセットが付与されています。デフォルトでは、このユーザーはロックされています。ggadminユーザーのロックを解除するには、任意のSQLクライアント・ツールを使用して、ADMINユーザーとしてOracle Autonomous Data Warehouseデータベースに接続します。Autonomous Data Warehouse Cloudへの接続に関する項を参照してください。

  2. alter userコマンドを実行して、ggadminユーザーのロックを解除し、パスワードを設定します。Autonomous Data Warehouse Cloudでのユーザーの作成に関する項を参照してください。
    alter user ggadmin identified by password account unlock;
  3. 新規のアプリケーション・ユーザーuser_targetを作成します。
    create user user_target identified by password;
    grant create session, resource, create view, create table to user_target;
  4. user_targetユーザーとしてOracle Autonomous Data Warehouseデータベースに接続して、レプリケーション表を作成します。

Oracle Autonomous Data Warehouseのクライアント資格証明の取得

自律型データベースへの接続を確立するには、自律型データベース・サービス・コンソールからクライアント資格証明ファイルをダウンロードします。クライアント資格証明のダウンロード(ウォレット)に関する項を参照してください。

注意:

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

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

  2. 「Instance」ページから、自律型データベース・インスタンスのメニュー・オプションをクリックし、「Service Console」を選択します。

  3. adminのユーザー名とそれに関連付けられたパスワードを使用して、サービス・コンソールにログインします。

  4. サービス・コンソールで、「Administration」タブをクリックします。

  5. 「Download Client Credentials」をクリックします。

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

  7. 資格証明ZIPファイルをローカル・システムに保存します。

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

  • ewallet.p12

  • keystore.jks

  • ojdbc.properties

  • sqlnet.ora

  • tnsnames.ora

  • truststore.jks

自律型データベースと連動するようにOracle GoldenGate On Premisesを構成するときには、sqlnet.oraファイルとtnsnames.oraファイルを参照することになります。

レプリケーション用のOracle GoldenGate On Premisesの構成

Oracle GoldenGate On Premisesインスタンスで、次の操作を実行する必要があります。

  1. Oracle GoldenGate On PremisesのOracle Databaseにログインします。

  2. 新規のOracle GoldenGate On Premisesユーザーを作成します。

    CREATE user user_src IDENTIFIED BY user_src_password;
    grant dba, connect, resource to user_src;
  3. 表と主キーを作成します。

    DROP TABLE user_src.dwcs_key;
    CREATE TABLE user_src.dwcs_key (n number, vc varchar2(10),PRIMARY KEY (n));
    alter database add supplemental log data;
  4. Extractを作成します。

    extract ext1
    userid user_src, password user_src_password
    exttrail ./dirdat/rs
    table user_src.dwcs_key;
    
  5. Extractデータ・ポンプを作成します。

    extract ext1pump
    userid user_src, password user_src_password
    RMTHOST host_IP_address, MGRPORT manager_port, SOCKSPROXY socksproxy_IP_address
    rmttrail ./dirdat/rt
    table user_src.dwcs_key;
    
  6. Extractを追加します。

    add extract ext1,tranlog begin now
    add exttrail ./dirdat/rs,extract ext1
    add extract ext1pump,exttrailsource ./dirdat/rs
    add rmttrail ./dirdat/rt,extract ext1pump
    dblogin user_src, password user_src_password
    add trandata user_src.dwcs_key
  7. Oracle GoldenGate On Premisesインスタンスに接続します。

    ssh -i private_key -v -f -N -D port opc@IP_address_of_your_instance
  8. Oracle GoldenGate On Premisesインスタンスに接続したら、ユーザーをoracleに変更します。

    sudo su - oracle
  9. Oracle Autonomous Data Warehouseからダウンロードした資格証明ZIPファイルをOracle GoldenGate On Premisesインスタンスに転送します。

  10. Oracle GoldenGate On Premisesインスタンスで、新しいディレクトリ/u02/data/adwc_credentialsに資格証明ファイルを解凍します。これがキー・ディレクトリになります。

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

    注意:

    Oracle GoldenGate On PremisesがOracle Database Cloud Serviceに関連付けられている場合は、tnsnames.oraファイルが存在しています。それ以外の場合は、/u02/data/ocitnsnames.oraファイルとnetwork/adminディレクトリを作成する必要があります。
    cd /u02/data/oci/network/admin
    ls
    tnsnames.ora
  12. Oracle GoldenGate On Premisesインスタンスでtnsnames.oraファイルを編集して、キー・ディレクトリ(Oracle Autonomous Data Warehouseからダウンロードした資格証明ZIPファイルを解凍したディレクトリ)にあるtnsnames.oraファイルから得られる接続の詳細を含めます。

    Sample Connection String
    connection_name = (description= (address=(protocol=tcps)(port=TNS Service port)(host=ADWC_IP)) (connect_data=(service_name=ADWC_Database_Name (security=(ssl_server_cert_dn="ADWC SSL certification")))

    注意:

    資格証明ファイルで提供されるtnsnames.oraファイルには、次のように識別できる3つのデータベース・サービス名が含まれています。
    ADWC_Database_Name_low
    ADWC_Database_Name_medium
    ADWC_Database_Name_high
    Oracle GoldenGateレプリケーションには、ADWC_Database_Name_lowを使用します。Autonomous Data Warehouse Cloud用に事前定義されているデータベース・サービス名に関する項を参照してください
  13. ウォレットを構成するには、Oracle GoldenGate On PremisesインスタンスでOracle Clientの場所にsqlnet.oraファイルを作成します。
    cd /u02/data/oci/network/admin
    ls
    sqlnet.ora tnsnames.ora
  14. このsqlnet.oraファイルを編集して、キー・ディレクトリが含まれるようにします。
    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/u02/data/adwc_credentials"))) 
    SSL_SERVER_DN_MATCH=yes
  15. useridaliasを作成するには、GGSCIを起動します。
    cd $GGHOME
    ./ggsci
  16. Oracle GoldenGateウォレットを作成して、資格証明ストアにuseridaliasを追加します。

    GGSCI> Create Wallet
    GGSCI> add credentialstore
    GGSCI> Alter credentialstore ADD USER ggadmin@connection_name PASSWORD password alias ggadmin_alias 
    GGSCI> DBLOGIN USERIDALIAS ggadmin_alias

Oracle Autonomous Data Warehouseに配信するOracle GoldenGate ManagerとクラシックReplicatの構成

  1. Oracle GoldenGate On Premisesインスタンスに接続していない場合は、sshコマンドを使用して接続します。

    ssh -i private_key opc@IP_address_of_your_VM
  2. Oracle GoldenGate On Premisesインスタンスに接続したら、oracleにユーザーを変更します。

    sudo su - oracle
  3. Oracle GoldenGate On Premisesインスタンスから、sqlplusを使用して自律型データベース・インスタンスへの接続をテストします。

    sqlplus ggadmin/password@connection_name 
  4. レプリケーション用の新規ユーザーを作成します。

    drop user user_target cascade;
    create user user_target identified by password_target;
    alter user user_target;
    grant create session, resource, create view, create table to user_target;
  5. 新しいレプリケーション・ユーザーとしてログインします。

    sqlplus user_target/password_target@databasename_low
  6. レプリケーション表を作成します。

    create table dwcs_keytest (n number, vc varchar2(10));
    alter table dwcs_keytest add constraint pk_dwcs_key primary key (n);
  7. GGSCIに接続します。
    cd $GGHOME
    ./ggsci
  8. Oracle GoldenGateマネージャを構成するには、mgrパラメータ・ファイルを開いて編集します。
    GGSCI>edit param mgr
  9. マネージャのパラメータ・ファイルに、次の情報があることを確認します。
    PORT port_number
    Dynamicportlist port_1-port_n
    ACCESSRULE, PROG COLLECTOR, IPADDR IP_Address_GGCS_host, ALLOW
    PURGEOLDEXTRACTS path_to_the_trail_file, USECHECKPOINTS, MINKEEPHOURS n hours MINKEEPFILES n files
    AUTORESTART ER *, RETRIES n, WAITMINUTES n, RESETMINUTES n
    
  10. GLOBALSファイルにGGSCHEMA ggadminを追加します。

  11. マネージャを停止してから起動し、マネージャが起動していることを確認します。
    GGSCI>stop mgr
    GGSCI>start mgr
    GGSCI>info mgr
  12. Replicatファイルを構成します。Replicatパラメータの完全なリストは、『Oracle GoldenGateリファレンス』Oracle GoldenGateのパラメータに関する項を参照してください。

    replicat repdwcs
    USERIDALIAS ggadmin_databasename_low
     map user_src.dwcs_key, target user_target.dwcs_key;
    
  13. Replicatグループに、このReplicatを追加します。

    ADD CREDENTIALSTORE
    ALTER CREDENTIALSTORE ADD USER ggadmin@databasename_low
     PASSWORD complex_password alias ggadmin_databasename_low
    
    DBLOGIN USERIDALIAS ggadmin_databasename_low
    
    add replicat repdwcs, exttrail ./dirdat/rt 
    

    nodbcheckpointの制限事項は、「自律型データベースへのレプリケート時にサポートされる内容の理解」を参照してください。

    クラシックReplicatは正しく構成されました。この時点で、Replicatを起動して、自律型データベースへのデータのレプリケーションをテストできます。

    注意:

    Oracle Autonomous Data Warehouseは、アイドル状態が60分以上のReplicatをタイムアウトにして切断します。Replicatは、アイドル状態になった後で変更を適用しようとすると(新しい変更を取得した場合)、データベース・エラーが発生して異常終了します。タイムアウトになったときに手動でReplicatを再起動しなくても済むように、AUTORESTARTを指定してOracle GoldenGate On Premisesを構成するようにお薦めします。

  14. ソース・データベースにレコードを挿入し、stats REPDWCSコマンドを使用してデータがOracle Autonomous Data Warehouse表にレプリケートされるようにします。

    GGSCI> STATS REPDWCS
    
    Sending STATS request to REPLICAT REPDWCS ...
    
    Start of Statistics at 2018-01-18 07:21:26.
    
    Replicating from user_src.dwcs_key to databasename
    .user_target.DWCS_KEY:
    
    *** Total statistics since 2018-01-18 06:28:30 ***
            Total inserts                                      3.00
            Total updates                                      0.00
            Total deletes                                      0.00
            Total discards                                     0.00
            Total operations                                   3.00