Oracle

Puedes configurar Looker para analizar los datos almacenados en tu base de datos de Oracle. La integración de Oracle de Looker proporciona una conexión segura, admite tablas derivadas persistentes (PDT) y facilita la finalización de consultas. A través de esta integración, puedes usar tus datos de Oracle directamente dentro de la plataforma de Looker para satisfacer tus necesidades operativas y de análisis.

Encripta 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.

Si te interesa usar el encriptado SSL, consulta la documentación de Oracle.

Crea 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>;

Asegúrate de que Looker pueda ver todas las tablas

Es posible que Looker no pueda identificar tablas (en especial, las tablas vacías) sin recopilar primero estadísticas en Oracle. Si las tablas que necesitas no aparecen en LookML o en el Ejecutor de SQL generados, intenta ejecutar lo siguiente:

EXEC DBMS_STATS.GATHER_DATABASE_STATS;

Para conocer métodos alternativos, consulta la documentación de Oracle.

Configura los objetos principales de la base de datos

Tu DBA 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 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 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;

Configura 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 los siguientes comandos, 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;

Configura 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;

Configura la eliminación de consultas

Sigue estas instrucciones para configurar la eliminación de consultas para una implementación estándar de Oracle o una implementación de Amazon RDS.

Implementaciones estándar de Oracle

Para configurar la eliminación de consultas en implementaciones estándar de Oracle, 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 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 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;

Implementaciones de Amazon RDS

En las implementaciones de Oracle de Amazon RDS, se usa el procedimiento rdsadmin.rdsadmin_util.kill para eliminar consultas. Para usar este procedimiento, el usuario de la base de datos de Looker debe tener asignado el rol DBA.

Para otorgar al usuario de la base de datos de Looker capacidades de eliminación de consultas, ejecuta el siguiente comando:

GRANT DBA TO LOOKER;

Crea 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:

  • 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 usas TNS).
  • Nombre del servicio: Nombre del servicio (si usas TNS).
  • 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 PDT: Usa este botón de activación para habilitar tablas derivadas persistentes. Cuando las PDT están habilitadas, la ventana Conexión revela parámetros de configuración de PDT adicionales y la sección Anulaciones de PDT.
  • Base de datos temporal: En Oracle, un usuario es un esquema, por lo que se debe especificar como el nombre del usuario de la base de datos. En este ejemplo, usarías el valor del esquema temporal LOOKER.
  • Cantidad máxima de conexiones del compilador de PDT: Especifica la cantidad de compilaciones de PDT simultáneas posibles en esta conexión. Si configuras este valor demasiado alto, podría afectar negativamente los tiempos de consulta. Para obtener más información, consulta la página de documentación Conecta Looker a tu base de datos.
  • Parámetros adicionales de JDBC: Deja este campo en blanco, ya que Oracle no admite parámetros adicionales de JDBC.
  • Programa de mantenimiento: Una expresión cron que indica cuándo Looker debe verificar los grupos de datos y las tablas derivadas persistentes. Obtén más información sobre este parámetro de configuración en la documentación Programa de mantenimiento.
  • SSL: Marca esta opción para usar conexiones SSL.
  • Verificar SSL: Ignora este campo. Oracle usará el almacén de confianza de Java predeterminado para verificar SSL.
  • Cantidad máxima de conexiones por nodo: Este parámetro de configuración se puede dejar en el valor predeterminado inicialmente. Obtén más información sobre este parámetro de configuración en la sección Cantidad máxima de conexiones por nodo de la página de documentación Conecta Looker a tu base de datos.
  • Tiempo de espera de la agrupación de conexiones: Este parámetro de configuración se puede dejar en el valor predeterminado inicialmente. Obtén más información sobre este parámetro de configuración en la sección Tiempo de espera de la agrupación de conexiones de la página de documentación Conecta Looker a tu base de datos.
  • Almacenamiento previo en caché del Ejecutor de SQL: Para que el Ejecutor de SQL no precargue la información de la tabla y la cargue solo cuando se selecciona una tabla, desmarca esta opción. Obtén más información sobre este parámetro de configuración en la sección Almacenamiento previo en caché del Ejecutor de SQL de la página de documentación Conecta 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. Deja este campo en blanco si no deseas la conversión de zona horaria. Consulta la página de documentación Usa la configuración de zona horaria para obtener más información.

Para verificar que la conexión se realizó correctamente, haz clic en el botón Probar conexión en la sección Detalles del estado , en la parte inferior de la página Configuración de conexiones.

Si Looker muestra Se puede conectar, presiona Conectar para crear la conexión.

Luego, la conexión de la base de datos se agrega a la lista en la página Administrador Conexiones de Looker.

Compatibilidad de características

Para que Looker admita algunas funciones, el dialecto de tu base de datos también debe admitirlas.

A partir de Looker 26.20, Oracle admite las siguientes funciones:

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
Distingue mayúsculas de 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
Modelos analíticos en la base de datos
Calendarios personalizados