Puoi configurare Looker per analizzare i dati archiviati nel tuo database Oracle. L'integrazione di Oracle con Looker fornisce una connessione sicura, supporta le tabelle derivate permanenti (PDT) e facilita la terminazione delle query. Grazie a questa integrazione, puoi utilizzare i tuoi dati Oracle direttamente all'interno della piattaforma Looker per supportare le tue esigenze di analisi e operative.
Crittografia del traffico di rete
È una best practice criptare il traffico di rete tra l'applicazione Looker e il tuo database. Valuta una delle opzioni descritte nella pagina della documentazione Abilita l'accesso sicuro ai database.
Se ti interessa utilizzare la crittografia SSL, consulta la documentazione di Oracle.
Creazione di un utente Looker
Innanzitutto, crea un utente Looker designato:
-- connect / as sysdba;
CREATE USER LOOKER IDENTIFIED BY <password>
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
Successivamente, consenti al nuovo utente di Looker di creare sessioni:
GRANT CREATE SESSION TO LOOKER;
Infine, assegna all'utente Looker le autorizzazioni SELECT appropriate per le tabelle di dati a cui intendi accedere da Looker. Se in futuro vuoi accedere ad altre tabelle, dovrai concedere SELECT anche a queste nuove tabelle.
GRANT SELECT ON -- <all tables that will be used by looker>;
Assicurati che Looker possa visualizzare tutte le tabelle
Looker potrebbe non essere in grado di identificare le tabelle (soprattutto quelle vuote) senza prima raccogliere le statistiche in Oracle. Se le tabelle di cui hai bisogno non vengono visualizzate nel LookML generato o in SQL Runner, prova a eseguire:
EXEC DBMS_STATS.GATHER_DATABASE_STATS;
Per metodi alternativi, consulta la documentazione di Oracle.
Configurazione degli oggetti di database principali
Il tuo DBA Oracle deve configurare i seguenti oggetti e autorizzazioni su Oracle. I seguenti comandi creano LOOKER_SESSION e LOOKER_SQL come sinonimi di V$SESSION e V$SQL.
Esegui i seguenti comandi come utente root per completare la configurazione. Questi esempi presuppongono che il nome dell'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 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;
Configurazione degli aggregati simmetrici
Il tuo DBA Oracle deve configurare la funzione LOOKER_HASH per abilitare gli aggregati simmetrici. La funzione LOOKER_HASH è un sinonimo della funzione Oracle dbms_crypto.hash. Il DBA deve anche creare il sinonimo e i privilegi associati. I seguenti comandi presuppongono che il nome dell'utente 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;
Configurazione delle tabelle derivate permanenti
Per attivare le tabelle derivate permanenti, assegna all'utente Looker le autorizzazioni UNLIMITED TABLESPACE e CREATE TABLE. I seguenti comandi presuppongono che il nome dell'utente Looker sia LOOKER:
GRANT UNLIMITED TABLESPACE TO LOOKER;
GRANT CREATE TABLE TO LOOKER;
Configurazione dell'interruzione delle query
Segui queste istruzioni per configurare l'interruzione delle query per un deployment Oracle standard o un deployment Amazon RDS.
Deployment Oracle standard
Per configurare l'interruzione 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;
Deployment Amazon RDS
Nei deployment Oracle di Amazon RDS, la procedura rdsadmin.rdsadmin_util.kill viene utilizzata per terminare le query. Per utilizzare questa procedura, all'utente del database di Looker deve essere assegnato il ruolo DBA.
Per concedere all'utente del database Looker la possibilità di terminare le query, esegui questo comando:
GRANT DBA TO LOOKER;
Creazione della connessione di Looker al tuo database
Nella sezione Admin (Amministratore) di Looker, seleziona Connections (Connessioni) e poi fai clic su Add Connection (Aggiungi connessione).
Compila i dettagli della connessione. La maggior parte delle impostazioni è comune alla maggioranza dei dialetti di database. Per informazioni, consulta la pagina della documentazione Connessione di Looker al tuo database. Le seguenti impostazioni sono specifiche per Oracle:
- Nome: specifica il nome della connessione. Questo è il modo in cui farai riferimento alla connessione nei progetti LookML.
- Dialetto: Oracle.
- Utilizza TNS: abilita connessioni TNS (Transparent Network Substrate).
- Host: nome host o alias TNS.
- Port: porta del database.
- Database: il 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 dell'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 impostazioni PDT aggiuntive e la sezione Override PDT.
- Database temporaneo: in Oracle un utente è uno schema, quindi deve essere specificato come nome dell'utente del database. Per questo esempio, utilizzerai 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 un valore troppo alto potrebbe influire negativamente sui tempi di query. Per saperne di più, consulta la pagina della documentazione Connessione di Looker al database.
- Parametri JDBC aggiuntivi: lascia vuoto questo campo, poiché Oracle non supporta parametri JDBC aggiuntivi.
- Pianificazione della manutenzione: un'espressione
cronche 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. - SSL: seleziona questa opzione per utilizzare le connessioni SSL.
- Verifica SSL: ignora questo campo. Oracle utilizzerà il truststore Java predefinito per verificare SSL.
- Max connessioni per nodo: inizialmente, questa impostazione può essere lasciata al valore predefinito. Scopri di più su questa impostazione nella sezione Max connessioni per nodo della pagina della documentazione Connessione di Looker al tuo database.
- Timeout del pool di connessioni: inizialmente questa impostazione può essere lasciata al valore predefinito. Scopri di più su questa impostazione nella sezione Timeout del pool di connessioni della pagina della documentazione Connessione di Looker al database.
- SQL Runner Precache: per fare in modo che SQL Runner non precarichi le informazioni sulle tabelle e le carichi solo quando viene selezionata una tabella, deseleziona questa opzione. Scopri di più su questa impostazione nella sezione SQL Runner Precache della pagina di documentazione Connessione di Looker al 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 dedicata all'uso delle impostazioni relative al fuso orario.
Per verificare che la connessione sia riuscita, fai clic sul pulsante Test Connection (Verifica connessione) nella sezione Status details (Dettagli stato) in fondo alla pagina Connections Settings (Impostazioni connessioni).
Se Looker visualizza Can Connect (Connessione possibile), premi Connect (Connetti) per creare la connessione.
La connessione al tuo database viene quindi aggiunta all'elenco della pagina Connections (Connessioni) di Admin (Amministrazione) di Looker.
Funzionalità supportate
Affinché Looker supporti alcune funzionalità, anche il dialetto del database deve supportarle.
Oracle supporta le seguenti funzionalità a partire da Looker 26.22:
| Funzionalità | Supportata? |
|---|---|
| Looker (Google Cloud core) | |
| Aggregati simmetrici | |
| Tabelle derivate | |
| Tabelle derivate SQL permanenti | |
| Tabelle derivate permanenti native | |
| Visualizzazioni stabili | |
| Interruzione delle query | |
| Pivot basati su SQL | |
| Fusi orari | |
| SSL | |
| Subtotali | |
| Parametri JDBC aggiuntivi | |
| Sensibile alle maiuscole | |
| Tipo di località | |
| Tipo di elenco | |
| Percentile | |
| Percentile valori distinti | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| SQL Runner Count | |
| Spiegazione SQL | |
| Credenziali OAuth 2.0 | |
| Commenti sul contesto | |
| Pool di connessioni | |
| Sketch HLL | |
| Riconoscimento degli aggregati | |
| PDT incrementali | |
| Millisecondi | |
| Microsecondi | |
| Viste materializzate | |
| Misure in base al periodo | |
| Conteggio approssimato valori distinti | |
| Modelli di analisi nel database | |
| Calendari personalizzati |