All Products
Search
Document Center

:Konfigurasikan sumber data Oracle

Last Updated:Jun 21, 2026

Untuk menyinkronkan data dari sumber data Oracle ke Hologres secara real time, Anda harus menyiapkan sumber data Oracle tersebut. Topik ini menjelaskan cara mengonfigurasi pengaturan jaringan, daftar putih, dan izin untuk menyiapkan lingkungan bagi sinkronisasi data.

Prasyarat

Sebelum mengonfigurasi sumber data, lengkapi persiapan berikut.
  • Sumber data: Anda telah membeli sumber data (Oracle) dan tujuan (Hologres).
  • Resource: Anda telah membeli dan mengonfigurasi grup sumber daya eksklusif untuk Data Integration. Untuk informasi selengkapnya, lihat Rencanakan dan konfigurasikan resource.
  • Lingkungan jaringan: Sebelum melakukan Data Integration, Anda harus membuat koneksi jaringan antara sumber data dan grup sumber daya eksklusif untuk Data Integration sesuai kebutuhan bisnis Anda. Setelah konektivitas jaringan terbentuk, rujuk topik ini untuk mengonfigurasi pengaturan akses, seperti instans VSwitch dan daftar putih.
    • Jika sumber data dan grup sumber daya eksklusif untuk Data Integration berada di wilayah yang sama dan Virtual Private Cloud (VPC) yang sama, keduanya akan terhubung secara otomatis.
    • Jika sumber data dan grup sumber daya eksklusif untuk Data Integration berada di lingkungan jaringan yang berbeda, Anda harus menghubungkannya menggunakan gateway VPN atau metode lainnya.

Latar Belakang

Untuk menyinkronkan data, Anda harus memastikan sumber data dapat terhubung ke grup sumber daya eksklusif untuk Data Integration dan tidak ada batasan izin. Anda juga harus memastikan bahwa sumber data Oracle Anda tidak menggunakan versi database, pengkodean karakter, atau tipe data yang tidak didukung oleh Data Integration.
  • Daftar putih
    Contoh berikut mengasumsikan lingkungan VPC tunggal. Anda harus menambahkan Blok CIDR dari VPC tempat grup sumber daya eksklusif untuk Data Integration berada ke daftar putih. Hal ini memastikan bahwa grup sumber daya tersebut dapat mengakses sumber data.网络联通vpc
  • Izin

    Anda harus membuat akun database yang dapat digunakan Data Integration untuk mengakses sumber data dan melakukan operasi baca-tulis selama sinkronisasi.

  • Periksa apakah versi database didukung oleh tugas sinkronisasi data real-time di Data Integration.

    Data Integration menyinkronkan data dari Oracle secara real time berdasarkan utilitas Oracle LogMiner. Sinkronisasi real-time mendukung versi Oracle 10g, 11g, 12c non cdb, 18c non cdb, dan 19c non cdb. Fitur ini tidak mendukung versi Oracle 12c cdb, 18c cdb, atau 19c cdb. Container Database (CDB), fitur yang diperkenalkan di Oracle 12c, dapat menampung beberapa Pluggable Database (PDB).

    1. Jalankan salah satu pernyataan berikut untuk memeriksa versi database Oracle:
      • Pernyataan 1:
        select * from v$version;
      • Pernyataan 2:
        select version from v$instance;
    2. Jika versi database adalah 12c, 18c, atau 19c, jalankan pernyataan berikut untuk menentukan apakah jenisnya cdb. Tugas sinkronisasi data real-time di Data Integration tidak mendukung database Oracle jenis cdb.
      select name,cdb,open_mode,con_id from v$database;
    Catatan Jika versi database Anda tidak didukung, beralihlah ke versi yang didukung.
  • Izin log
    Saat Oracle menjadi sumber data, Anda harus mengaktifkan archived log, redo log, dan supplemental logging di tingkat database.
    • Archived log: Oracle menyimpan riwayat redo sebagai archived log, yang digunakan untuk pemulihan database penuh setelah kegagalan.
    • Redo log: Oracle menggunakan redo log untuk mengeksekusi ulang transaksi database, memungkinkan pemulihan data setelah kegagalan seperti mati listrik. Anda harus mengaktifkan dan melakukan switch redo log untuk database tersebut.
    • Supplemental logging: Ini menambahkan informasi ekstra ke redo log. Secara default, redo log hanya mencatat nilai baru dari field yang dimodifikasi. Supplemental logging menambahkan detail lebih lanjut ke catatan perubahan, memastikan redo log berisi informasi lengkap untuk menggambarkan semua perubahan data. Hal ini memungkinkan Anda melacak pernyataan lengkap beserta perubahannya selama operasi seperti pemulihan data atau sinkronisasi. Fitur-fitur tertentu Oracle memerlukan supplemental logging agar berfungsi dengan benar.

      Sebagai contoh, tanpa supplemental logging, pernyataan UPDATE hanya mencatat nilai baru dari field yang diperbarui. Dengan supplemental logging diaktifkan, redo log juga mencatat kolom yang dimodifikasi, nilai sebelum dan sesudah perubahan, serta nilai predikat yang digunakan untuk menemukan baris yang akan diperbarui. Informasi rinci ini memungkinkan Anda memulihkan data setelah kegagalan, seperti mati listrik.

      Saat menggunakan Data Integration, kami merekomendasikan Anda mengaktifkan supplemental logging untuk kolom kunci primer atau indeks unik.
      • Setelah mengaktifkan supplemental logging untuk kolom kunci primer, semua kolom yang membentuk kunci primer akan dicatat dalam log selama pembaruan apa pun.
      • Setelah mengaktifkan supplemental logging untuk kolom indeks unik, jika kolom apa pun dalam kunci unik atau indeks bitmap dimodifikasi, semua kolom lain dalam indeks tersebut juga akan dicatat dalam log.
    Sebelum menggunakan Data Integration untuk menyinkronkan data Oracle secara real time, pastikan archived log dan supplemental logging di tingkat database telah diaktifkan. Untuk memeriksa statusnya, jalankan pernyataan SQL berikut:
    select log_mode, supplemental_log_data_pk, supplemental_log_data_ui from v$database;
    • Jika nilai log_mode adalah ARCHIVELOG, archived log telah diaktifkan. Jika nilainya bukan ARCHIVELOG, Anda harus mengaktifkan archived log. Untuk petunjuknya, lihat bagian Aktifkan archived log.
    • Jika nilai supplemental_log_data_pk dan supplemental_log_data_ui adalah YES, supplemental logging telah diaktifkan. Jika nilainya NO, Anda harus mengaktifkan supplemental logging. Untuk petunjuknya, lihat bagian Aktifkan supplemental logging.
  • Periksa pengkodean karakter database

    Anda harus memastikan bahwa database Oracle tidak menggunakan pengkodean karakter yang tidak didukung oleh Data Integration untuk mencegah kegagalan sinkronisasi. Data Integration hanya mendukung pengkodean karakter UTF8, AL32UTF8, AL16UTF16, dan ZHS16GBK.

  • Periksa tipe data yang tidak didukung

    Anda harus memastikan bahwa database Oracle tidak menggunakan tipe data yang tidak didukung oleh Data Integration untuk mencegah kegagalan sinkronisasi. Sinkronisasi data real-time tidak mendukung tipe data LONG, BFILE, LONG RAW, atau NCLOB.

Batasan

  • Anda dapat mengaktifkan supplemental logging untuk database utama atau secondary, tetapi tindakan ini harus dilakukan pada database utama.
  • Data Integration hanya mendukung pengkodean karakter UTF8, AL32UTF8, AL16UTF16, dan ZHS16GBK.
  • Sinkronisasi data real-time tidak mendukung tipe data LONG, BFILE, LONG RAW, atau NCLOB. Satu instans Oracle mendukung maksimal 500 GB perubahan data inkremental per hari untuk sinkronisasi real-time.
  • Sinkronisasi real-time mendukung versi Oracle 10g, 11g, 12c non cdb, 18c non cdb, dan 19c non cdb. Fitur ini tidak mendukung versi Oracle 12c cdb, 18c cdb, atau 19c cdb. Container Database (CDB), fitur yang diperkenalkan di Oracle 12c, dapat menampung beberapa Pluggable Database (PDB).

Catatan

  • Untuk tugas sinkronisasi data real-time, Data Integration mendukung berlangganan ke online redo log untuk database Oracle utama. Untuk database secondary, Data Integration hanya berlangganan ke archived log. Untuk tugas yang memerlukan latensi rendah, kami merekomendasikan Anda berlangganan ke perubahan inkremental real-time dari database utama. Saat Anda berlangganan ke database secondary, latensi minimum antara pembuatan log dan pengambilannya bergantung pada interval switch archived log otomatis Oracle. Oleh karena itu, latensi rendah tidak dapat dijamin.
  • Kami merekomendasikan Anda menyimpan archived log di database Oracle Anda minimal selama tiga hari. Saat volume data besar ditulis ke database, kecepatan sinkronisasi real-time mungkin lebih lambat daripada kecepatan pembuatan log. Menyimpan log memberikan waktu yang cukup untuk melacak data jika terjadi masalah. Anda dapat menganalisis archived log untuk memecahkan masalah dan memulihkan data.
  • Tugas sinkronisasi data real-time di Data Integration tidak mendukung operasi truncate pada tabel Oracle tanpa kunci primer. Analisis log (logminer) untuk tabel tanpa kunci primer mengandalkan Rowid untuk pencarian. Operasi truncate mengubah nilai Rowid tabel, menyebabkan tugas sinkronisasi gagal.
  • Saat menjalankan tugas sinkronisasi real-time pada instans DataWorks dengan 24 vCPU dan memori 192 GiB, utilisasi CPU single-core pada server Oracle bervariasi. Jika log tidak terutama berasal dari operasi update dan kecepatan sinkronisasi mencapai batas sekitar 30.000 hingga 50.000 catatan per detik, utilisasi CPU single-core pada server Oracle dapat mencapai 25% hingga 35%. Namun, jika log sebagian besar berasal dari operasi update, instans DataWorks yang memproses paket tersebut mungkin menjadi bottleneck performa, dan utilisasi CPU single-core pada server Oracle mungkin hanya 1% hingga 5%.

Prosedur

  1. Konfigurasikan daftar putih.
    Tambahkan Blok CIDR VPC dari grup sumber daya eksklusif ke daftar putih Oracle. Untuk melakukannya, ikuti langkah-langkah berikut:
    1. Lihat dan catat informasi jaringan grup sumber daya eksklusif.
      1. Masuk ke Konsol DataWorks.
      2. Di panel navigasi kiri, klik Resource Groups.
      3. Di tab Exclusive Resource Groups, temukan grup sumber daya target lalu klik View Information di kolom Actions.
      4. Di kotak dialog yang muncul, salin EIP dan CIDR block lalu tambahkan ke daftar putih database.
      5. Di tab Exclusive Resource Groups, temukan grup sumber daya target lalu klik Network Settings di kolom Actions.
      6. Di tab VPC Binding, temukan CIDR block of the VSwitch lalu tambahkan ke daftar putih database.
    2. Tambahkan EIP dan Blok CIDR yang telah Anda catat ke daftar putih kluster Oracle Anda.
  2. Buat akun dan berikan izin.
    Anda harus membuat akun database untuk operasi selanjutnya. Akun ini harus memiliki izin yang diperlukan di Oracle.
    1. Buat akun.
      Untuk informasi selengkapnya, lihat Create an Oracle database account.
    2. Berikan izin.
      Jalankan perintah berikut untuk memberikan izin yang diperlukan. Ganti 'your_account' dengan akun yang telah Anda buat.
      grant create session to 'your_account';  -- Berikan izin logon ke akun.
      grant connect to 'your_account';  -- Berikan izin koneksi ke akun.
      grant select on nls_database_parameters to 'your_account';  -- Berikan izin untuk mengkueri konfigurasi sistem nls_database_parameters.
      grant select on all_users to 'your_account';  -- Berikan izin untuk mengkueri semua pengguna di database.
      grant select on all_objects to 'your_account';  -- Berikan izin untuk mengkueri semua objek di database.
      grant select on DBA_MVIEWS to 'your_account';  -- Berikan izin untuk melihat materialized view database.
      grant select on DBA_MVIEW_LOGS to 'your_account';  -- Berikan izin untuk melihat log materialized view database.
      grant select on DBA_CONSTRAINTS to 'your_account';  -- Berikan izin untuk melihat constraint pada semua tabel.
      grant select on DBA_CONS_COLUMNS to 'your_account';  -- Berikan izin untuk melihat informasi kolom yang termasuk dalam constraint.
      grant select on all_tab_cols to 'your_account';  -- Berikan izin untuk melihat informasi kolom untuk tabel, tampilan, dan kluster.
      grant select on sys.obj$ to 'your_account';  -- Berikan izin untuk melihat objek database. Tabel sys.obj$ adalah tabel kamus dasar yang menyimpan semua objek Oracle.
      grant select on SYS.COL$ to 'your_account';  -- Berikan izin untuk melihat definisi kolom. SYS.COL$ menyimpan definisi kolom untuk tabel.
      grant select on sys.USER$ to 'your_account';  -- Berikan izin untuk melihat tabel sistem sys.USER$.
      grant select on sys.cdef$ to 'your_account';  -- Berikan izin untuk melihat tabel sistem sys.cdef$.
      grant select on sys.con$ to 'your_account';  -- Berikan izin untuk melihat constraint database. Tabel sys.con$ menyimpan informasi constraint.
      grant select on all_indexes to 'your_account';  -- Berikan izin untuk melihat semua indeks di database.
      grant select on v_$database to 'your_account';  -- Berikan izin untuk melihat tampilan v_$database.
      grant select on V_$ARCHIVE_DEST to 'your_account';  -- Berikan izin untuk melihat tampilan V_$ARCHIVE_DEST.
      grant select on v_$log to 'your_account';  -- Berikan izin untuk melihat tampilan v_$log, yang menampilkan informasi file log dari control file.
      grant select on v_$logfile to 'your_account';  -- Berikan izin untuk melihat tampilan v_$logfile, yang berisi informasi tentang file redo log.
      grant select on v_$archived_log to 'your_account';  -- Berikan izin untuk melihat tampilan v$archived_log, yang berisi informasi tentang archived log.
      grant select on V_$LOGMNR_CONTENTS to 'your_account';  -- Berikan izin untuk melihat tampilan V_$LOGMNR_CONTENTS.
      grant select on DUAL to 'your_account';   -- Berikan izin untuk melihat tabel DUAL, tabel virtual yang digunakan untuk sintaks SELECT.
      grant select on v_$parameter to 'your_account';  -- Berikan izin untuk melihat tampilan v_$parameter, tabel kamus dinamis yang menyimpan nilai parameter.
      grant select any transaction to 'your_account';  -- Berikan izin untuk melihat transaksi apa pun.
      grant execute on SYS.DBMS_LOGMNR to 'your_account';  -- Berikan izin untuk menggunakan utilitas DBMS_LOGMNR guna menganalisis transaksi dan memulihkan data.
      grant alter session to 'your_account';  -- Berikan izin untuk mengubah session.
      grant select on dba_objects to 'your_account';  -- Berikan izin untuk melihat semua objek database.
      grant select on v_$standby_log to 'your_account';  -- Berikan izin untuk melihat tampilan v_$standby_log, yang berisi informasi tentang standby log.
      grant select on v_$ARCHIVE_GAP to 'your_account';  -- Berikan izin untuk mengkueri celah log arsip.
      Untuk melakukan sinkronisasi offline penuh, Anda juga harus menjalankan perintah berikut untuk memberikan izin kueri pada semua tabel:
      grant select any table to 'your_account'; 
      Untuk Oracle 12c dan versi setelahnya, Anda harus menjalankan perintah berikut untuk memberikan izin penambangan log. Perintah ini tidak diperlukan untuk versi sebelumnya, karena fitur penambangan log sudah built-in.
      grant LOGMINING TO 'your_account';
  3. Aktifkan archived log, aktifkan supplemental logging, dan switch file redo log.
    Masuk ke database utama dan lakukan langkah-langkah berikut:
    1. Aktifkan archived log.
      shutdown immediate;
      startup mount;
      alter database archivelog;
      alter database open;
    2. Aktifkan supplemental logging.

      Anda dapat mengaktifkan supplemental logging sesuai kebutuhan dengan menjalankan salah satu pernyataan SQL berikut:

      -- Aktifkan supplemental logging untuk kolom kunci primer.
      alter database add supplemental log data(primary key) columns; 
      -- Aktifkan supplemental logging untuk kolom indeks unik.
      alter database add supplemental log data(unique) columns; 
    3. Switch file redo log.
      Setelah mengaktifkan supplemental logging, jalankan perintah berikut beberapa kali (kami merekomendasikan lima kali) untuk melakukan switch file redo log:
      alter system switch logfile;
      Catatan Menjalankan perintah ini beberapa kali memastikan sistem beralih ke file log baru saat file saat ini penuh, mencegah kehilangan data dan menyederhanakan pemulihan.
  4. Periksa pengkodean karakter database.
    Jalankan perintah berikut di database Anda untuk memeriksa pengkodean karakter:
    select * from v$nls_parameters where PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');
    • v$nls_parameters menyimpan pengaturan parameter database.
    • NLS_CHARACTERSET dan NLS_NCHAR_CHARACTERSET masing-masing adalah set karakter database dan set karakter nasional. Keduanya menentukan tipe penyimpanan untuk data karakter di Oracle.
    Data Integration hanya mendukung pengkodean karakter UTF8, AL32UTF8, AL16UTF16, dan ZHS16GBK. Jika database Anda menggunakan pengkodean karakter yang tidak didukung, Anda harus mengubahnya sebelum menyinkronkan data.
  5. Periksa tipe data di tabel database.
    Anda dapat menggunakan pernyataan SQL SELECT untuk mengkueri tipe data suatu tabel. Contoh berikut menunjukkan cara mengkueri tipe data tabel 'tablename'.
    select COLUMN_NAME,DATA_TYPE from all_tab_columns where TABLE_NAME='tablename'; 
    • COLUMN_NAME: Nama kolom tabel.
    • DATA_TYPE: Tipe data kolom.
    • all_tab_columns: Tampilan yang berisi informasi tentang semua kolom di tabel database.
    • TABLE_NAME: Nama tabel target. Ganti 'tablename' dengan nama tabel aktual Anda saat menjalankan pernyataan tersebut.
    Anda juga dapat menjalankan select * from 'tablename'; untuk mengkueri semua informasi tentang tabel target, termasuk tipe datanya.
    Jika suatu tabel berisi tipe data yang tidak didukung, hapus tabel tersebut dari tugas sinkronisasi data real-time atau ubah tipe data kolomnya sebelum menyinkronkan data.

Langkah selanjutnya

Setelah mengonfigurasi sumber data, Anda telah membuat konektivitas jaringan antara sumber, grup sumber daya, dan tujuan, serta menghapus semua batasan akses. Anda kini dapat menambahkan sumber data dan tujuan ke DataWorks. Hal ini memungkinkan Anda mengaitkannya saat membuat tugas sinkronisasi data.

Untuk informasi selengkapnya tentang cara menambahkan sumber data, lihat Add a data source.