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 regionus-central1
. Untuk multi-regioneu
, lampiran jaringan harus berada di regioneurope-west4
.
- Konsol Google Cloud hanya mendukung penggunaan peran pengguna Oracle
NORMAL
untuk menghubungkan Oracle ke BigQuery Data Transfer Service. Anda harus menggunakan BigQuery CLI untuk terhubung menggunakan peran pengguna OracleSYSDBA
danSYSOPER
. - Waktu interval minimum antar-transfer Oracle berulang adalah 15 menit. Interval default untuk transfer berulang adalah 24 jam.
- 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.
Sebelum memulai
Bagian berikut menjelaskan langkah-langkah yang perlu Anda lakukan sebelum membuat transfer Oracle.
Prasyarat Oracle
- Buat kredensial Pengguna di database Oracle.
- Berikan hak istimewa sistem
Create Session
kepada pengguna untuk mengizinkan pembuatan sesi. - Tetapkan tablespace ke akun pengguna.
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. |
connectionType |
Jenis koneksi. Nilai ini dapat berupa |
encryptionMode |
Mode enkripsi. Nilai ini bisa berupa |
oracleObjects |
Daftar objek Oracle yang akan ditransfer. |
Prasyarat BigQuery
- Pastikan Anda telah menyelesaikan semua tindakan yang diperlukan untuk mengaktifkan BigQuery Data Transfer Service.
- Buat set data BigQuery untuk menyimpan data Anda.
- Jika ingin menyiapkan notifikasi operasi transfer untuk Pub/Sub, pastikan Anda memiliki izin Identity and Access Management (IAM)
pubsub.topics.setIamPolicy
. Izin Pub/Sub tidak diperlukan jika Anda hanya menyiapkan notifikasi email. Untuk mengetahui informasi selengkapnya, lihat Notifikasi operasi BigQuery Data Transfer Service.
Peran BigQuery yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat transfer, minta administrator Anda untuk memberi Anda peran IAM BigQuery Admin (roles/bigquery.admin
).
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. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat transfer:
-
bigquery.transfers.update
pada pengguna -
bigquery.datasets.get
pada set data target -
bigquery.datasets.update
pada set data target
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Memuat data Oracle ke BigQuery
Untuk menambahkan data Oracle ke BigQuery, Anda dapat menyiapkan transfer data Oracle menggunakan salah satu opsi berikut:
Konsol
Buka halaman Transfer data di konsol Google Cloud .
Klik
Create transfer.Di bagian Source type, untuk Source, pilih Oracle.
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 Nama database, masukkan nama database Oracle.
- Untuk Connection type, masukkan jenis URL koneksi, yaitu
SERVICE
,SID
, atauTNS
. - Untuk Username, masukkan nama pengguna yang memulai koneksi database Oracle.
- Untuk Sandi, masukkan sandi pengguna yang memulai koneksi database Oracle.
- Untuk Encryption mode, pilih FULL dari menu drop-down untuk mengaktifkan validasi SSL penuh saat terhubung ke database Oracle, atau DISABLE jika tidak ada validasi SSL.
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.
Di bagian Destination settings, untuk Dataset, pilih set data yang Anda buat untuk menyimpan data Anda.
Di bagian Transfer config name, untuk Display name, masukkan nama untuk transfer data.
Di bagian Schedule options:
- Dalam daftar Frekuensi berulang, pilih opsi untuk menentukan seberapa sering transfer data ini dijalankan. Untuk menentukan frekuensi pengulangan kustom, pilih Kustom. 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.
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.
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): ID project 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, seperti1520
.connector.connectionType
: jenis URL koneksi, yaituSERVICE
,SID
, atauTNS
.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.networkAttachment": "projects/dev-project1/regions/us-central1/networkattachments/na1"}'
API
Gunakan metode projects.locations.transferConfigs.create
dan berikan instance resource
TransferConfig
.
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
- Untuk ringkasan BigQuery Data Transfer Service, lihat Pengantar BigQuery Data Transfer Service.
- Untuk informasi cara menggunakan transfer, termasuk mendapatkan informasi tentang konfigurasi transfer, membuat listingan konfigurasi transfer, dan melihat histori pelaksanaan transfer, lihat Menangani transfer.
- Pelajari cara memuat data dengan operasi lintas-cloud.