Oracle Database@AWS でのゼロ ETL 統合の前提条件 - Oracle Database@AWS

Oracle Database@AWS でのゼロ ETL 統合の前提条件

ゼロ ETL 統合を設定する前に、次の前提条件を満たしていることを確認してください。

一般的な前提条件

  • Oracle Database@AWS のセットアップ – 少なくとも 1 つの VM クラスターがプロビジョニングされ、実行されていることを確認します。

  • ゼロ ETL が有効になっている統合 – VM クラスターまたは Autonomous VM クラスターが、ゼロ ETL が有効になっている ODB ネットワークに関連付けられていることを確認します。

  • サポートされている Oracle Database バージョン – Oracle Database 19c (Oracle Exadata) または Oracle Database 19c/23ai (専用インフラストラクチャ上の Autonomous Database) を使用する必要があります。

  • 同じ AWS リージョン – ソース Oracle データベースとターゲット Amazon Redshift クラスターは同じ AWS リージョンに存在する必要があります。

Oracle データベースの前提条件

Oracle データベースを次の設定で構成する必要があります。

レプリケーションユーザーのセットアップ

レプリケートする各プラガブルデータベース (PDB) に専用のレプリケーションユーザーを作成します。

  • Oracle Exadata の場合 – 安全なパスワードでユーザー ODBZEROETLADMIN を作成します。

  • 専用インフラストラクチャ上の Autonomous データベースの場合 – 既存の GGADMIN ユーザーを使用します。

レプリケーションユーザーに次のアクセス許可を付与します。

-- For Autonomous Database on Dedicated Infrastructure only ALTER USER GGADMIN ACCOUNT UNLOCK; ALTER USER GGADMIN IDENTIFIED BY ggadmin-password; -- For Oracle Exadata only GRANT SELECT ON any-replicated-table TO "ODBZEROETLADMIN"; GRANT LOGMINING to "ODBZEROETLADMIN"; -- Grant the following permissions to all services. -- For Oracle Exadata, use the ODBZEROETLADMIN user. For Autonomous Database on Dedicated Infrastructure, -- use the GGADMIN user. GRANT CREATE SESSION TO "ODBZEROETLADMIN"; GRANT SELECT ANY TRANSACTION TO "ODBZEROETLADMIN"; GRANT SELECT ON V_$ARCHIVED_LOG TO "ODBZEROETLADMIN"; GRANT SELECT ON V_$LOG TO "ODBZEROETLADMIN"; GRANT SELECT ON V_$LOGFILE TO "ODBZEROETLADMIN"; GRANT SELECT ON V_$LOGMNR_LOGS TO "ODBZEROETLADMIN"; GRANT SELECT ON V_$LOGMNR_CONTENTS TO "ODBZEROETLADMIN"; GRANT SELECT ON V_$DATABASE TO "ODBZEROETLADMIN"; GRANT SELECT ON V_$THREAD TO "ODBZEROETLADMIN"; GRANT SELECT ON V_$PARAMETER TO "ODBZEROETLADMIN"; GRANT SELECT ON V_$NLS_PARAMETERS TO "ODBZEROETLADMIN"; GRANT SELECT ON V_$TIMEZONE_NAMES TO "ODBZEROETLADMIN"; GRANT SELECT ON V_$TRANSACTION TO "ODBZEROETLADMIN"; GRANT SELECT ON V_$CONTAINERS TO "ODBZEROETLADMIN"; GRANT SELECT ON ALL_INDEXES TO "ODBZEROETLADMIN"; GRANT SELECT ON ALL_OBJECTS TO "ODBZEROETLADMIN"; GRANT SELECT ON ALL_TABLES TO "ODBZEROETLADMIN"; GRANT SELECT ON ALL_USERS TO "ODBZEROETLADMIN"; GRANT SELECT ON ALL_CATALOG TO "ODBZEROETLADMIN"; GRANT SELECT ON ALL_CONSTRAINTS TO "ODBZEROETLADMIN"; GRANT SELECT ON ALL_CONS_COLUMNS TO "ODBZEROETLADMIN"; GRANT SELECT ON ALL_TAB_COLS TO "ODBZEROETLADMIN"; GRANT SELECT ON ALL_IND_COLUMNS TO "ODBZEROETLADMIN"; GRANT SELECT ON ALL_ENCRYPTED_COLUMNS TO "ODBZEROETLADMIN"; GRANT SELECT ON ALL_LOG_GROUPS TO "ODBZEROETLADMIN"; GRANT SELECT ON ALL_TAB_PARTITIONS TO "ODBZEROETLADMIN"; GRANT SELECT ON SYS.DBA_REGISTRY TO "ODBZEROETLADMIN"; GRANT SELECT ON SYS.OBJ$ TO "ODBZEROETLADMIN"; GRANT SELECT ON DBA_TABLESPACES TO "ODBZEROETLADMIN"; GRANT SELECT ON DBA_OBJECTS TO "ODBZEROETLADMIN"; GRANT SELECT ON SYS.ENC$ TO "ODBZEROETLADMIN"; GRANT SELECT ON GV_$TRANSACTION TO "ODBZEROETLADMIN"; GRANT SELECT ON V_$DATAGUARD_STATS TO "ODBZEROETLADMIN"; GRANT SELECT ON V_$DATABASE_INCARNATION TO "ODBZEROETLADMIN"; GRANT EXECUTE ON SYS.DBMS_CRYPTO TO "ODBZEROETLADMIN"; GRANT SELECT ON SYS.DBA_DIRECTORIES TO "ODBZEROETLADMIN"; GRANT SELECT ON ALL_VIEWS TO "ODBZEROETLADMIN"; GRANT SELECT ON DBA_SEGMENTS TO "ODBZEROETLADMIN"; GRANT SELECT ON V_$TRANSPORTABLE_PLATFORM TO "ODBZEROETLADMIN"; GRANT CREATE ANY DIRECTORY TO "ODBZEROETLADMIN"; GRANT EXECUTE ON DBMS_FILE_TRANSFER TO "ODBZEROETLADMIN"; GRANT EXECUTE ON DBMS_FILE_GROUP TO "ODBZEROETLADMIN"; GRANT EXECUTE on DBMSLOGMNR to "ODBZEROETLADMIN"; GRANT SELECT on V_$LOGMNRLOGS to "ODBZEROETLADMIN"; GRANT SELECT on V_$LOGMNRCONTENTS to "ODBZEROETLADMIN"; GRANT LOGMINING to "ODBZEROETLADMIN"; GRANT SELECT ON GV_$CELL_STATE TO "ODBZEROETLADMIN";

サプリメンタルロギング

Oracle データベースでサプリメンタルロギングを有効にして、変更データをキャプチャします。

-- Check if supplemental logging is enabled SELECT supplemental_log_data_min FROM v$database; -- Enable supplemental logging if not already enabled. -- For Oracle Exadata, enable supplemental logging on both the CDB and PDB. -- For Autonomous Database on Dedicated Infrastructure, enable supplemental logging on the PDB only. ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; -- For Autonomous Database on Dedicated Infrastructure only ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS; -- Archive current online redo log ALTER SYSTEM ARCHIVE LOG CURRENT;

Oracle Database@AWS と Amazon Redshift 間のゼロ ETL 統合を設定するには、SSL を設定する必要があります。

Oracle Exadata データベースの場合

ポート 2484 で SSL を手動で設定する必要があります。このタスクには以下が含まれます。

Autonomous データベースの場合

ポート 2484 の SSL はデフォルトで有効になっています。追加の設定は必要ありません。

重要

SSL ポートは 2484 に固定されています。

AWS のサービスの前提条件

ゼロ ETL 統合を設定する前に、AWS Secrets Manager をセットアップし、IAM アクセス許可を設定します。

AWS Secrets Manager のセットアップ

次のように、Oracle データベース認証情報を AWS Secrets Manager に保存します。

  1. AWS Key Management Service でカスタマーマネージドキー (CMK) を作成します。

  2. CMK を使用して、AWS Secrets Manager にデータベース認証情報を保存します。

  3. Oracle Database@AWS アクセスを許可するようにリソースポリシーを設定します。

TDE キー ID とパスワードを取得するには、「AWS Database Migration Service のソースとして Oracle を使用するためにサポートされている暗号化方法」で説明されている方法を使用します。次のコマンドは、base64 ウォレットを生成します。

base64 -i cwallet.sso > wallet.b64

次の例は、Oracle Exadata のシークレットを示しています。asm_service_name の場合、111.11.11.11 は VM ノードの仮想 IP を表します。ASM リスナーを SCAN に登録することもできます。

{ "database_info": [ { "name": "ODBDB_ZETLPDB", "service_name": "ODBDB_ZETLPDB.paas.oracle.com", "username": "ODBZEROETLADMIN", "password": "secure_password", "tde_key_id": "ORACLE.SECURITY.DB.ENCRYPTION.key_id", "tde_password": "tde_password", "certificateWallet": "base64_encoded_wallet_content" } ], "asm_info": { "asm_user": "odbzeroetlasm", "asm_password": "secure_password", "asm_service_name": "111.11.11.11:2484/+ASM" } }

次の例は、専用インフラストラクチャ上の Autonomous データベースのシークレットを示しています。

{ "database_info": [ { "database_name": "ZETLACD_ZETLADBMORECPU", "service_name": "ZETLADBMORECPU_high.adw.oraclecloud.com", "username": "ggadmin", "password": "secure_password", "certificateWallet": "base64_encoded_wallet_content" } ] }

IAM 許可を設定する

ゼロ ETL 統合オペレーションを許可する IAM ポリシーを作成します。次のポリシー例では、Exadata VM クラスターの記述、作成、更新、削除オペレーションを許可します。Autonomous VM クラスターの場合、リソース ARN に cloud-vm-cluster ではなく、cloud-autonomous-vm-cluster の値を使用します。