Looker est compatible avec Oracle ADWC au niveau de l'intégration. Cette page explique comment connecter Looker à Oracle ADWC.
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 Sécurisation de l'accès à la base de données de la documentation.
Configurer l'hôte Looker pour les connexions
Toutes les connexions Oracle ADWC nécessitent une authentification SSL et par certificat. Pour que Looker puisse se connecter à votre instance Oracle ADWC, vous devez télécharger vos fichiers de portefeuille Oracle et les installer sur le serveur Looker. Si vous êtes un utilisateur Looker hébergé par le client, vous aurez besoin d'un administrateur système ayant accès au serveur Looker pour effectuer cette opération. Si vous êtes un utilisateur Looker hébergé, contactez l'assistance Looker.
Pour installer votre portefeuille Oracle sur le serveur Looker :
Téléchargez votre portefeuille Oracle sur votre ordinateur local. Vous obtiendrez un fichier ZIP nommé, par exemple,
Wallet_databasename.zip.Sur le serveur Looker, créez un répertoire pour contenir le fichier ZIP du portefeuille :
mkdir /home/looker/looker/credentialsCopiez le fichier ZIP du portefeuille de votre ordinateur local vers le serveur Looker. Cet exemple utilise
scpet place le fichier dans/home/looker/looker/credentials:scp Wallet_databasename.zip username@remotehost:/home/looker/looker/credentialsDécompressez le fichier ZIP du portefeuille. Cet exemple utilise la commande
unzip:cd /home/looker/looker/credentials unzip Wallet_databasename.zipVérifiez le contenu du portefeuille à l'aide de la commande
ls. Voici les fichiers que vous devriez avoir :ls cwallet.sso keystore.jks sqlnet.ora truststore.jks ewallet.p12 ojdbc.properties tnsnames.oraLooker se connecte à Oracle ADWC à l'aide de portefeuilles Oracle avec le pilote JDBC Thin 18.3. Pour ce faire, vous aurez besoin de l'alias TNS (Transparent Network Substrate) du niveau de service Oracle ADWC pour votre base de données et du chemin d'accès à vos fichiers de portefeuille Oracle.
Pour obtenir l'alias TNS de votre base de données, exécutez cette commande :
cat tnsnames.oraVous aurez le choix entre trois alias TNS :
dbname_high,dbname_mediumetdbname_low. Ces alias correspondent à différents niveaux de service. Le protocole, l'hôte, le port, le nom de service et les informations SSL sont inclus dans ce fichier. Pour cet exemple, nous utiliseronsdbname_medium.
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, exécutez cette commande :
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 dans 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 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;
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. L'exemple suivant suppose 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;
En fonction de la configuration de votre base de données Oracle, le
SYSpréfixe 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
Pour configurer l'arrêt des requêtes, 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 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'administrateur de base de données devra également exécuter ces commandes associées :
CREATE OR REPLACE SYNONYM LOOKER.LOOKER_KILL_QUERY FOR SYS.LOOKER_KILL_QUERY;
GRANT EXECUTE ON SYS.LOOKER_KILL_QUERY TO LOOKER;
En fonction de la configuration de votre base de données Oracle, le
SYSpréfixe peut êtreSYSDBA,ADMIN, ou inutile.
Créer la connexion Looker à votre base de données
Suivez ces étapes pour créer la connexion entre Looker et 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 ADWC :
- Dialect: Oracle ADWC.
- Use TNS (Utiliser TNS) : activez les connexions TNS (Transparent Network Substrate).
- Host (Hôte) : nom d'hôte ou alias TNS. Pour cet exemple,
dbname_medium. - Port : laissez la valeur par défaut. Looker trouvera le port à partir du fichier
tnsnames.ora. - Service Name (Nom de service) : laissez ce champ vide. Looker trouvera le nom de service à partir du fichier
tnsnames.ora. - 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. Pour cet exemple, vous devez utiliser la valeur de schéma temporaire
LOOKER. - Additional JDBC parameters (Paramètres JDBC supplémentaires) : laissez ce champ vide, car Oracle n'est pas compatible avec les paramètres JDBC supplémentaires.
- SSL and Verify SSL (SSL et Vérifier SSL) : vous pouvez ignorer ces champs. Looker utilisera toujours SSL avec Oracle ADWC.
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. Lorsque vous cliquez sur Test, Looker crée une chaîne JDBC comme celle-ci :
jdbc:oracle:thin:@dbname_medium?TNS_ADMIN=/home/looker/looker/credentialsPour enregistrer ces paramètres, cliquez sur Connect (Se connecter).
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 ADWC est compatible avec les fonctionnalités suivantes à partir de Looker 26.10 :
| 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 dans l'exécuteur SQL | |
| Décrire la table dans l'exécuteur SQL | |
| Afficher les index dans l'exécuteur SQL | |
| Sélectionner 10 dans l'exécuteur SQL | |
| Nombre dans 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 | |
| Modèles analytiques dans la base de données | |
| Agendas personnalisés |