Looker tiene compatibilidad a nivel de integración para Oracle ADWC. En esta página, se incluye información para conectar Looker a Oracle ADWC.
Cómo encriptar el tráfico de red
Se recomienda encriptar el tráfico de red entre la aplicación de Looker y tu base de datos. Considera una de las opciones que se describen en la página de documentación Habilita el acceso seguro a la base de datos.
Cómo configurar el host de Looker para las conexiones
Todas las conexiones de Oracle ADWC requieren SSL y autenticación de certificados. Para que Looker se conecte a tu instancia de Oracle ADWC, es necesario descargar los archivos de cartera de Oracle y, luego, instalarlos en el servidor de Looker. Si eres un usuario de Looker alojado por el cliente, necesitarás un administrador del sistema con acceso al servidor de Looker para hacerlo. Si eres un usuario alojado por Looker, comunícate con la asistencia de Looker.
Para instalar tu cartera de Oracle en el servidor de Looker, haz lo siguiente:
Descarga tu cartera de Oracle en tu computadora local. Tendrás un archivo ZIP con un nombre como
Wallet_databasename.zip.En el servidor de Looker, crea un directorio para contener el archivo ZIP de la cartera:
mkdir /home/looker/looker/credentialsCopia el archivo ZIP de la cartera de tu computadora local al servidor de Looker. En este ejemplo, se usa
scpy se coloca el archivo en/home/looker/looker/credentials:scp Wallet_databasename.zip username@remotehost:/home/looker/looker/credentialsDescomprime el archivo ZIP de la cartera. En este ejemplo, se usa el comando
unzip:cd /home/looker/looker/credentials unzip Wallet_databasename.zipVerifica el contenido de la cartera con el comando
ls. Estos son los archivos que deberías tener:ls cwallet.sso keystore.jks sqlnet.ora truststore.jks ewallet.p12 ojdbc.properties tnsnames.oraLooker se conecta a Oracle ADWC con carteras de Oracle con el controlador JDBC Thin 18.3. Para ello, necesitarás el alias de Transparent Network Substrate (TNS) del nivel de servicio de Oracle ADWC para tu base de datos y la ruta de acceso a tus archivos de cartera de Oracle.
Para obtener el alias de TNS de tu base de datos, ejecuta este comando:
cat tnsnames.oraHabrá tres alias de TNS para elegir:
dbname_high,dbname_mediumydbname_low. Estos alias corresponden a diferentes niveles de servicio. El protocolo, el host, el puerto, el nombre del servicio y la información de SSL se incluyen en este archivo. Para este ejemplo, usaremosdbname_medium.
Cómo crear un usuario de Looker
Primero, crea un usuario de Looker designado:
-- connect / as sysdba;
CREATE USER LOOKER IDENTIFIED BY <password>
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
Luego, otorga al nuevo usuario de Looker la capacidad de crear sesiones:
GRANT CREATE SESSION TO LOOKER;
Por último, otorga al usuario de Looker los permisos SELECT adecuados para las tablas de datos a las que planeas acceder desde Looker. Si deseas acceder a tablas adicionales en el futuro, también deberás otorgar SELECT en esas tablas nuevas.
GRANT SELECT ON -- <all tables that will be used by looker>;
Cómo garantizar que Looker pueda ver todas las tablas
Es posible que Looker no pueda identificar tablas (en especial, tablas vacías) sin recopilar estadísticas primero en Oracle. Si las tablas que necesitas no aparecen en LookML generado o en el Ejecutor de SQL, ejecuta este comando:
EXEC DBMS_STATS.GATHER_DATABASE_STATS;
Para conocer métodos alternativos, consulta la documentación de Oracle.
Cómo configurar los objetos principales de la base de datos
Tu DBA de Oracle debe configurar los siguientes objetos y permisos en Oracle. Con los siguientes comandos, se crean LOOKER_SESSION y LOOKER_SQL como sinónimos de V$SESSION y V$SQL.
Ejecuta los siguientes comandos como usuario raíz para completar esta configuración. En estos ejemplos, se supone que el nombre del usuario de Looker es 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;
Cómo configurar agregaciones simétricas
Tu DBA de Oracle debe configurar la función LOOKER_HASH para habilitar agregaciones simétricas. La función LOOKER_HASH es un sinónimo de la función dbms_crypto.hash de Oracle. El DBA también debe crear el sinónimo y los privilegios asociados. En el siguiente ejemplo, se supone que el nombre del usuario de Looker es 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;
Según la configuración de tu base de datos de Oracle, el prefijo
SYSpuede serSYSDBA,ADMINo innecesario.
Cómo configurar tablas derivadas persistentes
Para habilitar tablas derivadas persistentes, otorga al usuario de Looker los permisos UNLIMITED TABLESPACE y CREATE TABLE. En los siguientes comandos, se supone que el nombre del usuario de Looker es LOOKER:
GRANT UNLIMITED TABLESPACE TO LOOKER;
GRANT CREATE TABLE TO LOOKER;
Cómo configurar la eliminación de consultas
Para configurar la eliminación de consultas, el DBA de Oracle debe crear el procedimiento LOOKER_KILL_QUERY como sinónimo de ALTER SYSTEM KILL SESSION. Para ello, ejecuta el siguiente 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,
'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;
El DBA también deberá ejecutar estos comandos relacionados:
CREATE OR REPLACE SYNONYM LOOKER.LOOKER_KILL_QUERY FOR SYS.LOOKER_KILL_QUERY;
GRANT EXECUTE ON SYS.LOOKER_KILL_QUERY TO LOOKER;
Según la configuración de tu base de datos de Oracle, el prefijo
SYSpuede serSYSDBA,ADMINo innecesario.
Cómo crear la conexión de Looker a tu base de datos
Sigue estos pasos para crear la conexión de Looker a tu base de datos:
- En la sección Administrador de Looker, selecciona Conexiones y, luego, haz clic en Agregar conexión.
Completa los detalles de la conexión. La mayoría de los parámetros de configuración son comunes en la mayoría de los dialectos de bases de datos. Consulta la página de documentación Conecta Looker a tu base de datos para obtener información. Los siguientes parámetros de configuración son específicos de Oracle ADWC:
- Dialect: Oracle ADWC.
- Use TNS: Habilita las conexiones de Transparent Network Substrate (TNS).
- Host: Nombre de host o alias de TNS. Para este ejemplo,
dbname_medium. - Port: Déjalo como predeterminado. Looker encontrará el puerto en el archivo
tnsnames.ora. - Nombre del servicio: Déjalo en blanco. Looker encontrará el nombre del servicio en el archivo
tnsnames.ora. - Nombre de usuario: Nombre de usuario de la base de datos o Base de datos temporal si las PDT están habilitadas.
- Contraseña: Contraseña del usuario de la base de datos.
- Habilitar PDTs: Usa este botón de activación para habilitar las tablas derivadas persistentes. Cuando las PDT están habilitadas, la ventana Connection revela parámetros de configuración adicionales de PDT y la sección PDT Overrides.
- Temp Database: En Oracle, un usuario es un esquema, por lo que se debe especificar como el nombre del usuario de la base de datos. Para este ejemplo, usarías el valor del esquema temporal
LOOKER. - Additional JDBC Parameters: La ruta de acceso a tu cartera de Oracle en el servidor de Looker. Para este ejemplo, es
/home/looker/looker/credentials. - En una implementación heredada alojada por Looker, este valor será
/home/lookerops/looker/credentials. - En una implementación alojada por Looker en el alojamiento de próxima generación, este valor será
/app/credentials. - SSL y Verificar SSL: Puedes ignorar estos campos. Looker siempre usará SSL con Oracle ADWC.
Para verificar que la conexión se realizó correctamente, haz clic en Probar. Consulta la página de documentación Prueba la conectividad de la base de datos para obtener información sobre la solución de problemas. Cuando haces clic en Probar, Looker compila una cadena de JDBC como esta:
jdbc:oracle:thin:@dbname_medium?TNS_ADMIN=/home/looker/looker/credentialsPara guardar esta configuración, haz clic en Conectar.
Compatibilidad de características
Para que Looker admita algunas funciones, el dialecto de tu base de datos también debe admitirlas.
Oracle ADWC admite las siguientes funciones a partir de Looker 25.20:
| Función | ¿Es compatible? |
|---|---|
| Looker (Google Cloud Core) | |
| Agregaciones simétricas | |
| Tablas derivadas | |
| Tablas derivadas persistentes basadas en SQL | |
| Tablas derivadas persistentes nativas | |
| Vistas estables | |
| Eliminación de consultas | |
| Tablas dinámicas basadas en SQL | |
| Zonas horarias | |
| SSL | |
| Subtotales | |
| Parámetros adicionales de JDBC | |
| Distinción entre mayúsculas y minúsculas | |
| Tipo de ubicación | |
| Tipo de lista | |
| Percentil | |
| Percentil de valores distintos | |
| Mostrar procesos del Ejecutor de SQL | |
| Describir tabla del Ejecutor de SQL | |
| Mostrar índices del Ejecutor de SQL | |
| Seleccionar 10 del Ejecutor de SQL | |
| Recuento del Ejecutor de SQL | |
| Explicar SQL | |
| Credenciales de OAuth 2.0 | |
| Comentarios contextuales | |
| Agrupación de conexiones | |
| Esbozos de HLL | |
| Reconocimiento agregado | |
| PDT incrementales | |
| Milisegundos | |
| Microsegundos | |
| Vistas materializadas | |
| Medidas entre períodos | |
| Distinción de recuento aproximado |