Oracle Autonomous Data Warehouse on Cloud

Configurazione dell'host Looker per le connessioni

Tutte le connessioni Oracle ADWC richiedono SSL e l'autenticazione dei certificati. Per consentire a Looker di connettersi all'istanza Oracle ADWC, è necessario scaricare i tuoi file Oracle wallet e installarli sul server Looker. Se sei un utente Looker ospitato dal cliente, sarà necessario un amministratore di sistema con accesso al server Looker. Se sei un utente ospitato da Looker, contatta il supporto di Looker.

Per installare il tuo portafoglio Oracle sul server Looker:

  1. Scarica il tuo portafoglio Oracle sul computer locale. Avrai un file ZIP denominato Wallet_databasename.zip.

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

  mkdir /home/looker/looker/credentials
  1. Copia il file ZIP di Wallet dal computer locale al server Looker. In questo esempio viene utilizzato scp e il file viene inserito in /home/looker/looker/credentials:
  scp Wallet_databasename.zip username@remotehost:/home/looker/looker/credentials
  1. Decomprimi il file zip di Wallet. In questo esempio viene utilizzato il comando unzip:
  cd /home/looker/looker/credentials
  unzip Wallet_databasename.zip
  1. Verifica i contenuti del portafoglio con il comando ls. Ecco i file che dovresti avere:

     ls
    
     cwallet.sso  keystore.jks      sqlnet.ora    truststore.jks
     ewallet.p12  ojdbc.properties  tnsnames.ora
     ```
    Looker connects to Oracle ADWC using Oracle Wallets with the [JDBC Thin Driver 18.3](https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/user/connect-jdbc-thin-wallet.html#GUID-20656D84-4D79-4EE9-B55F-333053948966). For this, you will need the Transparent Network Substrate (TNS) Alias of the Oracle ADWC Service level for your database and the PATH to your Oracle wallet files.
    
  2. Per ottenere l'alias TNS del database, esegui questo comando:

cat tnsnames.ora

Ci saranno tre alias TNS tra cui scegliere: dbname_high, dbname_medium e dbname_low. Questi alias corrispondono ai diversi livelli di servizio. In questo file sono inclusi il protocollo, l'host, la porta, il nome del servizio e le informazioni SSL. Per questo esempio utilizzeremo dbname_medium.

Creazione di un utente di Looker

Prima di tutto, crea un utente Looker designato:

-- connect / as sysdba;
CREATE USER LOOKER IDENTIFIED BY <password>
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;

Quindi, 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 intendi accedere da Looker. Se in futuro vorrai accedere a tabelle aggiuntive, dovrai concedere l'accesso a SELECT anche a queste nuove tabelle.

GRANT SELECT ON -- <all tables that will be used by looker>;

Verificare che Looker possa vedere tutte le tabelle

Looker potrebbe non essere in grado di identificare le tabelle, in particolare quelle vuote, senza prima raccogliere statistiche in Oracle. Se le tabelle che ti servono non vengono visualizzate in LookML o SQL Runner generati, esegui questo comando:

EXEC DBMS_STATS.GATHER_DATABASE_STATS;

Per informazioni sui metodi alternativi, consulta la documentazione di Oracle.

Configurazione degli oggetti del database principale

Il DBA Oracle deve configurare i seguenti oggetti e autorizzazioni su Oracle. I comandi seguenti creano LOOKER_SESSION e LOOKER_SQL come sinonimi per V$SESSION e V$SQL.

Esegui i comandi seguenti 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=&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 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 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;

Impostazione di aggregati simmetrici

Il 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 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 tuo database Oracle, il prefisso SYS può essere SYSDBA, 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 seguenti comandi presuppongono che il nome dell'utente di Looker sia LOOKER:

GRANT UNLIMITED TABLESPACE TO LOOKER;
GRANT CREATE TABLE TO LOOKER;

Impostazione della terminazione delle query

Per configurare l'interruzione delle query, 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 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à inoltre eseguire i seguenti 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 tuo database Oracle, il prefisso SYS può essere SYSDBA, ADMIN o non necessario.

Aggiungere la connessione

Nella sezione Admin (Amministrazione) di Looker, seleziona Connections (Connessioni) e fai clic su Add Connection (Aggiungi connessione).

Inserisci i dettagli della connessione. La maggior parte di queste impostazioni è comune alla maggior parte dei dialetti dei database e è descritta nella pagina della documentazione Connessione di Looker al tuo database. Le impostazioni seguenti sono specifiche per Oracle ADWC o all'esempio di pagina Connections Settings (Impostazioni connessioni) mostrata sopra:

  • Dialetto: Oracle ADWC.
  • Utilizza TNS: attiva le connessioni TNS (Transparent Network Substrate).
  • Host: nome host o alias TNS. In questo esempio, dbname_medium.
  • Port (Porta): lascia l'impostazione predefinita; Looker troverà la porta dal file tnsnames.ora.
  • Service Name (Nome servizio): lascia vuoto. Looker troverà il nome del servizio nel file tnsnames.ora.
  • Nome utente: nome utente del database o Database temporaneo se le PDT sono abilitate.
  • Password: la password utente del database.
  • Persistent Derived Tables (Tabelle derivate permanenti): seleziona questa casella per abilitare le tabelle derivate permanenti. Vengono visualizzati ulteriori campi PDT e la colonna PDT Overrides (Override PDT).
  • Temp Database (Database temporaneo): in Oracle un utente è uno schema, quindi deve essere specificato come il nome dell'utente del database. Per questo esempio, utilizzeremmo il valore schema schema LOOKER.
  • Additional Params (Parametri aggiuntivi): il PATH relativo al tuo portafoglio Oracle 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 in un hosting di nuova generazione, questo valore sarà /app/credentials.
  • SSL e Verifica certificato SSL: puoi ignorare questi campi. Looker utilizzerà sempre SSL con Oracle ADWC.

Quando fai clic su Test These Settings (Prova queste impostazioni), Looker crea una stringa JDBC simile alla seguente:

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

Supporto delle funzionalità

Affinché Looker supporti alcune funzionalità, anche il tuo dialetto del database deve supportarle.

Nell'ultima release di Looker, Oracle Autonomous Data Warehouse su Cloud supporta le seguenti funzionalità di Looker:

Passaggi successivi

Dopo aver completato la configurazione del database, connettiti al database da Looker.