

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Pré-requisitos para integração com ETL zero no Oracle Database@AWS
<a name="zero-etl-prerequisites"></a>

Antes de configurar a integração Zero-ETL, certifique-se de atender aos seguintes pré-requisitos.

## Pré-requisitos gerais
<a name="zero-etl-general-prerequisites"></a>
+ **AWS Configuração do Oracle Database@** — Certifique-se de ter pelo menos um cluster de VM provisionado e em execução.
+ **Integração com Zero-ETL ativado** — Certifique-se de que seu cluster de VM ou cluster de VM autônoma esteja associado a uma rede ODB com Zero-ETL ativado.
+ **Versões do Oracle Database suportadas** — Você deve usar o Oracle Database 19c (Oracle Exadata) ou o Oracle Database 19c/23ai (Banco de dados autônomo em infraestrutura dedicada).
+ **Mesma AWS região** — O banco de dados Oracle de origem e o cluster do Amazon Redshift de destino devem estar na mesma AWS região.

## Pré-requisitos do banco de dados Oracle
<a name="zero-etl-oracle-prerequisites"></a>

Você deve configurar seu banco de dados Oracle com as seguintes configurações.

### Configuração do usuário de replicação
<a name="zero-etl-replication-user"></a>

Crie um usuário de replicação dedicado em cada banco de dados conectável (PDB) que você deseja replicar:
+ **Para Oracle Exadata** — Crie um usuário `ODBZEROETLADMIN` com uma senha segura.
+ **Para banco de dados autônomo em infraestrutura dedicada** — Use o `GGADMIN` usuário existente.

Conceda as seguintes permissões ao usuário de replicação.

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

### Registro em log complementar
<a name="zero-etl-supplemental-logging"></a>

Ative o registro suplementar em seu banco de dados Oracle para capturar dados de alteração.

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

Para configurar uma integração sem ETL entre o Oracle Database@ e o AWS Amazon Redshift, você deve configurar o SSL.

**Para bancos de dados Oracle Exadata**  
Você deve configurar manualmente o SSL na porta 2484. Essa tarefa envolve o seguinte:  
+ Configurando em `(PROTOCOL=tcps)(PORT=2484)` `listener.ora`
+ Configurando a carteira usando `sqlnet.ora`
+ Geração e configuração de certificados SSL (consulte [Como configurar SSL/TCPS o Exadata Cloud Database (ExAcc/EXACS) (ID do documento 2947301.1)](https://support.oracle.com/knowledge/Oracle%20Database%20Products/2947301_1.html) na documentação do My Oracle Support)

**Para bancos de dados autônomos**  
O SSL na porta 2484 está habilitado por padrão. Não é exigida nenhuma configuração adicional.  
A porta SSL é fixada como 2484.

### AWS pré-requisitos de serviço
<a name="zero-etl-aws-prerequisites"></a>

Antes de configurar a integração Zero-ETL, configure o AWS Secrets Manager e configure as permissões do IAM.

#### Configurar o AWS Secrets Manager
<a name="zero-etl-secrets-manager"></a>

Armazene suas credenciais do banco de dados Oracle no AWS Secrets Manager da seguinte forma:

1. Crie uma chave gerenciada pelo cliente (CMK) no AWS Key Management Service.

1. Armazene as credenciais do banco de dados no AWS Secrets Manager usando a CMK.

1. Configure políticas de recursos para permitir o acesso ao Oracle Database@AWS .

Para obter o ID e a senha da chave do TDE, use a técnica descrita em [Métodos de criptografia suportados para usar o Oracle como fonte para o AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption). O comando a seguir gera a carteira base64.

```
base64 -i cwallet.sso > wallet.b64
```

O exemplo a seguir mostra um segredo para o Oracle Exadata. Pois{{asm\_service\_name}}, o {{111.11.11.11}} representa o IP virtual do nó da VM. Você também pode registrar o ouvinte ASM com o 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"
  }
}
```

O exemplo a seguir mostra um segredo para o Banco de Dados Autônomo em Infraestrutura Dedicada.

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

#### Configurar permissões do IAM
<a name="zero-etl-iam-permissions"></a>

Crie políticas de IAM que permitam operações de integração sem ETL. O exemplo de política a seguir permite descrever, criar, atualizar e excluir operações para um cluster de VM do Exadata. Para um cluster de VM autônomo, use o valor `cloud-autonomous-vm-cluster` em vez do `cloud-vm-cluster` ARN do recurso.