Menyiapkan Oracle GoldenGate - Layanan Basis Data Relasional Amazon

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

Menyiapkan Oracle GoldenGate

Untuk mengatur Oracle GoldenGate menggunakan Amazon RDS, konfigurasikan hub pada instans Amazon EC2, lalu konfigurasikan basis data sumber dan target. Bagian berikut memberikan contoh cara mengatur Oracle untuk digunakan dengan Amazon RDS GoldenGate for Oracle.

Menyiapkan GoldenGate hub Oracle di Amazon EC2

Untuk membuat GoldenGate hub Oracle di instans Amazon EC2, pertama-tama Anda membuat instans Amazon EC2 dengan instalasi klien penuh Oracle RDBMS. Instans Amazon EC2 juga harus memiliki perangkat lunak Oracle GoldenGate yang diinstal. Versi GoldenGate perangkat lunak Oracle bergantung pada versi basis data sumber dan target. Untuk informasi selengkapnya tentang menginstal Oracle GoldenGate, lihat dokumentasi Oracle GoldenGate.

Instans Amazon EC2 yang berfungsi sebagai GoldenGate hub Oracle menyimpan dan memproses informasi transaksi dari database sumber ke dalam file jejak. Untuk mendukung proses ini, pastikan Anda memenuhi persyaratan berikut:

  • Anda telah mengalokasikan penyimpanan yang cukup untuk file jejak.

  • Instans Amazon EC2 memiliki kekuatan pemrosesan yang cukup untuk mengelola jumlah data.

  • Instans EC2 juga memiliki cukup memori untuk menyimpan informasi transaksi sebelum ditulis ke file jejak.

Untuk menyiapkan hub arsitektur GoldenGate klasik Oracle pada instans Amazon EC2
  1. Buat subdirektori di direktori GoldenGate Oracle.

    Di shell baris perintah Amazon EC2, mulaiggsci, penerjemah perintah Oracle GoldenGate . Perintah CREATE SUBDIRS membuat subdirektori di bawah direktori /gg untuk file parameter, laporan, dan titik pemeriksaan.

    prompt$ cd /gg prompt$ ./ggsci GGSCI> CREATE SUBDIRS
  2. Konfigurasikan file mgr.prm.

    Contoh berikut menambahkan baris ke file $GGHOME/dirprm/mgr.prm.

    PORT 8199 PurgeOldExtracts ./dirdat/*, UseCheckpoints, MINKEEPDAYS 5
  3. Mulai pengelola.

    Contoh berikut memulai perintah ggsci dan menjalankan perintah start mgr.

    GGSCI> start mgr

GoldenGate Hub Oracle sekarang siap digunakan.

Menyiapkan database sumber untuk digunakan dengan Oracle GoldenGate di Amazon RDS

Selesaikan tugas-tugas berikut untuk menyiapkan database sumber untuk digunakan dengan Oracle GoldenGate.

Langkah 1: Mengaktifkan pencatatan log tambahan pada basis data sumber

Untuk mengaktifkan pencatatan log tambahan tingkat basis data minimum, jalankan prosedur PL/SQL berikut:

EXEC rdsadmin.rdsadmin_util.alter_supplemental_logging(p_action => 'ADD')

Langkah 2: Menetapkan parameter inisialisasi ENABLE_GOLDENGATE_REPLICATION ke benar

Ketika Anda mengatur parameter inisialisasi ENABLE_GOLDENGATE_REPLICATION ke true, pengaturan ini memungkinkan layanan basis data untuk mendukung replikasi logis. Jika basis data sumber Anda berada di instans DB Amazon RDS, pastikan Anda memiliki grup parameter yang ditetapkan ke instans DB dengan parameter inisialisasi ENABLE_GOLDENGATE_REPLICATION yang diatur ke true. Untuk informasi parameter inisialisasi ENABLE_GOLDENGATE_REPLICATION selengkapnya, lihat dokumentasi Oracle Database.

Langkah 3: Menetapkan periode retensi log pada basis data sumber

Pastikan Anda mengonfigurasi basis data sumber untuk mempertahankan log pengulangan yang diarsipkan. Pertimbangkan panduan-panduan berikut ini:

  • Tentukan durasi retensi log dalam jam. Nilai minimumnya adalah satu jam.

  • Tetapkan durasi untuk melebihi potensi waktu henti instans DB sumber, potensi periode komunikasi, dan periode potensi masalah jaringan apa pun untuk instans sumber. Durasi seperti itu memungkinkan Oracle GoldenGate memulihkan log dari instans sumber sesuai kebutuhan.

  • Pastikan Anda memiliki penyimpanan yang cukup di instans Anda untuk file.

Misalnya, setel periode retensi untuk log pengulangan yang diarsipkan menjadi 24 jam.

EXEC rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24)

Jika Anda belum mengaktifkan retensi log, atau jika nilai retensi terlalu kecil, Anda akan menerima pesan kesalahan yang mirip dengan berikut ini.

2022-03-06 06:17:27 ERROR OGG-00446 error 2 (No such file or directory) opening redo log /rdsdbdata/db/GGTEST3_A/onlinelog/o1_mf_2_9k4bp1n6_.log for sequence 1306 Not able to establish initial position for begin time 2022-03-06 06:16:55.

Karena instans DB Anda menyimpan log pengulangan yang diarsipkan, pastikan Anda memiliki ruang yang cukup untuk file tersebut. Untuk melihat berapa banyak ruang yang telah Anda gunakan dalam num_hours beberapa jam terakhir, jalankan kueri berikut, ganti num_hours dengan jumlah jam.

SELECT SUM(BLOCKS * BLOCK_SIZE) BYTES FROM V$ARCHIVED_LOG WHERE NEXT_TIME>=SYSDATE-num_hours/24 AND DEST_ID=1;

Langkah 4: Buat akun GoldenGate pengguna Oracle di database sumber

Oracle GoldenGate berjalan sebagai pengguna database dan memerlukan hak database yang sesuai untuk mengakses redo dan arsip redo log untuk database sumber. Untuk menyediakan kebutuhan ini, buat akun pengguna di basis data sumber. Untuk informasi selengkapnya tentang izin untuk akun GoldenGate pengguna Oracle, lihat dokumentasi Oracle.

Pernyataan berikut membuat akun pengguna dengan nama oggadm1.

CREATE TABLESPACE administrator; CREATE USER oggadm1  IDENTIFIED BY "password" DEFAULT TABLESPACE ADMINISTRATOR TEMPORARY TABLESPACE TEMP; ALTER USER oggadm1 QUOTA UNLIMITED ON administrator;
catatan

Tetapkan kata sandi selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.

Langkah 5: Memberi hak akses akun pengguna pada basis data sumber

Dalam tugas ini, Anda memberikan hak istimewa akun yang diperlukan untuk pengguna basis data di basis data sumber Anda.

Memberikan hak akses akun pada basis data sumber
  1. Berikan hak istimewa yang diperlukan ke akun GoldenGate pengguna Oracle menggunakan perintah SQL grant dan prosedurnya. rdsadmin.rdsadmin_util grant_sys_object Pernyataan berikut memberikan hak akses untuk pengguna dengan nama oggadm1.

    GRANT CREATE SESSION, ALTER SESSION TO oggadm1; GRANT RESOURCE TO oggadm1; GRANT SELECT ANY DICTIONARY TO oggadm1; GRANT FLASHBACK ANY TABLE TO oggadm1; GRANT SELECT ANY TABLE TO oggadm1; GRANT SELECT_CATALOG_ROLE TO rds_master_user_name WITH ADMIN OPTION; EXEC rdsadmin.rdsadmin_util.grant_sys_object ('DBA_CLUSTERS', 'OGGADM1'); GRANT EXECUTE ON DBMS_FLASHBACK TO oggadm1; GRANT SELECT ON SYS.V_$DATABASE TO oggadm1; GRANT ALTER ANY TABLE TO oggadm1;
  2. Berikan hak istimewa yang dibutuhkan oleh akun pengguna untuk menjadi administrator Oracle GoldenGate . Jalankan PL/SQL program berikut.

    EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege ( grantee => 'OGGADM1', privilege_type => 'capture', grant_select_privileges => true, do_grants => TRUE);

    Untuk mencabut hak akses, gunakan prosedur revoke_admin_privilege dalam paket yang sama.

Langkah 6: Menambahkan alias TNS untuk basis data sumber

Tambahkan entri berikut ke $ORACLE_HOME/network/admin/tnsnames.ora di beranda Oracle untuk digunakan oleh proses EXTRACT. Untuk informasi selengkapnya tentang file tnsnames.ora, lihat Oracle documentation.

OGGSOURCE= (DESCRIPTION= (ENABLE=BROKEN) (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=goldengate-source.abcdef12345.us-west-2.rds.amazonaws.com)(PORT=8200))) (CONNECT_DATA=(SERVICE_NAME=ORCL)) )

Menyiapkan database target untuk digunakan dengan Oracle GoldenGate di Amazon RDS

Dalam tugas ini, Anda menyiapkan instans DB target untuk digunakan dengan Oracle GoldenGate.

Langkah 1: Menetapkan parameter inisialisasi ENABLE_GOLDENGATE_REPLICATION ke benar

Ketika Anda mengatur parameter inisialisasi ENABLE_GOLDENGATE_REPLICATION untuk true, ini memungkinkan layanan basis data untuk mendukung replikasi logis. Jika basis data sumber Anda berada di instans DB Amazon RDS, pastikan Anda memiliki grup parameter yang ditetapkan ke instans DB dengan parameter inisialisasi ENABLE_GOLDENGATE_REPLICATION yang diatur ke true. Untuk informasi parameter inisialisasi ENABLE_GOLDENGATE_REPLICATION selengkapnya, lihat dokumentasi Oracle Database.

Langkah 2: Buat akun GoldenGate pengguna Oracle pada database target

Oracle GoldenGate berjalan sebagai pengguna database dan membutuhkan hak istimewa database yang sesuai. Untuk memastikannya, buat akun pengguna di basis data target.

Pernyataan berikut akan membuat pengguna dengan nama oggadm1.

CREATE TABLESPSACE administrator; CREATE USER oggadm1  IDENTIFIED BY "password" DEFAULT TABLESPACE administrator TEMPORARY TABLESPACE temp; ALTER USER oggadm1 QUOTA UNLIMITED ON administrator;
catatan

Tetapkan kata sandi selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.

Langkah 3: Memberi hak akses akun pada basis data target

Dalam tugas ini, Anda memberikan hak istimewa akun yang diperlukan untuk pengguna basis data di basis data target Anda.

Untuk memberikan hak akses akun pada basis data target
  1. Berikan hak istimewa yang diperlukan ke akun GoldenGate pengguna Oracle pada basis data target. Pada contoh berikut, Anda memberikan hak akses untuk oggadm1.

    GRANT CREATE SESSION        TO oggadm1; GRANT ALTER SESSION         TO oggadm1; GRANT CREATE CLUSTER        TO oggadm1; GRANT CREATE INDEXTYPE      TO oggadm1; GRANT CREATE OPERATOR       TO oggadm1; GRANT CREATE PROCEDURE      TO oggadm1; GRANT CREATE SEQUENCE       TO oggadm1; GRANT CREATE TABLE          TO oggadm1; GRANT CREATE TRIGGER        TO oggadm1; GRANT CREATE TYPE           TO oggadm1; GRANT SELECT ANY DICTIONARY TO oggadm1; GRANT CREATE ANY TABLE      TO oggadm1; GRANT ALTER ANY TABLE       TO oggadm1; GRANT LOCK ANY TABLE        TO oggadm1; GRANT SELECT ANY TABLE      TO oggadm1; GRANT INSERT ANY TABLE      TO oggadm1; GRANT UPDATE ANY TABLE      TO oggadm1; GRANT DELETE ANY TABLE      TO oggadm1;
  2. Berikan hak istimewa yang dibutuhkan oleh akun pengguna untuk menjadi administrator Oracle GoldenGate . Jalankan PL/SQL program berikut.

    EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege ( grantee => 'OGGADM1', privilege_type => 'apply', grant_select_privileges => true, do_grants => TRUE);

    Untuk mencabut hak akses, gunakan prosedur revoke_admin_privilege dalam paket yang sama.

Langkah 4: Menambahkan alias TNS untuk basis data target

Tambahkan entri berikut ke $ORACLE_HOME/network/admin/tnsnames.ora di beranda Oracle untuk digunakan oleh proses REPLICAT. Untuk basis data Oracle Multitenant, pastikan alias TNS menunjuk ke nama layanan PDB. Untuk informasi selengkapnya tentang file tnsnames.ora, lihat Oracle documentation.

OGGTARGET= (DESCRIPTION= (ENABLE=BROKEN) (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=goldengate-target.abcdef12345.us-west-2.rds.amazonaws.com)(PORT=8200))) (CONNECT_DATA=(SERVICE_NAME=ORCL)) )