Looker offre supporto a livello di integrazione per Oracle ADWC. Questa pagina contiene informazioni su come connettere Looker a Oracle ADWC.
Criptare il 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.
Configurare l'host Looker per le connessioni
Tutte le connessioni Oracle ADWC richiedono l'autenticazione SSL e dei certificati. Affinché Looker possa connettersi all'istanza di Oracle ADWC, è necessario scaricare i file del wallet Oracle e installarli sul server Looker. Se utilizzi Looker ospitato dal cliente, avrai bisogno di un amministratore di sistema con accesso al server Looker per farlo. Se utilizzi Looker ospitato da Looker, contatta l'assistenza Looker.
Per installare il wallet Oracle sul server Looker:
Scarica il wallet Oracle sul computer locale. Avrai un file ZIP denominato, ad esempio,
Wallet_databasename.zip.Sul server Looker, crea una directory per contenere il file ZIP del wallet:
mkdir /home/looker/looker/credentialsCopia il file ZIP del wallet dal computer locale al server Looker. Questo esempio utilizza
scpe inserisce il file in/home/looker/looker/credentials:scp Wallet_databasename.zip username@remotehost:/home/looker/looker/credentialsDecomprimi il file ZIP del wallet. Questo esempio utilizza il comando
unzip:cd /home/looker/looker/credentials unzip Wallet_databasename.zipVerifica i contenuti del wallet con il comando
ls. Questi sono i file che dovresti avere:ls cwallet.sso keystore.jks sqlnet.ora truststore.jks ewallet.p12 ojdbc.properties tnsnames.oraLooker si connette a Oracle ADWC utilizzando i wallet Oracle con il driver JDBC Thin 18.3. Per farlo, avrai bisogno dell'alias TNS (Transparent Network Substrate) del livello di servizio Oracle ADWC per il tuo database e del percorso dei file del wallet Oracle.
Per ottenere l'alias TNS del tuo database, esegui questo comando:
cat tnsnames.oraPotrai scegliere tra tre alias TNS:
dbname_high,dbname_mediumedbname_low. Questi alias corrispondono a diversi livelli di servizio. Il protocollo, l'host, la porta, il nome del servizio e le informazioni SSL sono inclusi in questo file. Per questo esempio, utilizzeremodbname_medium.
Creare un utente Looker
Innanzitutto, crea un utente Looker designato:
-- connect / as sysdba;
CREATE USER LOOKER IDENTIFIED BY <password>
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
Poi, consenti al nuovo utente 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 prevedi di 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>;
Assicurarsi che Looker possa vedere tutte le tabelle
Looker potrebbe non essere in grado di identificare le tabelle (soprattutto le tabelle vuote) senza prima raccogliere le statistiche in Oracle. Se le tabelle di cui hai bisogno non vengono visualizzate in LookML o SQL Runner, esegui questo comando:
EXEC DBMS_STATS.GATHER_DATABASE_STATS;
Per metodi alternativi, consulta la documentazione di Oracle.
Configurare gli oggetti di database principali
L'amministratore del database Oracle deve configurare i seguenti oggetti e autorizzazioni in 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 questa configurazione. Questi esempi presuppongono che il nome dell'utente 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:
-- 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;
Configurare gli aggregati simmetrici
L'amministratore del database Oracle deve configurare la funzione LOOKER_HASH per abilitare gli aggregati simmetrici. La funzione LOOKER_HASH è un sinonimo della funzione dbms_crypto.hash di Oracle. L'amministratore del database deve anche creare il sinonimo e i privilegi associati. Il seguente esempio presuppone 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;
A seconda della configurazione del database Oracle, il prefisso
SYSpotrebbe essereSYSDBA,ADMINo non necessario.
Configurare le tabelle derivate permanenti
Per abilitare 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;
Configurare l'interruzione delle query
Per configurare l'interruzione delle query, l'amministratore del database Oracle deve creare la procedura LOOKER_KILL_QUERY come sinonimo di ALTER SYSTEM KILL SESSION. Per farlo, esegui il seguente 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 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;
L'amministratore del database 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
SYSpotrebbe essereSYSDBA,ADMINo non necessario.
Creare la connessione Looker al database
Segui questi passaggi per creare la connessione da Looker al tuo database:
- Nella sezione Amministrazione di Looker, seleziona Connessioni e poi fai clic su 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 Connettere Looker al tuo database. Le seguenti impostazioni sono specifiche di Oracle ADWC:
- Dialetto: Oracle ADWC.
- Usa TNS: abilita le connessioni TNS (Transparent Network Substrate).
- Host: nome host o alias TNS. Per questo esempio,
dbname_medium. - Porta: lascia il valore predefinito; Looker troverà la porta dal file
tnsnames.ora. - Nome servizio: lascia vuoto; Looker troverà il nome del servizio dal file
tnsnames.ora. - 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. - Parametri JDBC aggiuntivi: lascia questo campo vuoto, poiché Oracle non supporta parametri JDBC aggiuntivi.
- SSL e Verifica SSL: puoi ignorare questi campi; Looker utilizzerà sempre SSL con Oracle ADWC.
Per verificare che la connessione sia riuscita, fai clic su Test. Per informazioni sulla risoluzione dei problemi, consulta la pagina della documentazione Testare la connettività del database. Quando fai clic su Test, Looker creerà una stringa JDBC simile alla seguente:
jdbc:oracle:thin:@dbname_medium?TNS_ADMIN=/home/looker/looker/credentialsPer salvare queste impostazioni, fai clic su Connetti.
Funzionalità supportate
Affinché Looker supporti alcune funzionalità, anche il dialetto del database deve supportarle.
A partire da Looker 26.8, Oracle ADWC supporta le seguenti funzionalità:
| Funzionalità | Supportata? |
|---|---|
| Looker (Google Cloud core) | |
| Aggregati simmetrici | |
| Tabelle derivate | |
| Tabelle derivate permanenti basate su SQL | |
| Tabelle derivate permanenti native | |
| Visualizzazioni stabili | |
| Interruzione delle query | |
| Tabelle pivot basate su SQL | |
| Fusi orari | |
| SSL | |
| Subtotali | |
| Parametri JDBC aggiuntivi | |
| Maiuscole/minuscole | |
| Tipo di località | |
| Tipo di elenco | |
| Percentile | |
| Percentile valori distinti | |
| SQL Runner Mostra processi | |
| SQL Runner Descrivi tabella | |
| SQL Runner Mostra indici | |
| SQL Runner Seleziona 10 | |
| SQL Runner Count | |
| Spiega SQL | |
| Credenziali OAuth 2.0 | |
| Commenti di contesto | |
| Pool di connessioni | |
| Schizzi HLL | |
| Riconoscimento degli aggregati | |
| PDT incrementali | |
| Millisecondi | |
| Microsecondi | |
| Viste materializzate | |
| Misure in base al periodo | |
| Conteggio approssimato valori distinti | |
| Calendari personalizzati |