Configurer l'hôte Looker pour les connexions
Toutes les connexions Oracle ADWC nécessitent une authentification SSL et un certificat. Pour que Looker se connecte à 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 de Looker hébergé par le client, vous devez disposer d'un administrateur système ayant accès au serveur Looker pour effectuer cette opération. Si vous êtes hébergé par Looker, contactez l'assistance Looker.
Pour installer votre portefeuille Oracle sur le serveur Looker:
Téléchargez votre portefeuille Oracle sur votre ordinateur local. Vous aurez un fichier ZIP nommé
Wallet_databasename.zip
.Sur le serveur Looker, créez un répertoire pour stocker le fichier ZIP du portefeuille:
mkdir /home/looker/looker/credentials
Copiez le fichier ZIP du portefeuille depuis votre ordinateur local sur le serveur Looker. Cet exemple utilise
scp
et place le fichier dans/home/looker/looker/credentials
:scp Wallet_databasename.zip username@remotehost:/home/looker/looker/credentials
Décompressez le fichier ZIP du portefeuille. Cet exemple utilise la commande
unzip
:cd /home/looker/looker/credentials unzip Wallet_databasename.zip
Vérifiez le contenu du portefeuille à l'aide de la commande
ls
. Voici les fichiers que vous devez disposer:ls cwallet.sso keystore.jks sqlnet.ora truststore.jks ewallet.p12 ojdbc.properties tnsnames.ora
Looker se connecte à Oracle ADWC à l'aide de Oracle Wallets avec le pilote léger JDBC 18.3. Pour ce faire, vous avez besoin de l'alias TNS (Transparency 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 la commande suivante:
cat tnsnames.ora
Trois alias TNS sont disponibles:
dbname_high
,dbname_medium
etdbname_low
. Ces alias correspondent à différents niveaux de service. Ce fichier contient le protocole, l'hôte, le port, le nom du service et les informations SSL. 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 de 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 à des tables supplémentaires à l'avenir, vous devrez également accorder l'autorisation SELECT
à ces nouvelles tables.
GRANT SELECT ON -- <all tables that will be used by looker>;
S'assurer que Looker peut afficher toutes les tables
Looker risque de ne pas pouvoir identifier les tables (en particulier les tables vides) sans collecter au préalable de statistiques dans Oracle. Si les tables dont vous avez besoin n'apparaissent pas dans l'exécuteur LookML ou SQL généré, exécutez la commande suivante:
EXEC DBMS_STATS.GATHER_DATABASE_STATS;
Pour connaître d'autres méthodes, consultez la documentation Oracle.
Configurer des objets de base de données principaux
Votre DBA Oracle doit configurer les objets et autorisations suivants sur Oracle. Les commandes suivantes créent LOOKER_SESSION
et LOOKER_SQL
comme synonymes de V$SESSION
et V$SQL
.
Exécutez les commandes suivantes en tant qu'utilisateur racine pour terminer cette configuration. Dans ces exemples, nous partons du principe 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 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='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 DBA Oracle doit configurer la fonction LOOKER_HASH
pour activer les agrégations symétriques. LOOKER_HASH
est un synonyme de la fonction Oracle dbms_crypto.hash
. Le nom commercial 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
Pour configurer l'arrêt des requêtes, le DBA 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;
Le DBA devra également exécuter les commandes 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.
Créer la connexion Looker à votre base de données
Dans la section Administration 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 Connecter Looker à votre base de données. Les paramètres suivants sont spécifiques à Oracle ADWC:
- Dialect: Oracle ADWC.
- Utiliser TNS: activez les connexions TNS (Transparency Network Substrate) transparentes.
- Hôte: nom d'hôte ou alias TNS. Dans cet exemple, il s'agit de
dbname_medium
. - Port: conservez la valeur par défaut. Looker trouvera le port dans le fichier
tnsnames.ora
. - Service Name (Nom du service) : laissez ce champ vide. Looker trouvera le nom du service dans le fichier
tnsnames.ora
. - Nom d'utilisateur: nom d'utilisateur de la base de données ou Base de données temporaire si les tables dérivées persistantes sont activées.
- Password (Mot de passe) : mot de passe de l'utilisateur de la base de données.
- Activer les tables dérivées persistantes: utilisez ce bouton pour activer les tables dérivées persistantes. Lorsque les tables dérivées persistantes sont activées, la fenêtre Connexion affiche les paramètres supplémentaires des tables dérivées persistantes, ainsi que la section Remplacements pour les PDT.
- Base de données temporaire: dans Oracle, un utilisateur est un schéma, il doit donc être spécifié comme nom d'utilisateur de la base de données. Pour cet exemple, utilisez la valeur de schéma temporaire
LOOKER
. - Paramètres JDBC supplémentaires: PATH vers votre portefeuille Oracle sur le serveur Looker. Dans cet exemple, il s'agit de
/home/looker/looker/credentials
.- Sur un ancien déploiement hébergé par Looker, cette valeur est
/home/lookerops/looker/credentials
. - Sur un déploiement hébergé par Looker dans l'hébergement de nouvelle génération, cette valeur sera
/app/credentials
.
- Sur un ancien déploiement hébergé par Looker, cette valeur est
- SSL et vérifier le protocole SSL: vous pouvez ignorer ces champs. Looker utilisera toujours SSL avec Oracle ADWC.
Pour vérifier que la connexion a réussi, cliquez sur Tester. Pour en savoir plus sur le dépannage, consultez la page de test de la connectivité de la base de données. Lorsque vous cliquez sur Tester, Looker crée une chaîne JDBC semblable à celle-ci:
jdbc:oracle:thin:@dbname_medium?TNS_ADMIN=/home/looker/looker/credentials
Pour enregistrer ces paramètres, cliquez sur Connecter.
Prise en charge de 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 23.8:
Caractéristique | Compatible ? |
---|---|
Niveau d'assistance | Intégration |
Looker (Google Cloud Core) | Non |
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 | Non |
Arrêt des requêtes | Oui |
Pivots 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 |
Processus d'affichage de l'exécuteur SQL | Oui |
Table "Décrire" de l'exécuteur SQL | Oui |
Index d'émissions SQL Runner | Non |
Exécuteur SQL 10 | Oui |
Nombre d'exécuteurs SQL | Oui |
SQL Explain | Non |
Identifiants OAuth | Non |
Commentaires contextuels | Oui |
Pooling de connexions | Non |
croquis HLL | Non |
Reconnaissance d'agrégats. | Oui |
Augmentation de tables PDT | Non |
Millisecondes | Oui |
Microsecondes | Oui |
Vues matérialisées | Non |
Nombre approximatif distinct | Non |