Cifrar el tráfico de red
Te recomendamos que cifres el tráfico de red entre la aplicación 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.
Configurar el host de Looker para las conexiones
Todas las conexiones de Oracle ADWC requieren autenticación mediante SSL y certificado. Para que Looker se conecte a tu instancia de Oracle ADWC, es necesario descargar los archivos de tu cartera de Oracle e 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 en Looker, ponte en contacto con el equipo de Asistencia de Looker.
Para instalar tu cartera de Oracle en el servidor de Looker, sigue estos pasos:
Descarga tu cartera de Oracle en tu ordenador local. Tendrás un archivo ZIP con un nombre similar a
Wallet_databasename.zip
.En el servidor de Looker, crea un directorio para guardar el archivo ZIP de la cartera:
mkdir /home/looker/looker/credentials
Copia el archivo ZIP de la cartera de tu ordenador local en el 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
Descomprime el archivo ZIP de la cartera. En este ejemplo se usa el comando
unzip
:cd /home/looker/looker/credentials unzip Wallet_databasename.zip
Verifica 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.ora
Looker se conecta a Oracle ADWC mediante 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 de tu base de datos y la ruta a tus archivos de cartera de Oracle.
Para obtener el alias TNS de tu base de datos, ejecuta este comando:
cat tnsnames.ora
Podrás elegir entre tres alias de TNS:
dbname_high
,dbname_medium
ydbname_low
. Estos alias corresponden a diferentes niveles de servicio. Este archivo incluye el protocolo, el host, el puerto, el nombre del servicio y la información de SSL. En este ejemplo, usaremosdbname_medium
.
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, ejecuta este comando:
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 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;
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 el siguiente ejemplo, se da por supuesto 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 supuesto 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
Para configurar la cancelación de consultas, 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 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 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.
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 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 ADWC:
- Dialecto: Oracle ADWC.
- Usar TNS: habilita las conexiones de sustrato de red transparente (TNS).
- Host: nombre de host o alias de TNS. En este ejemplo,
dbname_medium
. - Puerto: déjelo como predeterminado. Looker buscará el puerto en el archivo
tnsnames.ora
. - Nombre del servicio: déjelo en blanco. Looker buscará 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 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
. - Parámetros JDBC adicionales: la RUTA a tu cartera de Oracle en el servidor de Looker. En este ejemplo, es
/home/looker/looker/credentials
. - En una implementación antigua alojada en Looker, este valor será
/home/lookerops/looker/credentials
. - En una implementación alojada en Looker con alojamiento de nueva generación, este valor será
/app/credentials
. - SSL y Verificar SSL: puede ignorar estos campos. Looker siempre usará SSL con Oracle ADWC.
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. Cuando haga clic en Probar, Looker creará una cadena JDBC como esta:
jdbc:oracle:thin:@dbname_medium?TNS_ADMIN=/home/looker/looker/credentials
Para guardar estos ajustes, haz clic en Conectar.
Funciones admitidas
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.14:
Función | ¿Es compatible? |
---|---|
Nivel de asistencia | Integración |
Looker (servicio principal de Google Cloud) | No |
Agregados simétricos | Sí |
Tablas derivadas | Sí |
Tablas derivadas de SQL persistentes | Sí |
Tablas derivadas nativas persistentes | Sí |
Vistas estables | No |
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 | No |
SQL Runner Select 10 | Sí |
Recuento de SQL Runner | 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 |