Oracle Autonomous Data Warehouse on Cloud

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 Abilitare l'accesso sicuro ai database.

Configurazione dell'host Looker per le connessioni

Tutte le connessioni Oracle ADWC richiedono l'autenticazione SSL e del certificato. Affinché Looker si connetta all'istanza Oracle ADWC, è necessario scaricare i file del wallet Oracle e installarli sul server Looker. Se sei un utente di Looker ospitato dal cliente, per farlo avrai bisogno di un amministratore di sistema con accesso al server Looker. Se sei un utente ospitato da Looker, contatta l'assistenza Looker.

Per installare il wallet Oracle sul server Looker:

  1. Scarica il wallet Oracle sul tuo computer locale. Avrai un file ZIP denominato, ad esempio, Wallet_databasename.zip.

  2. Sul server Looker, crea una directory in cui archiviare il file zip del portafoglio:

    mkdir /home/looker/looker/credentials
    
  3. Copia il file ZIP del portafoglio dal computer locale al server Looker. Questo esempio utilizza scp e inserisce il file in /home/looker/looker/credentials:

    scp Wallet_databasename.zip username@remotehost:/home/looker/looker/credentials
    
  4. Decomprimi il file ZIP del portafoglio. Questo esempio utilizza il comando unzip:

    cd /home/looker/looker/credentials
    unzip Wallet_databasename.zip
    
  5. Verifica i contenuti del portafoglio 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.ora
    

    Looker si connette a Oracle ADWC utilizzando Oracle Wallets con il thin driver JDBC 18.3. Per questo, avrai bisogno dell'alias Transparent Network Substrate (TNS) del livello di servizio Oracle ADWC per il tuo database e del percorso dei file del wallet Oracle.

  6. Per ottenere l'alias TNS del database, esegui questo comando:

    cat tnsnames.ora
    

    Avrai a disposizione tre alias TNS tra cui scegliere: dbname_high, dbname_medium e dbname_low. Questi alias corrispondono a diversi livelli di servizio. Questo file include il protocollo, l'host, la porta, il nome del servizio e le informazioni SSL. Per questo esempio, utilizzeremo dbname_medium.

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, concedi al nuovo utente Looker la possibilità 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 l'accesso a 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 quelle vuote) senza prima raccogliere statistiche in Oracle. Se le tabelle che ti servono non vengono visualizzate nel codice LookML o in SQL Runner, esegui questo comando:

  EXEC DBMS_STATS.GATHER_DATABASE_STATS;

Per metodi alternativi, consulta la documentazione di Oracle.

Configurazione degli oggetti principali del database

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 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=&apos;LOOKER&apos;;

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=&apos;LOOKER&apos;;

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. 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 SYS potrebbe essere SYSDBA, ADMIN o non necessario.

Configurazione delle tabelle derivate permanenti

Per attivare le tabelle derivate persistenti, 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

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 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 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,
                   &apos;ALTER SYSTEM KILL SESSION &apos;&apos;&apos;
                   || p_sid || &apos;,&apos; || p_serial# || &apos;&apos;&apos;&apos;,
                   dbms_sql.native);
    ignore := dbms_sql.execute(cursor_name);
  ELSE
    raise_application_error(-20001,
                            &apos;You do not own session &apos;&apos;&apos; ||
                            p_sid || &apos;,&apos; || p_serial# ||
                            &apos;&apos;&apos;&apos;);
  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 essere SYSDBA, ADMIN o non necessario.

Creazione della connessione Looker al tuo database

Segui questi passaggi per creare la connessione da Looker al tuo database:

  1. Nella sezione Amministrazione di Looker, seleziona Connessioni e poi fai clic su Aggiungi connessione.
  2. 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 di Oracle ADWC:

    • Dialetto: Oracle ADWC.
    • Utilizza TNS: attiva le connessioni TNS (Transparent Network Substrate).
    • Host: nome host o alias TNS. Per questo esempio, dbname_medium.
    • Porta: lascia l'impostazione predefinita. Looker troverà la porta dal file tnsnames.ora.
    • Nome servizio: lascia vuoto il campo. 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 utente del database.
    • Abilita PDT: utilizza questo pulsante di attivazione/disattivazione per abilitare le tabelle derivate permanenti. Quando i PDT sono abilitati, la finestra Connessione mostra impostazioni PDT aggiuntive e la sezione Override PDT.
    • Temp Database: 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: il PATH del tuo Oracle Wallet sul server Looker. Per questo esempio, è /home/looker/looker/credentials.
    • In un deployment legacy ospitato da Looker, questo valore sarà /home/lookerops/looker/credentials.
    • In un deployment ospitato da Looker nell'hosting di nuova generazione, questo valore sarà /app/credentials.
    • SSL e Verifica SSL: puoi ignorare questi campi. Looker utilizzerà sempre SSL con Oracle ADWC.
  3. Per verificare che la connessione sia riuscita, fai clic su Testa. Per informazioni sulla risoluzione dei problemi, consulta la pagina della documentazione Testare la connettività del database. Quando fai clic su Test, Looker crea una stringa JDBC simile a questa:

    jdbc:oracle:thin:@dbname_medium?TNS_ADMIN=/home/looker/looker/credentials

  4. Per 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 25.10, Oracle ADWC supporta le seguenti funzionalità:

Funzionalità Supportato?
Livello di assistenza
Integrazione
Looker (Google Cloud core)
No
Aggregati simmetrici
Tabelle derivate
Tabelle derivate permanenti basate su SQL
Tabelle derivate native permanenti
Visualizzazioni stabili
No
Terminazione delle query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri JDBC aggiuntivi
No
Sensibile alle maiuscole
Tipo di località
Tipo di elenco
Percentile
Percentile valori distinti
No
SQL Runner Show Processes
SQL Runner Describe Table
SQL Runner Show Indexes
No
SQL Runner Select 10
Conteggio SQL Runner
SQL Explain
No
Credenziali OAuth 2.0
No
Commenti contestuali
Pool di connessioni
No
Sketch HLL
No
Aggregate awareness
PDT incrementali
No
Millisecondi
Microsecondi
Viste materializzate
No
Misure di periodo in periodo
No
Conteggio approssimativo dei valori distinti
No