Memuat data Oracle ke BigQuery

Anda dapat memuat data dari Oracle ke BigQuery menggunakan konektor BigQuery Data Transfer Service untuk Oracle. Dengan BigQuery Data Transfer Service, Anda dapat menjadwalkan tugas transfer berulang yang menambahkan data terbaru dari Oracle ke BigQuery.

Batasan

Transfer Oracle tunduk pada batasan berikut:

  • Jumlah maksimum koneksi serentak ke database Oracle dibatasi, dan akibatnya, jumlah proses transfer serentak ke satu database Oracle dibatasi hingga jumlah maksimum tersebut.
  • Anda harus menyiapkan lampiran jaringan jika IP publik tidak tersedia untuk koneksi database Oracle, dengan persyaratan berikut:
    • Sumber data harus dapat diakses dari subnet tempat lampiran jaringan berada.
    • Lampiran jaringan tidak boleh berada di subnet dalam rentang 240.0.0.0/24.
    • Lampiran jaringan tidak dapat dihapus jika ada koneksi aktif ke lampiran. Untuk menghapus lampiran jaringan, hubungi Cloud Customer Care.
    • Untuk multi-region us, lampiran jaringan harus berada di region us-central1. Untuk multi-region eu, lampiran jaringan harus berada di region europe-west4.
  • Waktu interval minimum antar-transfer Oracle berulang adalah 15 menit. Interval default untuk transfer berulang adalah 24 jam.
  • Satu konfigurasi transfer hanya dapat mendukung satu kali menjalankan transfer data pada waktu tertentu. Jika transfer data kedua dijadwalkan untuk berjalan sebelum transfer pertama selesai, maka hanya transfer data pertama yang akan selesai, sementara transfer data lain yang tumpang-tindih dengan transfer pertama akan dilewati.
    • Untuk menghindari transfer yang dilewati dalam satu konfigurasi transfer, sebaiknya Anda memperpanjang durasi waktu antara transfer data besar dengan mengonfigurasi Frekuensi pengulangan.
  • Jika lampiran jaringan dan instance virtual machine (VM) yang dikonfigurasi berada di region yang berbeda, mungkin ada pergerakan data lintas region saat Anda mentransfer data dari Oracle.

Opsi penyerapan data

Bagian berikut memberikan informasi tentang opsi penyerapan data saat Anda menyiapkan transfer data Oracle.

Konfigurasi TLS

Konektor Oracle mendukung konfigurasi untuk keamanan tingkat transport (TLS) guna mengenkripsi transfer data Anda ke BigQuery. Konektor Oracle mendukung konfigurasi TLS berikut:

  • Enkripsi data, dan verifikasi CA dan nama host: Mode ini melakukan validasi server secara penuh menggunakan TLS melalui protokol TCPS. Fitur ini mengenkripsi semua data dalam pengiriman dan memverifikasi bahwa sertifikat server database ditandatangani oleh Certificate Authority (CA) tepercaya. Mode ini juga memeriksa apakah nama host yang Anda hubungkan sama persis dengan Nama Umum (CN) atau Nama Alternatif Subjek (SAN) pada sertifikat server. Mode ini mencegah penyerang menggunakan sertifikat yang valid untuk domain lain guna meniru server database Anda.
    • Jika nama host Anda tidak cocok dengan CN atau SAN sertifikat, koneksi akan gagal. Anda harus mengonfigurasi resolusi DNS agar cocok dengan sertifikat atau menggunakan mode keamanan yang berbeda.
    • Gunakan mode ini untuk opsi paling aman guna mencegah serangan person-in-the-middle (PITM).
  • Enkripsi data, dan hanya verifikasi CA: Mode ini mengenkripsi semua data menggunakan TLS melalui protokol TCPS dan memverifikasi bahwa sertifikat server ditandatangani oleh CA yang dipercaya klien. Namun, mode ini tidak memverifikasi nama host server. Mode ini berhasil terhubung selama sertifikat valid dan dikeluarkan oleh VA tepercaya, terlepas dari apakah nama host dalam sertifikat cocok dengan nama host yang Anda hubungi.
    • Gunakan mode ini jika Anda ingin memastikan bahwa Anda terhubung ke server yang sertifikatnya ditandatangani oleh CA tepercaya, tetapi nama host tidak dapat diverifikasi atau Anda tidak memiliki kontrol atas konfigurasi nama host.
  • Hanya enkripsi: Mode ini mengenkripsi semua data yang ditransfer antara klien dan server menggunakan Enkripsi Jaringan Native Oracle melalui port TCP standar. Tidak melakukan validasi sertifikat atau nama host apa pun.
    • Mode ini memberikan tingkat keamanan tertentu dengan melindungi data dalam pengiriman, tetapi dapat rentan terhadap serangan PITM.
    • Gunakan mode ini jika Anda perlu memastikan semua data dienkripsi, tetapi tidak dapat atau tidak ingin memverifikasi identitas server. Sebaiknya gunakan mode ini saat bekerja dengan VPC pribadi.
  • Tidak ada enkripsi atau verifikasi: Mode ini tidak mengenkripsi data apa pun dan tidak melakukan verifikasi sertifikat atau nama host. Semua data dikirim sebagai teks biasa.
    • Sebaiknya jangan gunakan mode ini di lingkungan tempat data sensitif ditangani.
    • Sebaiknya gunakan mode ini hanya untuk tujuan pengujian di jaringan terisolasi yang tidak mengkhawatirkan keamanan.

Sertifikat Server Tepercaya (PEM)

Jika Anda menggunakan mode Enkripsi data, dan verifikasi CA serta nama host atau mode Enkripsi data, dan verifikasi CA, Anda juga dapat memberikan satu atau beberapa sertifikat yang dienkode PEM. Sertifikat ini diperlukan dalam beberapa skenario saat BigQuery Data Transfer Service perlu memverifikasi identitas server database Anda selama koneksi TLS:

  • Jika Anda menggunakan sertifikat yang ditandatangani oleh CA pribadi dalam organisasi Anda atau sertifikat yang ditandatangani sendiri, Anda harus memberikan rantai sertifikat lengkap atau sertifikat tunggal yang ditandatangani sendiri. Hal ini diperlukan untuk sertifikat yang dikeluarkan oleh CA internal layanan penyedia cloud terkelola, seperti Amazon Relational Database Service (RDS).
  • Jika sertifikat server database Anda ditandatangani oleh CA publik (misalnya, Let's Encrypt, DigiCert, atau GlobalSign), Anda tidak perlu memberikan sertifikat. Sertifikat root untuk CA publik ini telah diinstal sebelumnya dan dipercaya oleh BigQuery Data Transfer Service.

Anda dapat memberikan sertifikat berenkode PEM di kolom Sertifikat PEM Tepercaya saat membuat konfigurasi transfer Oracle, dengan persyaratan berikut:

  • Sertifikat harus berupa rantai sertifikat berenkode PEM yang valid.
  • Sertifikat harus benar sepenuhnya. Sertifikat yang tidak ada dalam rantai atau konten yang salah menyebabkan koneksi TLS gagal.
  • Untuk satu sertifikat, Anda dapat memberikan sertifikat tunggal yang ditandatangani sendiri dari server database.
  • Untuk rantai sertifikat lengkap yang diterbitkan oleh CA pribadi, Anda harus memberikan rantai kepercayaan lengkap. Hal ini mencakup sertifikat dari server database dan sertifikat CA perantara dan root.

Sebelum memulai

Bagian berikut menjelaskan langkah-langkah yang perlu Anda lakukan sebelum membuat transfer Oracle.

Prasyarat Oracle

Anda juga harus memiliki informasi database Oracle berikut saat membuat transfer Oracle.

Nama Parameter Deskripsi
database Nama database.
host

Nama host atau alamat IP database.

port

Nomor port database.

username

Nama pengguna untuk mengakses database.

password

Sandi untuk mengakses database.

Prasyarat BigQuery

Peran BigQuery yang diperlukan

Untuk mendapatkan izin yang diperlukan guna membuat transfer data BigQuery Data Transfer Service, minta administrator untuk memberi Anda peran IAM BigQuery Admin (roles/bigquery.admin) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk membuat transfer data BigQuery Data Transfer Service. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat transfer data BigQuery Data Transfer Service:

  • Izin BigQuery Data Transfer Service:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • Izin BigQuery:
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi selengkapnya, lihat Memberikan akses bigquery.admin.

Memuat data Oracle ke BigQuery

Tambahkan data Oracle ke BigQuery dengan menyiapkan konfigurasi transfer menggunakan salah satu opsi berikut:

Konsol

  1. Buka halaman Transfer data di konsol Google Cloud .

    Buka Data transfers

  2. Klik Create transfer.

  3. Di bagian Source type, untuk Source, pilih Oracle.

  4. Di bagian Detail sumber data, lakukan hal berikut:

    • Untuk Network attachment, pilih network attachment yang ada atau klik Create Network Attachment.
    • Untuk Host, masukkan nama host atau IP database.
    • Untuk Port, masukkan nomor port yang digunakan database Oracle untuk koneksi masuk, seperti 1521.
    • Untuk Database name, masukkan nama database Oracle.
    • Untuk Jenis koneksi, masukkan jenis URL koneksi, yaitu SERVICE, SID, atau TNS.
    • Untuk Username, masukkan nama pengguna yang memulai koneksi database Oracle.
    • Untuk Sandi, masukkan sandi pengguna yang memulai koneksi database Oracle.
    • Untuk Mode TLS, pilih opsi dari menu drop-down. Untuk mengetahui informasi selengkapnya tentang mode TLS, lihat Konfigurasi TLS.
    • Untuk Sertifikat PEM Tepercaya, masukkan sertifikat publik certificate authority (CA) yang menerbitkan sertifikat TLS server database. Untuk mengetahui informasi selengkapnya, lihat Sertifikat Server Tepercaya (PEM).
    • Untuk Oracle objects to transfer, klik BROWSE untuk memilih tabel yang akan ditransfer ke set data tujuan BigQuery. Anda juga dapat memasukkan objek apa pun secara manual untuk disertakan dalam transfer data di kolom ini.
  5. Di bagian Destination settings, untuk Dataset, pilih set data yang Anda buat untuk menyimpan data Anda.

  6. Di bagian Transfer config name, untuk Display name, masukkan nama untuk transfer data.

  7. Di bagian Schedule options:

    • Dalam daftar Frekuensi berulang, pilih opsi untuk menentukan seberapa sering transfer data ini dijalankan. Untuk menentukan frekuensi pengulangan kustom, pilih Custom. Jika Anda memilih Sesuai permintaan, transfer ini akan berjalan saat Anda memicu transfer secara manual.
    • Jika berlaku, pilih Start now atau Start at set time, dan masukkan tanggal mulai dan waktu proses.
  8. Opsional: Di bagian Opsi notifikasi, lakukan hal berikut:

    • Untuk mengaktifkan notifikasi email, klik tombol Notifikasi email. Saat Anda mengaktifkan opsi ini, administrator transfer akan menerima notifikasi email saat proses transfer gagal.
    • Untuk mengaktifkan notifikasi operasi transfer Pub/Sub untuk transfer ini, klik tombol Notifikasi Pub/Sub. Anda dapat memilih nama topik, atau Anda dapat mengklik Buat topik untuk membuatnya.
  9. Klik Simpan.

bq

Masukkan perintah bq mk dan berikan flag pembuatan transfer --transfer_config:

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=DISPLAY_NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

Dengan:

  • PROJECT_ID (opsional): project ID Google Cloud Anda. Jika --project_id tidak diberikan untuk menentukan project tertentu, project default akan digunakan.
  • DATA_SOURCE: sumber data — oracle.
  • DISPLAY_NAME: nama tampilan untuk konfigurasi transfer. Nama transfer data dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.
  • DATASET: set data target untuk konfigurasi transfer.
  • PARAMETERS: parameter untuk konfigurasi transfer yang dibuat dalam format JSON. Contoh: --params='{"param":"param_value"}'. Berikut adalah parameter untuk transfer data Oracle:

    • connector.networkAttachment (opsional): nama lampiran jaringan untuk terhubung ke database Oracle.
    • connector.authentication.Username: nama pengguna akun Oracle.
    • connector.authentication.Password: sandi akun Oracle.
    • connector.database: nama database Oracle.
    • connector.endpoint.host: nama host atau IP database.
    • connector.endpoint.port: nomor port yang digunakan database Oracle untuk koneksi masuk, seperti 1520.
    • connector.connectionType: jenis URL koneksi, yaitu SERVICE, SID, atau TNS.
    • connector.tls.mode: tentukan konfigurasi TLS yang akan digunakan dengan transfer ini:
      • ENCRYPT_VERIFY_CA_AND_HOST untuk mengenkripsi data, dan memverifikasi CA dan nama host
      • ENCRYPT_VERIFY_CA untuk mengenkripsi data, dan hanya memverifikasi CA
      • ENCRYPT_VERIFY_NONE hanya untuk enkripsi data
      • DISABLE untuk tidak ada enkripsi atau verifikasi
    • connector.tls.trustedServerCertificate: (opsional) berikan satu atau beberapa sertifikat yang dienkode PEM. Wajib hanya jika connector.tls.mode adalah ENCRYPT_VERIFY_CA_AND_HOST atau ENCRYPT_VERIFY_CA.
    • assets: jalur ke objek Oracle yang akan ditransfer ke BigQuery, menggunakan format: DATABASE_NAME/SCHEMA_NAME/TABLE_NAME

Misalnya, perintah berikut akan membuat transfer data Oracle di project default dengan semua parameter yang diperlukan:

bq mk
    --transfer_config
    --target_dataset=mydataset
    --data_source=oracle
    --display_name='My Transfer'
    --params='{"assets":["DB1/USER1/DEPARTMENT","DB1/USER1/EMPLOYEES"],
        "connector.authentication.username": "User1",
        "connector.authentication.password":"ABC12345",
        "connector.database":"DB1",
        "connector.endpoint.host":"192.168.0.1",
        "connector.endpoint.port":1520,
        "connector.connectionType":"SERVICE",
        "connector.tls.mode": "ENCRYPT_VERIFY_CA_AND_HOST",
        "connector.tls.trustedServerCertificate": "PEM-encoded certificate",
        "connector.networkAttachment":
        "projects/dev-project1/regions/us-central1/networkattachments/na1"}'

API

Gunakan metode projects.locations.transferConfigs.create dan berikan instance resource TransferConfig.

Saat Anda menyimpan konfigurasi transfer, konektor Oracle akan otomatis memicu proses transfer sesuai dengan opsi jadwal Anda. Dengan setiap operasi transfer, konektor Oracle mentransfer semua data yang tersedia dari Oracle ke BigQuery.

Untuk menjalankan transfer data secara manual di luar jadwal reguler, Anda dapat memulai operasi pengisian ulang.

Pemetaan jenis data

Tabel berikut memetakan jenis data Oracle ke jenis data BigQuery yang sesuai.

Jenis data Oracle Jenis data BigQuery
BFILE BYTES
BINARY_DOUBLE FLOAT
BINARY_FLOAT FLOAT
BLOB BYTES
CHAR STRING
CLOB STRING
DATE DATETIME
FLOAT FLOAT
INTERVAL DAY TO SECOND STRING
INTERVAL YEAR TO MONTH STRING
LONG STRING
LONG RAW BYTES
NCHAR STRING
NCLOB STRING
NUMBER (without precision and scale) STRING
NUMBER (with precision and scale lower than the BigQuery Numeric range) NUMERIC
NUMBER (with precision and scale lower than the BigQuery BigNumeric range) BIGNUMERIC
NUMBER (with precision and scale greater than the BigQuery BigNumeric range) STRING
NVARCHAR2 STRING
RAW BYTES
ROWID STRING
TIMESTAMP DATETIME
TIMESTAMP WITH LOCAL TIME ZONE DATETIME
TIMESTAMP WITH TIME ZONE TIMESTAMP
UROWID STRING
VARCHAR STRING
VARCHAR2 STRING

Memecahkan masalah penyiapan transfer

Jika Anda mengalami masalah saat menyiapkan transfer data, lihat Masalah transfer Oracle.

Harga

Tidak ada biaya untuk mentransfer data Oracle ke BigQuery selama fitur ini dalam status Pratinjau.

Langkah berikutnya