Looker memiliki dukungan tingkat integrasi untuk Oracle ADWC. Halaman ini berisi informasi tentang cara menghubungkan Looker ke Oracle ADWC.
Mengenkripsi traffic jaringan
Sebaiknya enkripsi traffic jaringan antara aplikasi Looker dan database Anda. Pertimbangkan salah satu opsi yang dijelaskan di halaman dokumentasi Mengaktifkan akses database yang aman.
Menyiapkan host Looker untuk koneksi
Semua koneksi Oracle ADWC memerlukan SSL dan autentikasi sertifikat. Agar Looker dapat terhubung ke instance Oracle ADWC Anda, Anda harus mendownload file wallet Oracle dan menginstalnya di server Looker. Jika Anda adalah pengguna Looker yang dihosting pelanggan, Anda memerlukan administrator sistem yang memiliki akses ke server Looker untuk melakukannya. Jika Anda adalah pengguna yang dihosting Looker, hubungi Dukungan Looker.
Untuk menginstal wallet Oracle di server Looker:
Unduh dompet Oracle Anda ke komputer lokal Anda. Anda akan memiliki file zip yang namanya seperti
Wallet_databasename.zip.Di server Looker, buat direktori untuk menyimpan file zip wallet:
mkdir /home/looker/looker/credentialsSalin file zip wallet dari komputer lokal Anda ke server Looker. Contoh ini menggunakan
scpdan menempatkan file di/home/looker/looker/credentials:scp Wallet_databasename.zip username@remotehost:/home/looker/looker/credentialsBuka file zip wallet. Contoh ini menggunakan perintah
unzip:cd /home/looker/looker/credentials unzip Wallet_databasename.zipVerifikasi konten wallet dengan perintah
ls. Berikut adalah file yang harus Anda miliki:ls cwallet.sso keystore.jks sqlnet.ora truststore.jks ewallet.p12 ojdbc.properties tnsnames.oraLooker terhubung ke Oracle ADWC menggunakan Wallet Oracle dengan JDBC Thin Driver 18.3. Untuk melakukannya, Anda memerlukan Alias Transparent Network Substrate (TNS) dari tingkat Layanan Oracle ADWC untuk database Anda dan PATH ke file wallet Oracle Anda.
Untuk mendapatkan Alias TNS database Anda, jalankan perintah ini:
cat tnsnames.oraAkan ada tiga alias TNS yang dapat dipilih:
dbname_high,dbname_medium, dandbname_low. Alias ini sesuai dengan tingkat layanan yang berbeda. Informasi protokol, host, port, nama layanan, dan SSL disertakan dalam file ini. Untuk contoh ini, kita akan menggunakandbname_medium.
Membuat pengguna Looker
Pertama, buat pengguna Looker yang ditetapkan:
-- connect / as sysdba;
CREATE USER LOOKER IDENTIFIED BY <password>
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
Selanjutnya, berikan kemampuan kepada pengguna Looker baru untuk membuat sesi:
GRANT CREATE SESSION TO LOOKER;
Terakhir, berikan izin SELECT yang sesuai kepada pengguna Looker untuk tabel data yang Anda rencanakan untuk diakses dari Looker. Jika ingin mengakses tabel tambahan di masa mendatang, Anda juga harus memberikan SELECT pada tabel baru tersebut.
GRANT SELECT ON -- <all tables that will be used by looker>;
Memastikan Looker dapat melihat semua tabel
Looker mungkin tidak dapat mengidentifikasi tabel (terutama tabel kosong) tanpa mengumpulkan statistik terlebih dahulu di Oracle. Jika tabel yang Anda butuhkan tidak muncul di LookML atau SQL Runner yang dihasilkan, jalankan perintah ini:
EXEC DBMS_STATS.GATHER_DATABASE_STATS;
Untuk metode alternatif, lihat dokumentasi Oracle Anda.
Menyiapkan objek database utama
DBA Oracle Anda harus menyiapkan objek dan izin berikut di Oracle. Perintah berikut membuat LOOKER_SESSION dan LOOKER_SQL sebagai sinonim untuk V$SESSION dan V$SQL.
Jalankan perintah berikut sebagai pengguna root untuk menyelesaikan penyiapan ini. Contoh ini mengasumsikan bahwa nama pengguna Looker adalah LOOKER.
CREATE OR REPLACE VIEW LOOKER_SQL
AS
SELECT
sql.SQL_ID,
sql.SQL_TEXT
FROM
V$SQL sql,
v$session sess
WHERE
sess.SQL_ADDRESS = sql.ADDRESS AND
sess.username='LOOKER';
CREATE OR REPLACE SYNONYM LOOKER.LOOKER_SQL FOR LOOKER_SQL;
GRANT SELECT ON LOOKER.LOOKER_SQL TO LOOKER;
-- Pay special attention to the comments:
-- the following view will be different for clustered Oracle deployments
CREATE OR REPLACE VIEW LOOKER_SESSION
AS
SELECT
SID,
USERNAME,
TYPE,
STATUS,
SQL_ID,
-- If using a single node Oracle ADWC deployment
"SERIAL#",
-- If using a clustered Oracle ADWC deployment
(SERIAL# || ',' || INST_ID) AS "SERIAL#",
AUDSID
-- If using a single node Oracle ADWC deployment
FROM V$SESSION
-- If using a clustered Oracle ADWC deployment
FROM GV$SESSION
WHERE
USERNAME='LOOKER';
CREATE OR REPLACE SYNONYM LOOKER.LOOKER_SESSION FOR LOOKER_SESSION;
GRANT SELECT ON LOOKER.LOOKER_SESSION TO LOOKER;
Menyiapkan agregat simetris
DBA Oracle Anda harus menyiapkan fungsi LOOKER_HASH untuk mengaktifkan agregat simetris. Fungsi LOOKER_HASH adalah sinonim untuk fungsi dbms_crypto.hash Oracle. DBA juga harus membuat sinonim dan hak istimewa terkait. Contoh berikut mengasumsikan bahwa nama pengguna Looker adalah LOOKER:
CREATE OR REPLACE FUNCTION LOOKER_HASH(bytes raw, prec number)
RETURN raw AS
BEGIN
return(dbms_crypto.HASH(bytes, prec));
END;
CREATE OR REPLACE SYNONYM LOOKER.LOOKER_HASH FOR LOOKER_HASH;
GRANT EXECUTE ON LOOKER.LOOKER_HASH TO LOOKER;
GRANT EXECUTE ON SYS.LOOKER_HASH TO LOOKER;
Bergantung pada konfigurasi database Oracle Anda, awalan
SYSmungkinSYSDBA,ADMIN, atau tidak diperlukan.
Menyiapkan tabel turunan persisten
Untuk mengaktifkan tabel turunan persisten, berikan izin UNLIMITED TABLESPACE dan CREATE TABLE kepada pengguna Looker. Perintah berikut mengasumsikan bahwa nama pengguna Looker adalah LOOKER:
GRANT UNLIMITED TABLESPACE TO LOOKER;
GRANT CREATE TABLE TO LOOKER;
Menyiapkan penghentian kueri
Untuk menyiapkan penghentian kueri, DBA Oracle harus membuat prosedur LOOKER_KILL_QUERY sebagai sinonim dari ALTER SYSTEM KILL SESSION. Untuk melakukannya, jalankan perintah berikut:
CREATE OR REPLACE PROCEDURE LOOKER_KILL_QUERY(p_sid in varchar2,
p_serial# in varchar2)
IS
cursor_name pls_integer default dbms_sql.open_cursor;
ignore pls_integer;
BEGIN
SELECT
COUNT(*) INTO IGNORE
-- If using a single node Oracle ADWC deployment
FROM V$SESSION
-- If using a clustered Oracle ADWC deployment
FROM GV$SESSION
WHERE
username = USER
AND sid = p_sid
-- If using a single node Oracle ADWC deployment
AND serial# = p_serial#;
-- If using a clustered Oracle ADWC deployment
AND (SERIAL# || ',' || INST_ID) = p_serial#;
IF (ignore = 1)
THEN
dbms_sql.parse(cursor_name,
'ALTER SYSTEM KILL SESSION '''
|| p_sid || ',' || p_serial# || '''',
dbms_sql.native);
ignore := dbms_sql.execute(cursor_name);
ELSE
raise_application_error(-20001,
'You do not own session ''' ||
p_sid || ',' || p_serial# ||
'''');
END IF;
END;
DBA juga perlu menjalankan perintah terkait ini:
CREATE OR REPLACE SYNONYM LOOKER.LOOKER_KILL_QUERY FOR SYS.LOOKER_KILL_QUERY;
GRANT EXECUTE ON SYS.LOOKER_KILL_QUERY TO LOOKER;
Bergantung pada konfigurasi database Oracle Anda, awalan
SYSmungkinSYSDBA,ADMIN, atau tidak diperlukan.
Membuat koneksi Looker ke database Anda
Ikuti langkah-langkah berikut untuk membuat koneksi dari Looker ke database Anda:
- Di bagian Admin Looker, pilih Connections, lalu klik Add Connection.
Isi detail koneksi. Sebagian besar setelan sama untuk sebagian besar dialek database. Lihat halaman dokumentasi Menghubungkan Looker ke database Anda untuk mengetahui informasi. Setelan berikut khusus untuk Oracle ADWC:
- Dialect: Oracle ADWC.
- Use TNS: Aktifkan koneksi Transparent Network Substrate (TNS).
- Host: Nama host atau alias TNS. Untuk contoh ini,
dbname_medium. - Port: Biarkan sebagai default; Looker akan menemukan port dari file
tnsnames.ora. - Nama Layanan: Biarkan kosong; Looker akan menemukan nama layanan dari file
tnsnames.ora. - Nama pengguna: Nama pengguna database atau Temp Database jika PDT diaktifkan.
- Sandi: Sandi pengguna database.
- Aktifkan PDT: Gunakan tombol ini untuk mengaktifkan tabel turunan persisten. Jika PDT diaktifkan, jendela Connection akan menampilkan setelan PDT tambahan dan bagian PDT Overrides.
- Temp Database: Di Oracle, pengguna adalah skema, sehingga harus ditentukan sebagai nama pengguna database. Untuk contoh ini, Anda akan menggunakan nilai skema sementara
LOOKER. - Additional JDBC parameters: Biarkan kosong, karena Oracle tidak mendukung parameter JDBC tambahan.
- SSL dan Verifikasi SSL: Anda dapat mengabaikan kolom ini; Looker akan selalu menggunakan SSL dengan Oracle ADWC.
Untuk memverifikasi bahwa koneksi berhasil, klik Test. Lihat halaman dokumentasi Menguji konektivitas database untuk mengetahui informasi pemecahan masalah. Saat Anda mengklik Test, Looker akan membuat string JDBC seperti ini:
jdbc:oracle:thin:@dbname_medium?TNS_ADMIN=/home/looker/looker/credentialsUntuk menyimpan setelan ini, klik Connect.
Dukungan fitur
Agar Looker dapat mendukung beberapa fitur, dialek database Anda juga harus mendukungnya.
Oracle ADWC mendukung fitur berikut per Looker 26.8:
| Fitur | Didukung? |
|---|---|
| Looker (Google Cloud core) | |
| Agregat simetris | |
| Tabel turunan | |
| Tabel turunan SQL persisten | |
| Tabel turunan native persisten | |
| Tampilan stabil | |
| Penghentian kueri | |
| Pivot berbasis SQL | |
| Zona waktu | |
| SSL | |
| Subtotal | |
| Parameter tambahan JDBC | |
| Peka huruf besar/kecil | |
| Jenis lokasi | |
| Jenis daftar | |
| Persentil | |
| Persentil berbeda | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| SQL Runner Count | |
| SQL Explain | |
| Kredensial OAuth 2.0 | |
| Komentar konteks | |
| Penggabungan koneksi | |
| Sketsa HLL | |
| Aggregate awareness | |
| PDT inkremental | |
| Milidetik | |
| Mikrodetik | |
| Tampilan terwujud | |
| Metrik dari periode ke periode | |
| Jumlah perkiraan berbeda | |
| Kalender kustom |