O Looker tem suporte no nível de integração para o Oracle ADWC. Esta página contém informações sobre como conectar o Looker ao Oracle ADWC.
Como criptografar o tráfego de rede
É uma prática recomendada criptografar o tráfego de rede entre o aplicativo Looker e o banco de dados. Considere uma das opções descritas na página de documentação Ativar o acesso seguro ao banco de dados.
Como configurar o host do Looker para conexões
Todas as conexões do Oracle ADWC exigem SSL e autenticação de certificado. Para que o Looker se conecte à instância do Oracle ADWC, é necessário baixar os arquivos de carteira do Oracle e instalá-los no servidor do Looker. Se você usa o Looker hospedado pelo cliente, precisará de um administrador do sistema com acesso ao servidor do Looker para fazer isso. Se você usa o Looker hospedado pelo Looker, entre em contato com o suporte do Looker.
Para instalar a carteira do Oracle no servidor do Looker:
Baixe a carteira do Oracle para o computador local. Você terá um arquivo ZIP com um nome como
Wallet_databasename.zip.No servidor do Looker, crie um diretório para armazenar o arquivo ZIP da carteira:
mkdir /home/looker/looker/credentialsCopie o arquivo ZIP da carteira do computador local para o servidor do Looker. Este exemplo usa
scpe coloca o arquivo em/home/looker/looker/credentials:scp Wallet_databasename.zip username@remotehost:/home/looker/looker/credentialsDescompacte o arquivo ZIP da carteira. Este exemplo usa o comando
unzip:cd /home/looker/looker/credentials unzip Wallet_databasename.zipVerifique o conteúdo da carteira com o comando
ls. Estes são os arquivos que você precisa ter:ls cwallet.sso keystore.jks sqlnet.ora truststore.jks ewallet.p12 ojdbc.properties tnsnames.oraO Looker se conecta ao Oracle ADWC usando carteiras do Oracle com o JDBC Thin Driver 18.3. Para isso, você precisará do alias de sub-rede de rede transparente (TNS) do nível de serviço do Oracle ADWC para seu banco de dados e do caminho para os arquivos de carteira do Oracle.
Para receber o alias de TNS do seu banco de dados, execute este comando:
cat tnsnames.oraHá três aliases de TNS para escolher:
dbname_high,dbname_mediumedbname_low. Esses aliases correspondem a diferentes níveis de serviço. O protocolo, o host, a porta, o nome do serviço e as informações de SSL estão incluídos nesse arquivo. Para este exemplo, vamos usardbname_medium.
Como criar um usuário do Looker
Primeiro, crie um usuário designado do Looker:
-- connect / as sysdba;
CREATE USER LOOKER IDENTIFIED BY <password>
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
Em seguida, conceda ao novo usuário do Looker a capacidade de criar sessões:
GRANT CREATE SESSION TO LOOKER;
Por fim, conceda ao usuário do Looker as permissões SELECT adequadas para as tabelas de dados que você planeja acessar no Looker. Se você quiser acessar outras tabelas no futuro, também precisará conceder SELECT a essas novas tabelas.
GRANT SELECT ON -- <all tables that will be used by looker>;
Como garantir que o Looker possa ver todas as tabelas
O Looker talvez não consiga identificar tabelas (especialmente tabelas vazias) sem primeiro coletar estatísticas no Oracle. Se as tabelas necessárias não aparecerem no LookML ou no SQL Runner gerado, execute este comando:
EXEC DBMS_STATS.GATHER_DATABASE_STATS;
Para métodos alternativos, consulte a documentação do Oracle.
Como configurar objetos de banco de dados principais
O DBA do Oracle precisa configurar os seguintes objetos e permissões no Oracle. Os comandos a seguir criam LOOKER_SESSION e LOOKER_SQL como sinônimos de V$SESSION e V$SQL.
Execute os comandos a seguir como usuário raiz para concluir essa configuração. Estes exemplos pressupõem que o nome do usuário do Looker seja 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;
Como configurar conjuntos simétricos
O DBA do Oracle precisa configurar a função LOOKER_HASH para ativar conjuntos simétricos. A função LOOKER_HASH é um sinônimo da função dbms_crypto.hash do Oracle. O DBA também precisa criar o sinônimo e os privilégios associados. O exemplo a seguir pressupõe que o nome do usuário do Looker seja 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;
Dependendo da configuração do banco de dados Oracle, o
SYSprefixo pode serSYSDBA,ADMIN, ou desnecessário.
Como configurar tabelas derivadas persistentes
Para ativar tabelas derivadas persistentes, conceda ao usuário do Looker as permissões UNLIMITED TABLESPACE e CREATE TABLE. Os comandos a seguir pressupõem que o nome do usuário do Looker seja LOOKER:
GRANT UNLIMITED TABLESPACE TO LOOKER;
GRANT CREATE TABLE TO LOOKER;
Como configurar a eliminação de consultas
Para configurar a eliminação de consultas, o DBA do Oracle precisa criar o procedimento LOOKER_KILL_QUERY como um sinônimo de ALTER SYSTEM KILL SESSION. Para fazer isso, execute o seguinte 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;
O DBA também precisará executar estes comandos relacionados:
CREATE OR REPLACE SYNONYM LOOKER.LOOKER_KILL_QUERY FOR SYS.LOOKER_KILL_QUERY;
GRANT EXECUTE ON SYS.LOOKER_KILL_QUERY TO LOOKER;
Dependendo da configuração do banco de dados Oracle, o
SYSprefixo pode serSYSDBA,ADMIN, ou desnecessário.
Como criar a conexão do Looker com o banco de dados
Siga estas etapas para criar a conexão do Looker com o banco de dados:
- Na seção Admin do Looker, selecione Conexões e clique em Adicionar conexão.
Preencher os detalhes de conexão. A maioria das configurações é comum para a maioria dos dialetos de banco de dados. Consulte a página de documentação Como conectar o Looker ao banco de dados para mais informações. As configurações a seguir são específicas do Oracle ADWC:
- Dialeto: Oracle ADWC.
- Usar TNS: ative as conexões de sub-rede de rede transparente (TNS, na sigla em inglês).
- Host: nome do host ou alias de TNS. Para este exemplo,
dbname_medium. - Porta: deixe como padrão. O Looker vai encontrar a porta no arquivo
tnsnames.ora. - Nome do serviço: deixe em branco. O Looker vai encontrar o nome do serviço no arquivo
tnsnames.ora. - Nome de usuário: nome de usuário do banco de dados ou Banco de dados temporário se as TDPs estiverem ativadas.
- Senha: senha do usuário do banco de dados.
- Ativar TDPs: use essa opção para ativar tabelas derivadas persistentes. Quando as TDPs estão ativadas, a janela Conexão revela outras configurações de TDP e a seção Substituições de TDP.
- Banco de dados temporário: no Oracle, um usuário é um esquema, então ele precisa ser especificado como o nome do usuário do banco de dados. Para este exemplo, você usaria o valor do esquema temporário
LOOKER. - Parâmetros JDBC adicionais: deixe em branco, já que o Oracle não oferece suporte a parâmetros JDBC adicionais.
- SSL e verificar SSL: você pode ignorar esses campos. O Looker sempre usará SSL com o Oracle ADWC.
Para verificar se a conexão foi estabelecida, clique no botão Testar conexão na seção Detalhes do status na parte de baixo da página Configurações de conexões.
Se o Looker mostrar Pode se conectar, pressione Conectar para criar a conexão.
A conexão do banco de dados será adicionada à lista na página Conexões Admin do Looker.
Suporte a recursos
Para que o Looker ofereça suporte a alguns recursos, o dialeto do banco de dados também precisa oferecer suporte a eles.
O Oracle ADWC oferece suporte aos seguintes recursos a partir do Looker 26.20:
| Recurso | Compatível? |
|---|---|
| Looker (Google Cloud Core) | |
| Conjuntos simétricos | |
| Tabelas derivadas | |
| Tabelas derivadas persistentes de SQL | |
| Tabelas derivadas nativas persistentes | |
| Visualizações estáveis | |
| Eliminação de consultas | |
| Tabelas dinâmicas baseadas em SQL | |
| Fusos horários | |
| SSL | |
| Subtotais | |
| Parâmetros adicionais da JDBC | |
| Diferencia maiúsculas de minúsculas | |
| Tipo de local | |
| Tipo de lista | |
| Percentil | |
| Percentil distinto | |
| Mostrar processos do SQL Runner | |
| Descrever tabela do SQL Runner | |
| Mostrar índices do SQL Runner | |
| Selecionar 10 do SQL Runner | |
| Contagem do SQL Runner | |
| Explicar SQL | |
| Credenciais do OAuth 2.0 | |
| Comentários de contexto | |
| Pooling de conexão | |
| Esboços HLL | |
| Reconhecimento agregado | |
| TDPs incrementais | |
| Milissegundos | |
| Microssegundos | |
| Visualizações materializadas | |
| Medidas de comparação de períodos | |
| Contagem aproximada aproximada | |
| Modelos analíticos no banco de dados | |
| Calendários personalizados |