

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Prasyarat untuk integrasi nol-ETL di Oracle Database @AWS
<a name="zero-etl-prerequisites"></a>

Sebelum menyiapkan integrasi nol-ETL, pastikan Anda memenuhi prasyarat berikut.

## Prasyarat umum
<a name="zero-etl-general-prerequisites"></a>
+ **AWS Pengaturan Oracle Database@** - Pastikan Anda memiliki setidaknya satu cluster VM yang disediakan dan berjalan.
+ **Integrasi dengan Zero-ETL diaktifkan** - Pastikan cluster VM atau cluster VM Autonomous Anda dikaitkan dengan jaringan ODB yang mengaktifkan nol-ETL.
+ **Versi Oracle Database yang didukung** - Anda harus menggunakan Oracle Database 19c (Oracle Exadata) atau Oracle Database 19c/23ai (Autonomous Database on Dedicated Infrastructure).
+ ** AWS Wilayah yang Sama** — Database Oracle sumber dan kluster Amazon Redshift target harus berada di Wilayah yang AWS sama.

## Prasyarat basis data Oracle
<a name="zero-etl-oracle-prerequisites"></a>

Anda harus mengkonfigurasi database Oracle Anda dengan pengaturan berikut.

### Penyiapan pengguna replikasi
<a name="zero-etl-replication-user"></a>

Buat pengguna replikasi khusus di setiap database pluggable (PDB) yang ingin Anda tiru:
+ **Untuk Oracle Exadata** — Buat pengguna `ODBZEROETLADMIN` dengan kata sandi yang aman.
+ **Untuk Database Otonom pada Infrastruktur Khusus** - Gunakan `GGADMIN` pengguna yang ada.

Berikan izin berikut kepada pengguna replikasi.

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

### Penebangan tambahan
<a name="zero-etl-supplemental-logging"></a>

Aktifkan pencatatan tambahan pada database Oracle Anda untuk menangkap data perubahan.

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

Untuk mengatur integrasi nol-ETL antara Oracle Database@ dan AWS Amazon Redshift, Anda harus mengonfigurasi SSL.

**Untuk database Oracle Exadata**  
Anda harus mengkonfigurasi SSL secara manual pada port 2484. Tugas ini melibatkan hal-hal berikut:  
+ Mengkonfigurasi di `(PROTOCOL=tcps)(PORT=2484)` `listener.ora`
+ Menyiapkan dompet menggunakan `sqlnet.ora`
+ Membuat dan mengonfigurasi sertifikat SSL (lihat [Cara Mengkonfigurasi SSL/TCPS Untuk Exadata Cloud Database (ExACC/Exacs) (Doc ID 2947301.1)](https://support.oracle.com/knowledge/Oracle%20Database%20Products/2947301_1.html) dalam dokumentasi Dukungan Oracle Saya)

**Untuk Database Otonom**  
SSL pada port 2484 diaktifkan secara default. Tidak diperlukan konfigurasi tambahan.  
Port SSL ditetapkan sebagai 2484.

### AWS prasyarat layanan
<a name="zero-etl-aws-prerequisites"></a>

Sebelum menyiapkan integrasi nol-ETL, siapkan Secrets Manager dan konfigurasikan AWS izin IAM.

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

Simpan kredensi database Oracle Anda di AWS Secrets Manager sebagai berikut:

1. Buat Customer Managed Key (CMK) di Layanan Manajemen AWS Kunci.

1. Simpan kredensi database di AWS Secrets Manager menggunakan CMK.

1. Konfigurasikan kebijakan sumber daya untuk mengizinkan akses Oracle Database@AWS .

Untuk mendapatkan ID kunci dan kata sandi TDE Anda, gunakan teknik yang dijelaskan dalam [metode enkripsi yang didukung untuk menggunakan Oracle sebagai sumber untuk AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption). Perintah berikut menghasilkan dompet base64.

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

Contoh berikut menunjukkan rahasia untuk Oracle Exadata. Untuk{{asm\_service\_name}}, {{111.11.11.11}} mewakili IP virtual untuk node VM. Anda juga dapat mendaftarkan pendengar ASM dengan 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"
  }
}
```

Contoh berikut menunjukkan rahasia untuk 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}}"
    }
  ]
}
```

#### Mengonfigurasi izin IAM
<a name="zero-etl-iam-permissions"></a>

Buat kebijakan IAM yang memungkinkan operasi integrasi nol-ETL. Contoh kebijakan berikut memungkinkan mendeskripsikan, membuat, memperbarui, dan menghapus operasi untuk klaster Exadata VM. Untuk cluster VM Autonomous, gunakan nilai `cloud-autonomous-vm-cluster` bukan `cloud-vm-cluster` untuk ARN sumber daya.