Oracle

Chiffrement du trafic réseau

Il est recommandé de chiffrer le trafic réseau entre l'application Looker et votre base de données. Envisagez l'une des options décrites sur la page de documentation Activer l'accès sécurisé à la base de données.

Si vous envisagez d'utiliser le chiffrement SSL, consultez la documentation Oracle.

Créer un utilisateur Looker

Commencez par créer un utilisateur Looker désigné :

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

Ensuite, autorisez le nouvel utilisateur Looker à créer des sessions :

GRANT CREATE SESSION TO LOOKER;

Enfin, accordez à l'utilisateur Looker les autorisations SELECT appropriées pour les tables de données auxquelles vous prévoyez d'accéder depuis Looker. Si vous souhaitez accéder à d'autres tables à l'avenir, vous devrez également accorder l'autorisation SELECT sur ces nouvelles tables.

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

S'assurer que Looker peut voir toutes les tables

Looker peut ne pas être en mesure d'identifier les tables (en particulier les tables vides) sans collecter d'abord des statistiques dans Oracle. Si les tables dont vous avez besoin n'apparaissent pas dans le LookML ou l'exécuteur SQL générés, essayez d'exécuter :

EXEC DBMS_STATS.GATHER_DATABASE_STATS;

Pour connaître d'autres méthodes, consultez la documentation Oracle.

Configurer les principaux objets de base de données

Votre administrateur de base de données Oracle doit configurer les objets et autorisations suivants sur Oracle. Les commandes suivantes créent LOOKER_SESSION et LOOKER_SQL en tant que synonymes de V$SESSION et V$SQL.

Exécutez les commandes suivantes en tant qu'utilisateur racine pour terminer cette configuration. Ces exemples supposent que le nom de l'utilisateur Looker est 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;

Configurer des agrégations symétriques

Votre administrateur de base de données Oracle doit configurer la fonction LOOKER_HASH pour activer les agrégations symétriques. La fonction LOOKER_HASH est un synonyme de la fonction Oracle dbms_crypto.hash. L'administrateur de base de données doit également créer le synonyme et les privilèges associés. Les commandes suivantes supposent que le nom de l'utilisateur Looker est 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;

Configurer des tables dérivées persistantes

Pour activer les tables dérivées persistantes, accordez à l'utilisateur Looker les autorisations UNLIMITED TABLESPACE et CREATE TABLE. Les commandes suivantes supposent que le nom de l'utilisateur Looker est LOOKER :

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

Configurer l'arrêt des requêtes

Suivez ces instructions pour configurer l'arrêt des requêtes pour un déploiement Oracle standard ou un déploiement Amazon RDS.

Déploiements Oracle standards

Pour configurer l'arrêt des requêtes dans les déploiements Oracle standards, l'administrateur de base de données Oracle doit créer la procédure LOOKER_KILL_QUERY en tant que synonyme de ALTER SYSTEM KILL SESSION. Pour ce faire, exécutez la commande suivante :

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;

L'administrateur de base de données devra également exécuter les commandes associées suivantes :

CREATE OR REPLACE SYNONYM LOOKER.LOOKER_KILL_QUERY FOR SYS.LOOKER_KILL_QUERY;
GRANT EXECUTE ON SYS.LOOKER_KILL_QUERY TO LOOKER;

Déploiements Amazon RDS

Dans les déploiements Amazon RDS Oracle, la rdsadmin.rdsadmin_util.kill procédure est utilisée pour arrêter les requêtes. Pour utiliser cette procédure, le rôle DBA doit être attribué à l'utilisateur de la base de données Looker.

Pour accorder à l'utilisateur de la base de données Looker la possibilité d'arrêter les requêtes, exécutez la commande suivante :

GRANT DBA TO LOOKER;

Créer la connexion Looker à votre base de données

Dans la section Admin de Looker, sélectionnez Connections (Connexions), puis cliquez sur Add Connection (Ajouter une connexion).

Saisissez les informations de connexion. La majorité des paramètres sont communs à la plupart des dialectes de base de données. Pour en savoir plus, consultez la page de documentation Connexion de Looker à votre base de données. Les paramètres suivants sont spécifiques à Oracle :

  • Name (Nom) : spécifiez le nom de la connexion. C'est ainsi que vous ferez référence à la connexion dans les projets LookML.
  • Dialect (Dialecte) : Oracle.
  • Use TNS (Utiliser TNS) : activez les connexions TNS (Transparent Network Substrate).
  • Host (Hôte) : nom d'hôte ou alias TNS.
  • Port : port de la base de données.
  • Database (Base de données) : nom de la base de données (si vous n'utilisez pas TNS).
  • Service Name (Nom du service) : nom du service (si vous utilisez TNS).
  • Username (Nom d'utilisateur) : nom d'utilisateur de la base de données ou Temp Database (Base de données temporaire) si les PDT sont activées.
  • Password (Mot de passe) : mot de passe de l'utilisateur de la base de données.
  • Enable PDTs (Activer les PDT) : utilisez ce bouton pour activer les tables dérivées persistantes. Lorsque les PDT sont activées, la fenêtre Connection (Connexion) affiche des paramètres PDT supplémentaires et la section PDT Overrides (Remplacements de PDT).
  • Temp Database (Base de données temporaire) : dans Oracle, un utilisateur est un schéma. Vous devez donc spécifier le nom de l'utilisateur de la base de données. Dans cet exemple, vous devez utiliser la valeur de schéma temporaire LOOKER.
  • Max number of PDT builder connections (Nombre maximal de connexions du générateur de PDT) : spécifiez le nombre de compilations PDT simultanées possibles sur cette connexion. Si vous définissez une valeur trop élevée, cela peut avoir un impact négatif sur les temps de requête. Pour en savoir plus, consultez la page de documentation Connexion de Looker à votre base de données.
  • Additional JDBC parameters (Paramètres JDBC supplémentaires) : laissez ce champ vide, car Oracle ne prend pas en charge les paramètres JDBC supplémentaires.
  • Maintenance Schedule (Programme de maintenance) : expression cron qui indique quand Looker doit vérifier les groupes de données et les tables dérivées persistantes. Pour en savoir plus sur ce paramètre, consultez la documentation Programme de maintenance.
  • SSL : cochez cette case pour utiliser les connexions SSL.
  • Verify SSL (Vérifier SSL) : ignorez ce champ. Oracle utilisera le magasin de confiance Java par défaut pour vérifier SSL.
  • Max connections per node (Nombre maximal de connexions par nœud) : vous pouvez conserver la valeur par défaut indiquée. Pour en savoir plus sur ce paramètre, consultez la section Nombre maximal de connexions par nœud de la page de documentation Connexion de Looker à votre base de données.
  • Connection Pool Timeout (Délai d'attente avant expiration du pool de connexions) : vous pouvez conserver la valeur par défaut indiquée. Pour en savoir plus sur ce paramètre, consultez la section Délai d'attente avant expiration du pool de connexions de la page de documentation Connexion de Looker à votre base de données.
  • SQL Runner Precache (Préchargement de l'exécuteur SQL) : pour que SQL Runner ne précharge pas les informations d'une table et les charge uniquement lorsque la table est sélectionnée, désélectionnez cette option. Pour en savoir plus sur ce paramètre, consultez la section Préchargement de l'exécuteur SQL de la page de documentation Connexion de Looker à votre base de données.
  • Database Time Zone (Fuseau horaire de la base de données) : spécifiez le fuseau horaire utilisé dans la base de données. Laissez ce champ vide si vous ne souhaitez pas effectuer de conversion de fuseau horaire. Pour en savoir plus, consultez la page de documentation Utiliser les paramètres de fuseau horaire.

Pour vérifier que la connexion a réussi, cliquez sur Test (Tester). Pour obtenir des informations sur la résolution des problèmes, consultez la page de documentation Tester la connectivité de la base de données.

Pour enregistrer ces paramètres, cliquez sur Connect (Se connecter). Dans la section Admin de Looker, sélectionnez Connections (Connexions), puis cliquez sur Add Connection (Ajouter une connexion).

Compatibilité avec les fonctionnalités

Pour que Looker prenne en charge certaines fonctionnalités, votre dialecte de base de données doit également les prendre en charge.

Oracle est compatible avec les fonctionnalités suivantes à partir de Looker 26.6 :

Fonctionnalité Compatibilité
Looker (Google Cloud Core)
Agrégations symétriques
Tables dérivées
Tables dérivées SQL persistantes
Tables dérivées natives persistantes
Vues stables
Arrêt des requêtes
Tableaux croisés dynamiques basés sur SQL
Fuseaux horaires
SSL
Sous-totaux
Paramètres JDBC supplémentaires
Sensibilité à la casse
Type de lieu
Type de liste
Centile
Centile distinct
Afficher les processus de l'exécuteur SQL
Décrire la table de l'exécuteur SQL
Afficher les index de l'exécuteur SQL
Sélectionner 10 de l'exécuteur SQL
Nombre de l'exécuteur SQL
Explication SQL
Identifiants OAuth 2.0
Commentaires contextuels
Regroupement de connexions
Résumés HLL
Reconnaissance d'agrégats
Augmentation de tables PDT
Millisecondes
Microsecondes
Vues matérialisées
Mesures de variation par période
Nombre approximatif d'éléments distincts
Agendas personnalisés