Chiffrement du trafic réseau
Il est recommandé de chiffrer le trafic réseau entre l'application Looker et votre base de données. Pour ce faire, consultez les options détaillées sur la page de documentation Sécurisation de l'accès à la base de données.
Si vous souhaitez 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, donnez au nouvel utilisateur Looker la possibilité de 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 SELECT
à ces nouvelles tables.
GRANT SELECT ON -- <all tables that will be used by looker>;
S'assurer que Looker peut voir toutes les tables
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 code LookML ou SQL Runner généré, essayez d'exécuter la commande suivante:
EXEC DBMS_STATS.GATHER_DATABASE_STATS;
Pour connaître d'autres méthodes, consultez la documentation Oracle.
Configurer les objets de base de données principaux
Votre administrateur de base de données Oracle doit configurer les objets et les autorisations suivants sur Oracle. Les commandes suivantes créent LOOKER_SESSION
et LOOKER_SQL
comme synonymes de V$SESSION
et V$SQL
.
Pour effectuer cette configuration, exécutez les commandes suivantes en tant qu'utilisateur racine. 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
. Le DBA doit également créer le synonyme et les droits 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;
Selon la configuration de votre base de données Oracle, le préfixe
SYS
peut êtreSYSDBA
,ADMIN
ou inutile.
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 doit é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;
Selon la configuration de votre base de données Oracle, le préfixe
SYS
peut êtreSYSDBA
,ADMIN
ou inutile.
Déploiements Amazon RDS
Dans les déploiements Oracle Amazon RDS, la procédure rdsadmin.rdsadmin_util.kill
permet d'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.
L'attribution basée sur les données étant un rôle de base de données élevé, vous pouvez ignorer cette étape et renoncer à la suppression des requêtes dans Looker.
Pour autoriser l'arrêt des requêtes de l'utilisateur de la base de données Looker, 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 Connexions, puis cliquez sur 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 Connecter Looker à votre base de données. Les paramètres suivants sont spécifiques à Oracle :
- Nom : spécifiez le nom de la connexion. C'est sous ce nom que la connexion sera désignée dans les projets LookML.
- Dialecte: Oracle.
- Utiliser TNS: activez les connexions TNS (Transparent Network Substrate).
- Hôte : nom d'hôte ou alias TNS.
- Port: port de 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).
- Nom d'utilisateur: nom d'utilisateur de la base de données ou base de données temporaire si les tables PDT sont activées.
- Password (Mot de passe) : mot de passe de l'utilisateur de la base de données.
- Activer les PDT : utilisez cet interrupteur pour activer les tables dérivées persistantes. Lorsque les PDT sont activés, la fenêtre Connexion affiche des paramètres PDT supplémentaires et la section Remplacements pour les PDT.
- Temp Database (Base de données temporaire) : dans Oracle, un utilisateur est un schéma. Il doit donc être spécifié en tant que nom de l'utilisateur de la base de données. Pour cet exemple, vous devez utiliser la valeur de schéma temporaire
LOOKER
. - Nombre maximal de connexions du générateur PDT : spécifiez le nombre de compilations PDT simultanées possibles sur cette connexion. Définir cette valeur trop élevée peut avoir un impact négatif sur la durée des requêtes. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données.
- Additional JDBC parameters (Paramètres JDBC supplémentaires) : laissez ce champ vide, car Oracle n'accepte pas les paramètres JDBC supplémentaires.
- Calendrier de maintenance des groupes de données et des tables dérivées persistantes : 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 Planification du suivi des tables PDT et des groupes de données. - SSL: cochez cette option pour utiliser des connexions SSL.
- Vérifier le protocole SSL : ignorez ce champ. Oracle utilisera le Truststore Java par défaut pour vérifier le protocole SSL.
- Nombre maximal de connexions par nœud: vous pouvez conserver la valeur par défaut de ce paramètre. Pour en savoir plus sur ce paramètre, consultez la section Nombre maximal de connexions par nœud de la page de documentation Connecter Looker à votre base de données.
- Expiration du pool de connexions: ce paramètre peut être initialement conservé sur sa valeur par défaut. Pour en savoir plus sur ce paramètre, consultez la section Expiration du pool de connexions de la page de documentation Connecter Looker à votre base de données.
- Précache de l'exécuteur SQL: pour empêcher SQL Runner de précharger les informations de table et de ne les charger que lorsqu'une table est sélectionnée, décochez cette option. Pour en savoir plus sur ce paramètre, consultez la section Préchargement du moteur d'exécution SQL de la page de documentation Connecter Looker à votre base de données.
- 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 convertir le fuseau horaire. Pour en savoir plus, consultez la page de documentation Utiliser les paramètres de fuseau horaire.
Pour vérifier que la connexion est établie, cliquez sur Test. Pour obtenir des informations sur le dépannage, consultez la page de documentation Tester la connectivité de la base de données.
Pour enregistrer ces paramètres, cliquez sur Connecter. Dans la section Administration de Looker, sélectionnez Connexions, puis cliquez sur Ajouter une connexion.
Compatibilité des caractéristiques
Pour que Looker prenne en charge certaines fonctionnalités, votre dialecte de base de données doit également les prendre en charge.
Oracle prend en charge les fonctionnalités suivantes à partir de Looker 24.16:
Caractéristique | Compatibilité |
---|---|
Niveau d'assistance | Compatible |
Looker (Google Cloud Core) | Oui |
Agrégations symétriques | Oui |
Tables dérivées | Oui |
Tables dérivées SQL persistantes | Oui |
Tables dérivées natives persistantes | Oui |
Vues stables | Oui |
Arrêt des requêtes | Oui |
Tableaux croisés dynamiques basés sur SQL | Oui |
Fuseaux horaires | Oui |
SSL | Oui |
Sous-totaux | Oui |
Paramètres JDBC supplémentaires | Non |
Sensible à la casse | Oui |
Type d'emplacement | Oui |
Type de liste | Oui |
Centile | Oui |
Centile distinct | Non |
Exécuteur SQL : afficher les processus | Oui |
Table de description de SQL Runner | Oui |
Index d'affichage de l'exécuteur SQL | Oui |
SQL Runner Select 10 | Oui |
Nombre d'exécuteurs SQL | Oui |
Expliquer SQL | Non |
Identifiants OAuth | Non |
Commentaires sur le contexte | Oui |
Pooling des connexions | Non |
HLL Sketches | Non |
Reconnaissance d'agrégats. | Oui |
Augmentation de tables PDT | Non |
Millisecondes | Oui |
Microsecondes | Oui |
Vues matérialisées | Non |
Nombre approximatif d'éléments distincts | Non |