自律型データベースからキャプチャするためのExtractの構成
Oracle Autonomous Databaseは、Oracle GoldenGateと緊密に統合されています。自律型データベース・インスタンスに対してExtractを設定する場合は、従来のOracle Databaseと比較して多くの違いがあります。
Oracle Autonomous Databaseのセキュリティが拡張され、Extractが接続先の特定のテナントからのみ変更をキャプチャできるようになりました。ただし、ダウンストリームExtractはサポートされていません。
始める前に
-
自律型データベースで、事前作成されたOracle GoldenGateデータベース・ユーザー
ggadmin
をロック解除します。 -
データベース・インスタンスに接続するための自律型データベース・クライアント資格証明を取得します。
内容は次のとおりです。
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の構成の前提条件
-
Oracle Autonomous Database環境がプロビジョニングされ、実行されています。
-
自律型データベース・レベルのサプリメンタル・ロギングは、
ADMIN
またはGGADMIN
で有効にする必要があります。
Extractの自律型データベース・サプリメンタル・ロギングの構成
GGADMIN
またはADMIN
アカウントとしてインスタンスにログインし、次のコマンドを実行します。ALTER PLUGGABLE DATABASE ADD SUPPLEMENTAL LOG DATA;
DROP
するには、そのデータベース・インスタンスからのキャプチャを停止する必要があります。ALTER PLUGGABLE DATABASE DROP SUPPLEMENTAL
LOG DATA;
SELECT MINIMAL FROM dba_supplemental_logging;
MINIMAL
-------
YES
サプリメンタル・ロギングがこの自律型データベース・インスタンスに対して正しく設定されている場合、MINIMAL
列はYES
になります。
自律型データベースからキャプチャするためのExtractの構成
-
Oracle Autonomous DatabaseインスタンスにOracle GoldenGateをインストールします。
-
(Microservicesのみ) Oracle GoldenGate環境のデプロイメントを作成します。これは、自律型データベース(ADB)からデータをキャプチャするExtractが作成されるデプロイメントです。デプロイメントを追加するステップは、デプロイメントの作成方法を参照してください。
-
自律型データベース・クライアント資格証明を取得します。
Oracle Autonomous Databaseインスタンスへの接続を確立するには、クライアント資格証明ファイルをダウンロードします。クライアント資格証明をダウンロードするには、Oracle Cloud Infrastructure ConsoleまたはDatabase Actions Launchpadを使用できます。クライアント資格証明のダウンロード(ウォレット)に関する項を参照してください。
ノート:
自律型データベースへの管理者アクセス権がない場合は、資格証明ファイルをダウンロードして提供するようにサービス管理者に依頼してください。
次のステップでは、Database Actions Launchpadを使用してクライアント資格証明をダウンロードします
-
Oracle Autonomous Databaseアカウントにログインします。
-
Database Instanceページから、「Database Actions」をクリックします。これにより、Database Actions Launchpadが起動します。Launchpadは、
ADMIN
としてデータベースにログインしようとします。それが成功しない場合は、データベースのADMIN
ユーザー名とパスワードの入力を求められます。 -
Database Actions Launchpadの「Administration」で、「Download Client Credentials (Wallets)」をクリックします。
-
クライアント資格証明zipファイルを保護するためのパスワードを入力して、「Download」をクリックします。
ノート:
ウォレットのダウンロード時に指定するパスワードによって、ダウンロードしたクライアント資格証明ウォレットが保護されます。 -
資格証明
zip
ファイルをローカル・システムに保存します。
資格証明zip
ファイルには次のファイルが含まれています。-
cwallet.sso
-
ewallet.p12
-
keystore.jks
-
ojdbc.properties
-
sqlnet.ora
-
tnsnames.ora
-
truststore.jks
-
ewallet.pem
-
README.txt
sqlnet.ora
およびtnsnames.ora
ファイルを参照および更新します(必要な場合)。 -
-
自律型データベース・インスタンスに接続するように、Oracle GoldenGateが実行されているサーバーを構成します。
-
Oracle GoldenGateがインストールされているサーバーにログインします。
-
Oracle Autonomousデータベース・インスタンスからダウンロードした資格証明
zip
ファイルをOracle GoldenGateサーバーに転送します。 -
Oracle GoldenGateサーバーで、資格証明ファイルを新しいディレクトリ、たとえば
/u02/data/adwc_credentials
に解凍します。これがキー・ディレクトリになります。 -
接続の詳細を構成するには、Oracle GoldenGateインスタンスのOracle Clientの場所から
tnsnames.ora
ファイルを開きます。 -
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の自律型データベースの事前定義済データベース・サービス名を参照してください -
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))
-
ウォレットを構成するには、Oracle GoldenGateインスタンスでOracle Clientの場所に
sqlnet.ora
ファイルを作成します。cd /u02/data/oci/network/admin ls sqlnet.ora tnsnames.ora
Oracle Cloud Marketplace上でのOracle GoldenGateの使用のAutonomous Databaseクライアント資格証明を参照してください。
-
この
sqlnet.ora
ファイルを編集して、キー・ディレクトリが含まれるようにします。WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/u02/data/adwc_credentials"))) SSL_SERVER_DN_MATCH=yes
-
- Microservices ArchitectureまたはClassic Architectureのどちらを使用しているかに応じて、管理クライアントまたはGGSCIを使用してOracle GoldenGateデプロイメントにログインします。
-
Extractデータベース(または同じ権限を持つユーザー)の資格証明を作成します。この場合、
GGADMIN
はユーザーであり、Autonomous Databaseへの接続およびデータベース接続が必要なコマンドの実行に使用されます。Extractデータベース接続のUSERIDALIAS
パラメータでも使用されます。ALTER CREDENTIALSTORE ADD USER ggadmin@dbgraph1_low PASSWORD complex_password alias adb_alias
-
DBLOGIN
を使用してデータベースに接続します。DBLOGIN
ユーザーは、adb_alias
アカウント・ユーザーである必要があります。DBLOGIN USERIDALIAS adb_alias
-
ADD TRANDATA
またはADD SCHEMATRANDATA
を使用してキャプチャする表のサプリメンタル・ロギングを構成します。データベース・インスタンスに直接接続しているため、これらのコマンドにデータベース名を含める必要はありません。次に例を示します。ADD TRANDATA HR.EMP
または
ADD SCHEMATRANDATA HR
自律型データベースからキャプチャするためのOracle GoldenGate Extractの構成の前提条件を参照してください。
-
ハートビート表を追加します。
ADD HEARTBEATTABLE
-
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.EMP
をCOUNTRY.EMPLOYEE
にレプリケートする場合、map文は次のようになります。MAP HR.EMP, TARGET COUNTRY.EMPLOYEE;
-
ExtractをOracle Autonomous Databaseインスタンスに登録します。たとえば、
exte
というExtractを登録するには、次のコマンドを使用します。REGISTER EXTRACT exte DATABASE
-
この時点で、Extractを起動して、Oracle Autonomous Databaseインスタンスへのデータのレプリケーションを実行できます。次に例を示します。
START EXTRACT exte
これで、Oracle Autonomous DatabaseのためのExtractの構成プロセスが完了し、他のExtractプロセスと同様に使用できます。