Mengenkripsi traffic jaringan
Praktik terbaiknya adalah mengenkripsi traffic jaringan antara aplikasi Looker dan database Anda. Pertimbangkan salah satu opsi yang dijelaskan di halaman dokumentasi Mengaktifkan akses database yang aman.
Jika Anda tertarik menggunakan enkripsi SSL, lihat dokumentasi Oracle.
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, beri pengguna Looker baru kemampuan untuk membuat sesi:
GRANT CREATE SESSION TO LOOKER;
Terakhir, berikan izin SELECT
yang sesuai kepada pengguna Looker untuk tabel data yang ingin Anda akses dari Looker. Jika ingin mengakses tabel tambahan pada masa mendatang, Anda juga harus memberikan izin 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, coba jalankan:
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 following 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 deployment
"SERIAL#",
-- If using a clustered Oracle deployment, like Oracle Real Application Clusters
(SERIAL# || ',' || INST_ID) AS "SERIAL#",
AUDSID
-- If using a single node Oracle deployment
FROM V$SESSION
-- If using a clustered Oracle deployment, like Oracle Real Application Clusters
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 gabungan simetris. Fungsi LOOKER_HASH
adalah sinonim untuk fungsi dbms_crypto.hash
Oracle. DBA juga harus membuat sinonim dan hak istimewa terkait. Perintah 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
SYS
dapat berupaSYSDBA
,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
Ikuti petunjuk ini untuk mengonfigurasi penghentian kueri untuk deployment Oracle standar atau deployment Amazon RDS.
Deployment Oracle standar
Untuk menyiapkan penghentian kueri dalam deployment Oracle standar, 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 deployment
FROM V$SESSION
-- If using a clustered Oracle deployment, like Oracle Real Application Clusters
FROM GV$SESSION
WHERE
username = USER
AND sid = p_sid
-- If using a single node Oracle deployment
AND serial# = p_serial#;
-- If using a clustered Oracle deployment, like Oracle Real Application Clusters
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 berikut:
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
SYS
dapat berupaSYSDBA
,ADMIN
, atau tidak diperlukan.
Deployment Amazon RDS
Dalam deployment Amazon RDS Oracle, prosedur rdsadmin.rdsadmin_util.kill
digunakan untuk menghentikan kueri. Untuk menggunakan prosedur ini, pengguna database Looker harus diberi peran DBA
.
Karena DBA adalah peran database yang lebih tinggi, Anda dapat mempertimbangkan untuk melewati langkah ini dan tidak menggunakan penghentian kueri di Looker.
Untuk memberikan kemampuan menghentikan kueri kepada pengguna database Looker, jalankan perintah berikut:
GRANT DBA TO LOOKER;
Membuat koneksi Looker ke database Anda
Di bagian Admin Looker, pilih Connections, lalu klik Add Connection.
Isi detail koneksi. Sebagian besar setelan umum untuk sebagian besar dialek database. Lihat halaman dokumentasi Menghubungkan Looker ke database Anda untuk mengetahui informasi selengkapnya. Setelan berikut khusus untuk Oracle:
- Nama: Tentukan nama koneksi. Inilah cara Anda akan merujuk ke koneksi dalam project LookML.
- Dialek: Oracle.
- Gunakan TNS: Aktifkan koneksi Transparent Network Substrate (TNS).
- Host: Nama host atau alias TNS.
- Port: Port database.
- Database: Nama database (jika tidak menggunakan TNS).
- Nama Layanan: Nama layanan (jika menggunakan TNS).
- Nama pengguna: Nama pengguna database atau Database Sementara jika PDT diaktifkan.
- Sandi: Sandi pengguna database.
- Aktifkan PDT: Gunakan tombol ini untuk mengaktifkan tabel turunan persisten. Jika PDT diaktifkan, jendela Koneksi akan menampilkan setelan PDT tambahan dan bagian Penggantian PDT.
- Temp Database: Di Oracle, pengguna adalah skema, jadi ini harus ditentukan sebagai nama pengguna database. Untuk contoh ini, Anda akan menggunakan nilai skema sementara
LOOKER
. - Jumlah maksimum koneksi pembuat PDT: Tentukan jumlah kemungkinan build PDT serentak pada koneksi ini. Menyetel nilai ini terlalu tinggi dapat berdampak negatif pada waktu kueri. Untuk mengetahui informasi selengkapnya, lihat halaman dokumentasi Menghubungkan Looker ke database Anda.
- Parameter JDBC tambahan: Biarkan kosong, karena Oracle tidak mendukung parameter JDBC tambahan.
- Jadwal Pemeliharaan: Ekspresi
cron
yang menunjukkan kapan Looker harus memeriksa grup data dan tabel turunan persisten. Baca selengkapnya tentang setelan ini dalam dokumentasi Jadwal Pemeliharaan. - SSL: Centang untuk menggunakan koneksi SSL.
- Verifikasi SSL: Abaikan kolom ini. Oracle akan menggunakan Java Truststore default untuk memverifikasi SSL.
- Koneksi maks per node: Setelan ini dapat dibiarkan pada nilai default pada awalnya. Baca selengkapnya tentang setelan ini di bagian Koneksi maksimum per node di halaman dokumentasi Menghubungkan Looker ke database Anda.
- Waktu Tunggu Pool Koneksi: Setelan ini dapat dibiarkan pada nilai default pada awalnya. Baca selengkapnya tentang setelan ini di bagian Waktu Tunggu Kumpulan Koneksi pada halaman dokumentasi Menghubungkan Looker ke database Anda.
- Prapemuatan SQL Runner: Untuk mencegah SQL Runner memuat informasi tabel terlebih dahulu dan hanya memuat informasi tabel saat tabel dipilih, hapus centang pada opsi ini. Baca selengkapnya tentang setelan ini di bagian Pra-cache SQL Runner di halaman dokumentasi Menghubungkan Looker ke database Anda.
- Zona Waktu Database: Tentukan zona waktu yang digunakan dalam database. Kosongkan kolom ini jika Anda tidak ingin konversi zona waktu. Lihat halaman dokumentasi Menggunakan setelan zona waktu untuk mengetahui informasi selengkapnya.
Untuk memverifikasi bahwa koneksi berhasil, klik Uji. Lihat halaman dokumentasi Menguji konektivitas database untuk mengetahui informasi pemecahan masalah.
Untuk menyimpan setelan ini, klik Hubungkan. Di bagian Admin Looker, pilih Connections, lalu klik Add Connection.
Dukungan fitur
Agar Looker mendukung beberapa fitur, dialek database Anda juga harus mendukungnya.
Oracle mendukung fitur berikut mulai Looker 25.10:
Fitur | Didukung? |
---|---|
Level dukungan | Didukung |
Looker (Google Cloud core) | Ya |
Agregat simetris | Ya |
Tabel turunan | Ya |
Tabel turunan SQL persisten | Ya |
Tabel turunan native persisten | Ya |
Tampilan stabil | Ya |
Penghentian kueri | Ya |
Pivot berbasis SQL | Ya |
Zona waktu | Ya |
SSL | Ya |
Subtotal | Ya |
Parameter tambahan JDBC | Tidak |
Peka huruf besar/kecil | Ya |
Jenis lokasi | Ya |
Jenis daftar | Ya |
Persentil | Ya |
Persentil berbeda | Tidak |
SQL Runner Show Processes | Ya |
SQL Runner Describe Table | Ya |
Tampilkan Indeks SQL Runner | Ya |
SQL Runner Select 10 | Ya |
Jumlah SQL Runner | Ya |
Penjelasan SQL | Tidak |
Kredensial OAuth 2.0 | Tidak |
Komentar konteks | Ya |
Penggabungan koneksi | Tidak |
Sketsa HLL | Tidak |
Kesadaran agregat | Ya |
PDT inkremental | Tidak |
Milidetik | Ya |
Mikrodetik | Ya |
Tampilan terwujud | Tidak |
Ukuran dari periode ke periode | Tidak |
Jumlah perkiraan berbeda | Tidak |