Crittografia del traffico di rete
Una delle best practice consiste nel criptare il traffico di rete tra l'applicazione Looker e il tuo database. Valuta una delle opzioni descritte nella pagina della documentazione Abilitazione dell'accesso sicuro al database.
Se ti interessa utilizzare la crittografia SSL, consulta la documentazione di Oracle.
Creazione di un utente Looker
Per prima cosa, crea un utente Looker designato:
-- connect / as sysdba;
CREATE USER LOOKER IDENTIFIED BY <password>
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
Quindi, dai al nuovo utente di Looker la possibilità di creare sessioni:
GRANT CREATE SESSION TO LOOKER;
Infine, concedi all'utente Looker le autorizzazioni SELECT
appropriate per le tabelle di dati a cui prevedi di accedere da Looker. Se in futuro vuoi accedere ad altre tabelle, dovrai concedere l'autorizzazione SELECT
anche su queste nuove tabelle.
GRANT SELECT ON -- <all tables that will be used by looker>;
Garantire che Looker possa visualizzare tutte le tabelle
Garantire che Looker possa visualizzare tutte le tabelle
Looker potrebbe non essere in grado di identificare le tabelle (soprattutto quelle vuote) senza aver prima raccolto le statistiche in Oracle. Se le tabelle necessarie non vengono visualizzate nel LookML o in SQL Runner generato, prova a eseguire:
EXEC DBMS_STATS.GATHER_DATABASE_STATS;
Per conoscere metodi alternativi, consulta la documentazione di Oracle.
Configurazione degli oggetti di database principali
Oracle DBA deve configurare gli oggetti e le autorizzazioni seguenti su Oracle. I seguenti comandi creano LOOKER_SESSION
e LOOKER_SQL
come sinonimi di V$SESSION
e V$SQL
.
Esegui i comandi seguenti come utente root per completare la configurazione. Questi esempi presuppongono che il nome utente di Looker sia 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 below:
-- 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;
Impostazione di aggregati simmetrici
Il tuo responsabile Oracle DBA deve configurare la funzione LOOKER_HASH
per abilitare i aggregazioni simmetriche. La funzione LOOKER_HASH
è un sinonimo della funzione dbms_crypto.hash
Oracle. Il nome commerciale deve inoltre creare il sinonimo e i privilegi associati. I comandi seguenti presuppongono che il nome utente di Looker sia 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;
A seconda della configurazione del database Oracle, il prefisso
SYS
potrebbe essereSYSDBA
,ADMIN
o non necessario.
Configurazione delle tabelle derivate permanenti
Per abilitare le tabelle derivate permanenti, assegna all'utente Looker le autorizzazioni UNLIMITED TABLESPACE
e CREATE TABLE
. I comandi seguenti presuppongono che il nome utente di Looker sia LOOKER
:
GRANT UNLIMITED TABLESPACE TO LOOKER;
GRANT CREATE TABLE TO LOOKER;
Configurazione dell'eliminazione delle query
Segui queste istruzioni per configurare l'esecuzione delle query per un deployment Oracle standard o un deployment Amazon RDS.
Deployment Oracle standard
Per configurare l'eliminazione delle query nei deployment Oracle standard, il DBA Oracle deve creare la procedura LOOKER_KILL_QUERY
come sinonimo di ALTER SYSTEM KILL SESSION
. Per farlo, esegui questo comando:
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;
Il DBA dovrà anche eseguire questi comandi correlati:
CREATE OR REPLACE SYNONYM LOOKER.LOOKER_KILL_QUERY FOR SYS.LOOKER_KILL_QUERY;
GRANT EXECUTE ON SYS.LOOKER_KILL_QUERY TO LOOKER;
A seconda della configurazione del database Oracle, il prefisso
SYS
potrebbe essereSYSDBA
,ADMIN
o non necessario.
Deployment Amazon RDS
Nei deployment Oracle Amazon RDS, la procedura rdsadmin.rdsadmin_util.kill
viene utilizzata per terminare le query. Per utilizzare questa procedura, all'utente del database Looker deve essere assegnato il ruolo DBA
.
Poiché il nome commerciale è un ruolo di database elevato, ti consigliamo di saltare questo passaggio e rinunciare all'eliminazione delle query in Looker.
Per concedere al database Looker la possibilità di terminare le query, esegui questo comando:
GRANT DBA TO LOOKER;
Creazione della connessione Looker al tuo database
Nella sezione Admin (Amministrazione) di Looker, seleziona Connections (Connessioni) e fai clic su Add Connection (Aggiungi connessione).
Compila i dettagli della connessione. La maggior parte delle impostazioni è comune alla maggior parte dei dialetti del database. Per informazioni, consulta la pagina della documentazione Connessione di Looker al tuo database. Le seguenti impostazioni sono specifiche di Oracle:
- Nome: specifica il nome della connessione. Ecco come farai riferimento alla connessione nei progetti LookML.
- Dialect: Oracle.
- Utilizza TNS: attiva le connessioni TNS (Transparent Network Substrate).
- Host: nome host o alias TNS.
- Porta: porta del database.
- Database: nome del database (se non utilizzi TNS).
- Nome servizio: nome del servizio (se utilizzi TNS).
- Nome utente: nome utente del database o database temporaneo se le PDT sono abilitate.
- Password: password utente del database.
- Abilita PDT: utilizza questo pulsante di attivazione/disattivazione per abilitare le tabelle derivate permanenti. Quando le PDT sono abilitate, la finestra Connessione mostra le impostazioni PDT aggiuntive e la sezione Override PDT.
- Database temporaneo: in Oracle un utente è uno schema, quindi questo deve essere specificato come nome dell'utente del database. Per questo esempio, dovresti usare il valore dello schema temporaneo
LOOKER
. - Numero massimo di connessioni del builder di PDT: specifica il numero di possibili build di PDT simultanee su questa connessione. L'impostazione di questo valore troppo alto potrebbe influire negativamente sui tempi di query. Per saperne di più, consulta la pagina della documentazione Connessione di Looker al tuo database.
- Ulteriori parametri JDBC: lascia vuoto questo campo, dato che Oracle non supporta parametri JDBC aggiuntivi.
- Pianificazione della manutenzione di gruppi di dati e PDT: un'espressione
cron
che indica quando Looker deve controllare i gruppi di dati e le tabelle derivate permanenti. Scopri di più su questa impostazione nella documentazione relativa alla pianificazione della manutenzione di gruppi di dati e PDT. - SSL: seleziona questa opzione per utilizzare le connessioni SSL.
- Verifica SSL: ignora questo campo. Oracle utilizzerà l'archivio di attendibilità Java predefinito per verificare SSL.
- Numero massimo di connessioni per nodo: questa impostazione può essere lasciata inizialmente sul valore predefinito. Scopri di più su questa impostazione nella sezione Numero massimo di connessioni per nodo della pagina della documentazione Connessione di Looker al tuo database.
- Timeout pool di connessioni: inizialmente puoi lasciare questa impostazione sul valore predefinito. Scopri di più su questa impostazione nella sezione Timeout del pool di connessioni nella pagina della documentazione Connessione di Looker al database.
- Pre-cache di SQL Runner: deseleziona questa opzione per impedire a SQL Runner di precaricare le informazioni sulle tabelle e di caricarle solo quando è selezionata una tabella. Scopri di più su questa impostazione nella sezione Precache di SQL Runner della pagina della documentazione Connessione di Looker al tuo database.
- Fuso orario database: specifica il fuso orario utilizzato nel database. Lascia vuoto questo campo se non vuoi la conversione del fuso orario. Per ulteriori informazioni, consulta la pagina della documentazione relativa all'utilizzo delle impostazioni del fuso orario.
Per verificare che la connessione venga stabilita, fai clic su Prova. Per informazioni sulla risoluzione dei problemi, consulta la pagina della documentazione relativa ai test di connettività dei database.
Per salvare queste impostazioni, fai clic su Connetti. Nella sezione Admin (Amministrazione) di Looker, seleziona Connections (Connessioni) e fai clic su Add Connection (Aggiungi connessione).
Supporto delle funzionalità
Affinché Looker possa supportare alcune funzionalità, è necessario che anche il dialetto del database le supporti.
A partire da Looker 24.8, Oracle supporta le seguenti funzionalità:
Selezione delle | Supportato? |
---|---|
Livello di assistenza | Supportato |
Looker (Google Cloud core) | Sì |
Aggregati simmetrici | Sì |
Tabelle derivate | Sì |
Tabelle derivate SQL permanenti | Sì |
Tabelle derivate native permanenti | Sì |
Visualizzazioni stabili | Sì |
Eliminazione delle query | Sì |
Pivot basati su SQL | Sì |
Fusi orari | Sì |
SSL | Sì |
Subtotali | Sì |
Parametri aggiuntivi JDBC | No |
Sensibilità alle maiuscole | Sì |
Tipo di località | Sì |
Tipo di elenco | Sì |
Percentile | Sì |
Percentile distinto | No |
Processi di visualizzazione SQL Runner | Sì |
Descrivi tabella SQL Runner | Sì |
Indici di visualizzazione SQL Runner | Sì |
SQL Runner Select 10 | Sì |
Conteggio esecutori SQL | Sì |
Spiegazione SQL | No |
Credenziali OAuth | No |
Commenti contestuali | Sì |
Pooling di connessioni | No |
Schizzi HLL | No |
Awareness aggregato | Sì |
PDT incrementali | No |
Millisecondi | Sì |
Microsecondi | Sì |
Viste materializzate | No |
Conteggio approssimativo distinto | No |