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 AmazonRDS, konfigurasikan hub pada EC2 instans Amazon, lalu konfigurasikan basis data sumber dan target. Bagian berikut memberikan contoh cara mengatur Oracle untuk digunakan dengan Amazon GoldenGate RDS untuk Oracle.

Menyiapkan GoldenGate hub Oracle di Amazon EC2

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

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

  • Anda telah mengalokasikan penyimpanan yang cukup untuk file jejak.

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

  • EC2Instance memiliki memori yang cukup untuk menyimpan informasi transaksi sebelum ditulis ke file trail.

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

    Di shell baris EC2 perintah Amazon, mulaiggsci, penerjemah GoldenGate perintah Oracle. 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 logging tambahan tingkat basis data minimum, jalankan prosedur PL/berikut: SQL

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

Langkah 2: Atur parameter REPLICATION inisialisasi ENABLE GOLDENGATE _ _ ke true

Ketika Anda mengatur parameter inisialisasi ENABLE_GOLDENGATE_REPLICATION ke true, pengaturan ini memungkinkan layanan basis data untuk mendukung replikasi logis. Jika database sumber Anda berada di instans Amazon RDS DB, pastikan Anda memiliki grup parameter yang ditetapkan ke instans DB dengan parameter ENABLE_GOLDENGATE_REPLICATION inisialisasi disetel ketrue. 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 instance 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 di yang terakhir num_hours jam, 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 SQL perintah grant dan prosedur. 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 SQL PL/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: Tambahkan TNS alias untuk database 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: Atur parameter REPLICATION inisialisasi ENABLE GOLDENGATE _ _ ke true

Ketika Anda mengatur parameter inisialisasi ENABLE_GOLDENGATE_REPLICATION untuk true, ini memungkinkan layanan basis data untuk mendukung replikasi logis. Jika database sumber Anda berada di instans Amazon RDS DB, pastikan Anda memiliki grup parameter yang ditetapkan ke instans DB dengan parameter ENABLE_GOLDENGATE_REPLICATION inisialisasi disetel ketrue. 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 SQL PL/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: Tambahkan TNS alias untuk database target

Tambahkan entri berikut ke $ORACLE_HOME/network/admin/tnsnames.ora di beranda Oracle untuk digunakan oleh proses REPLICAT. Untuk database Oracle Multitenant, pastikan bahwa TNS alias 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)) )