Cifrar el tráfico de red
Te recomendamos que cifres el tráfico de red entre la aplicación de Looker y tu base de datos. Considera una de las opciones descritas en la página de documentación Habilitar el acceso seguro a la base de datos.
Si te interesa usar el cifrado SSL, consulta la documentación de Oracle.
Crear un usuario de Looker
Primero, crea un usuario de Looker específico:
-- connect / as sysdba;
CREATE USER LOOKER IDENTIFIED BY <password>
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
A continuación, concede al nuevo usuario de Looker la capacidad de crear sesiones:
GRANT CREATE SESSION TO LOOKER;
Por último, concede al usuario de Looker los SELECT
permisos adecuados para las tablas de datos a las que quieras acceder desde Looker. Si quieres acceder a más tablas en el futuro, también tendrás que conceder permisos a SELECT
en esas tablas.
GRANT SELECT ON -- <all tables that will be used by looker>;
Asegurarse de que Looker puede ver todas las tablas
Es posible que Looker no pueda identificar tablas (especialmente las vacías) sin recoger primero estadísticas en Oracle. Si las tablas que necesitas no aparecen en el LookML generado o en SQL Runner, prueba a ejecutar lo siguiente:
EXEC DBMS_STATS.GATHER_DATABASE_STATS;
Para ver otros métodos, consulta la documentación de Oracle.
Configurar objetos de base de datos principales
Tu administrador de bases de datos de Oracle debe configurar los siguientes objetos y permisos en Oracle. Los siguientes comandos crean LOOKER_SESSION
y LOOKER_SQL
como sinónimos de V$SESSION
y V$SQL
.
Ejecuta los siguientes comandos como usuario root para completar esta configuración. En estos ejemplos se da por supuesto 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 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;
Configurar agregados simétricos
Tu administrador de bases de datos de Oracle debe configurar la función LOOKER_HASH
para habilitar los agregados simétricos. La función LOOKER_HASH
es un sinónimo de la función dbms_crypto.hash
de Oracle. El administrador de la base de datos también debe crear el sinónimo y los privilegios asociados. En los siguientes comandos se da por hecho 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;
En función de la configuración de tu base de datos de Oracle, el prefijo
SYS
puede serSYSDBA
,ADMIN
o innecesario.
Configurar tablas derivadas persistentes
Para habilitar las tablas derivadas persistentes, concede al usuario de Looker los permisos UNLIMITED TABLESPACE
y CREATE TABLE
. En los siguientes comandos se da por hecho que el nombre del usuario de Looker es LOOKER
:
GRANT UNLIMITED TABLESPACE TO LOOKER;
GRANT CREATE TABLE TO LOOKER;
Configurar la cancelación de consultas
Sigue estas instrucciones para configurar la cancelación de consultas en una implementación estándar de Oracle o en una implementación de Amazon RDS.
Implementaciones estándar de Oracle
Para configurar la cancelación de consultas en las implementaciones estándar de Oracle, el administrador de bases de datos 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 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;
El administrador de la base de datos también tendrá que 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;
En función de la configuración de tu base de datos de Oracle, el prefijo
SYS
puede serSYSDBA
,ADMIN
o innecesario.
Despliegues de Amazon RDS
En las implementaciones de Oracle en Amazon RDS, se usa el procedimiento rdsadmin.rdsadmin_util.kill
para finalizar las consultas. Para usar este procedimiento, el usuario de la base de datos de Looker debe tener asignado el rol DBA
.
Como DBA es un rol de base de datos con privilegios elevados, puedes saltarte este paso y no inhabilitar la cancelación de consultas en Looker.
Para dar al usuario de la base de datos de Looker la capacidad de cancelar consultas, ejecuta el siguiente comando:
GRANT DBA TO LOOKER;
Crear la conexión de Looker a tu base de datos
En la sección Administrar de Looker, selecciona Conexiones y, a continuación, haz clic en Añadir conexión.
Rellena los detalles de la conexión. La mayoría de los ajustes son comunes a la mayoría de los dialectos de bases de datos. Consulta la página de documentación Conectar Looker a tu base de datos para obtener información. Los siguientes ajustes son específicos de Oracle:
- Nombre: especifica el nombre de la conexión. Así es como harás referencia a la conexión en los proyectos de LookML.
- Dialecto: Oracle.
- Usar TNS: habilita las conexiones de sustrato de red transparente (TNS).
- Host: nombre de host o alias de TNS.
- Puerto: puerto de la base de datos.
- Base de datos: nombre de la base de datos (si no se usa TNS).
- Nombre del servicio: nombre del servicio (si se usa TNS).
- Nombre de usuario: nombre de usuario de la base de datos o Base de datos temporal si los PDTs están habilitados.
- Contraseña: contraseña del usuario de la base de datos.
- Habilitar PDTs: usa este interruptor para habilitar las tablas derivadas persistentes. Cuando se habilitan los PDTs, en la ventana Conexión se muestran ajustes adicionales de PDTs y la sección Sustituciones de PDTs.
- Base de datos temporal: en Oracle, un usuario es un esquema, por lo que debe especificarse como el nombre del usuario de la base de datos. En este ejemplo, usarías el valor del esquema temporal
LOOKER
. - Número máximo de conexiones del creador de PDT: especifica el número de compilaciones de PDT simultáneas posibles en esta conexión. Si este valor es demasiado alto, los tiempos de consulta podrían verse afectados negativamente. Para obtener más información, consulta la página de documentación Conectar Looker a tu base de datos.
- Parámetros JDBC adicionales: deje este campo en blanco, ya que Oracle no admite parámetros JDBC adicionales.
- Programación de mantenimiento: una expresión
cron
que indica cuándo debe comprobar Looker los grupos de datos y las tablas derivadas persistentes. Consulta más información sobre este ajuste en la documentación Programación de mantenimiento. - SSL marca esta casilla para usar conexiones SSL.
- Verificar SSL: ignore este campo. Oracle usará el almacén de confianza de Java predeterminado para verificar SSL.
- Máximo de conexiones por nodo: este ajuste se puede dejar con el valor predeterminado al principio. Consulta más información sobre este ajuste en la sección Conexiones máximas por nodo de la página de documentación Conectar Looker a tu base de datos.
- Tiempo de espera del grupo de conexiones: este ajuste se puede dejar con el valor predeterminado al principio. Consulta más información sobre este ajuste en la sección Tiempo de espera del grupo de conexiones de la página de documentación Conectar Looker a tu base de datos.
- Precaché de SQL Runner: para que SQL Runner no precargue la información de las tablas y solo la cargue cuando se seleccione una tabla, desmarca esta opción. Consulta más información sobre este ajuste en la sección Precaché de SQL Runner de la página de documentación Conectar Looker a tu base de datos.
- Zona horaria de la base de datos: especifica la zona horaria que se usa en la base de datos. Deje este campo en blanco si no quiere que se convierta la zona horaria. Para obtener más información, consulta la página de documentación Usar la configuración de zona horaria.
Para verificar que la conexión se ha realizado correctamente, haz clic en Probar. Consulta la página de documentación Probar la conectividad de la base de datos para obtener información sobre cómo solucionar problemas.
Para guardar estos ajustes, haz clic en Conectar. En la sección Administrar de Looker, selecciona Conexiones y, a continuación, haz clic en Añadir conexión.
Funciones admitidas
Para que Looker admita algunas funciones, el dialecto de tu base de datos también debe admitirlas.
Oracle admite las siguientes funciones a partir de Looker 25.16:
Función | ¿Es compatible? |
---|---|
Nivel de asistencia | Compatible |
Looker (servicio principal de Google Cloud) | Sí |
Agregados simétricos | Sí |
Tablas derivadas | Sí |
Tablas derivadas de SQL persistentes | Sí |
Tablas derivadas nativas persistentes | Sí |
Vistas estables | Sí |
Eliminación de consultas | Sí |
Pivotes basados en SQL | Sí |
Zonas horarias | Sí |
SSL | Sí |
Subtotales | Sí |
Parámetros adicionales de JDBC | No |
Distingue entre mayúsculas y minúsculas | Sí |
Tipo de ubicación | Sí |
Tipo de lista | Sí |
Percentil | Sí |
Percentil de valores distintos | No |
SQL Runner Show Processes | Sí |
SQL Runner Describe Table | Sí |
SQL Runner Show Indexes | Sí |
SQL Runner Select 10 | Sí |
Recuento de ejecuciones de SQL | Sí |
Explicación de SQL | No |
Credenciales de OAuth 2.0 | No |
Comentarios contextuales | Sí |
Grupo de conexiones | No |
Esquemas HLL | No |
Notoriedad agregada | Sí |
PDTs incrementales | No |
Milisegundos | Sí |
Microsegundos | Sí |
Vistas materializadas | No |
Métricas de comparación con el periodo anterior | No |
Recuento aproximado de valores distintos | No |