Oracle Autonomous Data Warehouse en Cloud

Encripta el tráfico de red

Una práctica recomendada es 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 autenticación de SSL y certificados. Para que Looker se conecte a tu instancia de Oracle ADWC, es necesario descargar tus archivos de Oracle Wallet y, luego, instalarlos en el servidor de Looker. Si eres un usuario de Looker alojado por un cliente, necesitarás un administrador del sistema con acceso al servidor de Looker para hacerlo. Si eres un usuario alojado en Looker, comunícate con el equipo de asistencia de Looker.

Para instalar tu billetera de Oracle en el servidor de Looker, sigue estos pasos:

  1. Descarga tu billetera de Oracle en tu computadora local. Tendrás un archivo ZIP llamado Wallet_databasename.zip.

  2. En el servidor de Looker, crea un directorio para contener el archivo ZIP de la cartera:

    mkdir /home/looker/looker/credentials
    
  3. Copia el archivo ZIP de la billetera de tu computadora local al servidor de Looker. En este ejemplo, se usa scp y se coloca el archivo en /home/looker/looker/credentials:

    scp Wallet_databasename.zip username@remotehost:/home/looker/looker/credentials
    
  4. Descomprime el archivo ZIP de la billetera. En este ejemplo, se usa el comando unzip:

    cd /home/looker/looker/credentials
    unzip Wallet_databasename.zip
    
  5. Verifica el contenido de la billetera 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.ora
    

    Looker se conecta a Oracle ADWC por medio de billeteras de Oracle con JDBC Thin Driver 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 billetera de Oracle.

  6. Para obtener el alias TNS de tu base de datos, ejecuta este comando:

    cat tnsnames.ora
    

    Habrá tres alias de TNS para elegir: dbname_high, dbname_medium y dbname_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, usaremos dbname_medium.

Crea un usuario de Looker

Primero, crea un usuario designado de Looker:

  -- connect / as sysdba;
  CREATE USER LOOKER IDENTIFIED BY <password>
  DEFAULT TABLESPACE USERS
  TEMPORARY TABLESPACE TEMP;

A continuación, permite que el nuevo usuario de Looker cree 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 quieres 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 las tablas (en especial, las vacías) sin recopilar estadísticas en Oracle. Si las tablas que necesitas no aparecen en el código generado de LookML o SQL Runner, ejecuta este comando:

  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

El 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 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=&apos;LOOKER&apos;;

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=&apos;LOOKER&apos;;

CREATE OR REPLACE SYNONYM LOOKER.LOOKER_SESSION FOR LOOKER_SESSION;

GRANT SELECT ON LOOKER.LOOKER_SESSION TO LOOKER;

Configurar agregaciones simétricas

Tu razón social de Oracle debe configurar la función LOOKER_HASH para habilitar las agregaciones simétricas. La función LOOKER_HASH es un sinónimo de la función dbms_crypto.hash de Oracle. La razón social 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 SYS puede ser SYSDBA, ADMIN o no ser necesario.

Cómo configurar tablas derivadas persistentes

Para habilitar las 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 el cierre de consultas

Para configurar la eliminación de consultas, la razón social 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,
                   &apos;ALTER SYSTEM KILL SESSION &apos;&apos;&apos;
                   || p_sid || &apos;,&apos; || p_serial# || &apos;&apos;&apos;&apos;,
                   dbms_sql.native);
    ignore := dbms_sql.execute(cursor_name);
  ELSE
    raise_application_error(-20001,
                            &apos;You do not own session &apos;&apos;&apos; ||
                            p_sid || &apos;,&apos; || p_serial# ||
                            &apos;&apos;&apos;&apos;);
  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 la base de datos de Oracle, el prefijo SYS puede ser SYSDBA, ADMIN o innecesario.

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

  1. En la sección Administrador de Looker, selecciona Conexiones y, luego, haz clic en Agregar conexión.
  2. Completa los detalles de la conexión. La mayoría de los parámetros de configuración son comunes a 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 más información. La siguiente configuración es específica de Oracle ADWC:

    • Dialecto: AdWC de Oracle.
    • Usar TNS: Habilita las conexiones de Sustrato de red transparente (TNS).
    • Host: Nombre de host o alias de TNS. Para este ejemplo, dbname_medium.
    • Puerto: 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: Es el nombre de usuario de la base de datos o Base de datos temporal si los PDT están habilitados.
    • Contraseña: Contraseña del usuario de la base de datos.
    • Habilitar PDT: Usa este botón de activación para habilitar las tablas derivadas persistentes. Cuando las PDT están habilitadas, la ventana Conexión revela la configuración adicional de las PDT y la sección Anulaciones de PDT.
    • Temp Database: En Oracle, un usuario es un esquema, por lo que esto debe especificarse como el nombre del usuario de la base de datos. En este ejemplo, usarías el valor del esquema temporal LOOKER.
    • Parámetros adicionales de JDBC: La RUTA a tu billetera de Oracle en el servidor de Looker. En este ejemplo, es /home/looker/looker/credentials.
    • En una implementación heredada alojada en Looker, este valor será /home/lookerops/looker/credentials.
    • En una implementación alojada por Looker en el hosting de nueva generación, este valor será /app/credentials.
    • SSL y verificar SSL: puedes ignorar estos campos. Looker siempre usará SSL con Oracle ADWC.
  3. Para verificar que la conexión se haya realizado correctamente, haz clic en Probar. Consulta la página de documentación Cómo probar la conectividad de la base de datos para obtener información sobre la solución de problemas. Cuando hagas clic en Probar, Looker compilará una cadena de JDBC como esta:

    jdbc:oracle:thin:@dbname_medium?TNS_ADMIN=/home/looker/looker/credentials

  4. Para guardar esta configuración, haz clic en Conectar.

Compatibilidad de características

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

Oracle ADWC admite las siguientes funciones a partir de Looker 24.16:

Atributo ¿Es compatible?
Nivel de asistencia
Integración
Looker (Google Cloud Core)
No
Agregaciones simétricas
Tablas derivadas
Tablas derivadas de SQL persistentes
Tablas derivadas persistentes nativas
Vistas estables
No
Eliminación de consultas
Tablas dinámicas basadas en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
No
Distingue mayúsculas de minúsculas
Tipo de ubicación
Tipo de lista
Percentil
Percentil de valores distintos
No
Cómo mostrar procesos en el Ejecutor de SQL
Tabla de descripción del ejecutor de SQL
Índices de programas del ejecutor de SQL
No
Selección del ejecutor de SQL 10
Cantidad de Ejecutor de SQL
Explicación de SQL
No
Credenciales de OAuth
No
Comentarios contextuales
Agrupación de conexiones
No
Esbozos de HLL
No
Reconocimiento agregado
PDT incrementales
No
Milisegundos
Microsegundos
Vistas materializadas
No
Recuento aproximado de valores distintos
No