Prerequisiti per l'integrazione zero-ETL in Oracle Database@AWS - Oracle Database@AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Prerequisiti per l'integrazione zero-ETL in Oracle Database@AWS

Prima di configurare l'integrazione zero-ETL, assicurati di soddisfare i seguenti prerequisiti.

Prerequisiti generali

  • AWS Configurazione Oracle Database@: assicurati di avere almeno un cluster di macchine virtuali fornito e in esecuzione.

  • Integrazione con Zero-ETL abilitata: assicurati che il cluster VM o il cluster VM autonomo sia associato a una rete ODB con Zero-ETL abilitato.

  • Versioni di Oracle Database supportate: è necessario utilizzare Oracle Database 19c (Oracle Exadata) o Oracle Database 19c/23ai (Autonomous Database on Dedicated Infrastructure).

  • Stessa AWS regione: il database Oracle di origine e il cluster Amazon Redshift di destinazione devono trovarsi nella stessa AWS regione.

Prerequisiti del database Oracle

È necessario configurare il database Oracle con le seguenti impostazioni.

Configurazione utente di replica

Crea un utente di replica dedicato in ogni database collegabile (PDB) che desideri replicare:

  • Per Oracle Exadata: crea un utente con una password sicura. ODBZEROETLADMIN

  • Per un database autonomo su un'infrastruttura dedicata: utilizza l'utente esistenteGGADMIN.

Concedi le seguenti autorizzazioni all'utente di replica.

-- 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";

Registrazione supplementare

Abilita la registrazione supplementare sul tuo database Oracle per acquisire i dati di modifica.

-- 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;

Per configurare un'integrazione zero-ETL tra Oracle Database@AWS e Amazon Redshift, devi configurare SSL.

Per i database Oracle Exadata

È necessario configurare manualmente SSL sulla porta 2484. Questa attività prevede quanto segue:

Per database autonomi

SSL sulla porta 2484 è abilitato per impostazione predefinita. e non sono necessarie ulteriori configurazioni.

Importante

La porta SSL è fissa come 2484.

AWS prerequisiti del servizio

Prima di configurare l'integrazione zero-ETL, configura AWS Secrets Manager e configura le autorizzazioni IAM.

Configurare AWS Secrets Manager

Archivia le credenziali del database Oracle in AWS Secrets Manager come segue:

  1. Crea una chiave gestita dal cliente (CMK) nel servizio di gestione delle AWS chiavi.

  2. Memorizza le credenziali del database in AWS Secrets Manager utilizzando CMK.

  3. Configura le politiche delle risorse per consentire l'accesso a Oracle Database@AWS .

Per ottenere l'ID e la password della chiave TDE, utilizzare la tecnica descritta in Metodi di crittografia supportati per l'utilizzo di Oracle come origine per il AWS Database Migration Service. Il comando seguente genera il portafoglio base64.

base64 -i cwallet.sso > wallet.b64

L'esempio seguente mostra un segreto per Oracle Exadata. Perchéasm_service_name, 111.11.11.11 rappresenta l'IP virtuale per il nodo VM. È inoltre possibile registrare il listener ASM con 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" } }

L'esempio seguente mostra un segreto per Autonomous Database on Dedicated Infrastructure.

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

Configurazione delle autorizzazioni IAM

Crea policy IAM che consentano operazioni di integrazione zero-ETL. La seguente policy di esempio consente di descrivere, creare, aggiornare ed eliminare le operazioni per un cluster di macchine virtuali Exadata. Per un cluster di macchine virtuali autonome, utilizzare il valore cloud-autonomous-vm-cluster anziché cloud-vm-cluster per la risorsa ARN.