O suporte do Oracle para Oracle foi implementado usando implantações Oracle tradicionais. Se o banco de dados Oracle for uma implantação do Oracle RAC, o Looker poderá fazer a integração, mas poderá ter problemas ao encerrar consultas devido a uma diferença nos metadados na recuperação dos IDs de conexão de consulta dos nós.
Como criptografar o tráfego de rede
O Looker recomenda criptografar o tráfego de rede entre o aplicativo Looker e seu banco de dados. Considere uma das opções descritas na página de documentação Como ativar o acesso seguro ao banco de dados.
Se você tiver interesse em usar a criptografia SSL, consulte a documentação da Oracle.
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, permita que o novo usuário do Looker crie sessões:
GRANT CREATE SESSION TO LOOKER;
Por fim, conceda ao usuário do Looker as permissões SELECT
apropriadas para as tabelas de dados que você pretende acessar no Looker. Se você quiser acessar tabelas adicionais no futuro, também será necessário conceder SELECT
nessas novas tabelas.
GRANT SELECT ON -- <all tables that will be used by looker>;
Como garantir que o Looker possa ver todas as tabelas
Talvez o Looker 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 gerados, tente executar:
EXEC DBMS_STATS.GATHER_DATABASE_STATS;
Para ver métodos alternativos, consulte a documentação do Oracle.
Como configurar os principais objetos do banco de dados
Seu banco de dados Oracle precisa configurar os objetos e permissões a seguir no Oracle. Os comandos a seguir criam LOOKER_SESSION
e LOOKER_SQL
como sinônimos para V$SESSION
e V$SQL
.
Execute os comandos a seguir como o usuário raiz para concluir a configuração. Estes exemplos pressupõem que o nome do usuário do Looker é 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 below:
-- 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;
Como configurar agregados simétricos
Seu DBA do Oracle precisa configurar a função LOOKER_HASH
para ativar agregações simétricas. 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. Os comandos a seguir presumem que o nome do usuário do Looker é 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 prefixo
SYS
pode serSYSDBA
,ADMIN
ou desnecessário.
Como configurar tabelas derivadas permanentes
Para ativar as tabelas derivadas permanentes, conceda ao usuário do Looker as permissões UNLIMITED TABLESPACE
e CREATE TABLE
. Os comandos a seguir presumem que o nome do usuário do Looker é LOOKER
:
GRANT UNLIMITED TABLESPACE TO LOOKER;
GRANT CREATE TABLE TO LOOKER;
Como configurar a eliminação de consultas
Siga estas instruções para configurar o encerramento de consultas para uma implantação tradicional do Oracle ou uma implantação do Amazon RDS.
Implantações da Oracle tradicionais
Para configurar a eliminação de consultas em implantações Oracle tradicionais, o DBA do Oracle precisa criar o procedimento LOOKER_KILL_QUERY
como sinônimo de ALTER SYSTEM KILL SESSION
. Para 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 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;
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 prefixo
SYS
pode serSYSDBA
,ADMIN
ou desnecessário.
Implantações do Amazon RDS
Nas implantações do Amazon RDS Oracle, o procedimento rdsadmin.rdsadmin_util.kill
é usado para eliminar consultas. Para usar este procedimento, o usuário do banco de dados do Looker precisa ter o papel DBA
atribuído.
Como o DBA tem um papel elevado no banco de dados, pule esta etapa e deixe de usar a consulta no Looker.
Para oferecer ao usuário de banco de dados do Looker a capacidade de eliminar consultas, execute:
GRANT DBA TO LOOKER;
Como criar a conexão do Looker com seu banco de dados
Na seção Administrador 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 seu banco de dados para mais informações. As seguintes configurações são específicas do Oracle:
- Nome: especifique o nome da conexão. É assim que você vai se referir à conexão em projetos do LookML.
- Dialeto: Oracle.
- Usar TNS: ative conexões de Substrato de rede transparente (TNS, na sigla em inglês).
- Host: nome do host ou alias TNS.
- Porta: porta do banco de dados.
- Banco de dados: nome do banco de dados (se não estiver usando TNS).
- Nome do serviço: nome do serviço (se estiver usando TNS).
- Nome de usuário: nome de usuário do banco de dados ou Temp Database, se as TDPs estiverem ativadas.
- Senha: a senha do usuário do banco de dados.
- Ativar TDPs: use este botão para ativar as tabelas derivadas permanentes. Quando as TDPs estão ativadas, a janela Conexão mostra as outras configurações e a seção Modificações de TDP.
- Banco de dados temporário: no Oracle, um usuário é um esquema, que precisa ser especificado como o nome do usuário do banco de dados. Neste exemplo, você usaria o valor do esquema temporário
LOOKER
. - Número máximo de conexões do PDT Builder: especifique o número de criações simultâneas de PDT simultâneas nessa conexão. Definir esse valor muito alto pode afetar negativamente os tempos de consulta. Para mais informações, consulte a página de documentação Como conectar o Looker ao seu banco de dados.
- Parâmetros JDBC adicionais: deixe esse campo em branco, pois o Oracle não é compatível com parâmetros JDBC adicionais.
- Programação de manutenção de PDT e grupo de dados: uma expressão
cron
que indica quando o Looker deve verificar grupos de dados e as tabelas derivadas permanentes. Leia mais sobre essa configuração na documentação Programação de manutenção do PDT e do grupo de dados. - SSL: marque para usar conexões SSL.
- Verify SSL: ignore este campo. O Oracle usará o Java Truststore padrão para verificar SSL.
- Máximo de conexões por nó: esta configuração pode ser inicialmente deixada com o valor padrão. Leia mais sobre essa configuração na seção Máximo de conexões por nó da página de documentação Como conectar o Looker ao seu banco de dados.
- Tempo limite do pool de conexões: esta configuração pode ser mantida com o valor padrão inicialmente. Leia mais sobre essa configuração na seção Tempo limite do pool de conexões da página de documentação Como conectar o Looker ao seu banco de dados.
- Pré-cache do SQL Runner: para fazer com que o SQL Runner não pré-carregue as informações da tabela e carregue as informações dela apenas quando uma tabela estiver selecionada, desmarque essa opção. Leia mais sobre essa configuração na seção Pré-cache do SQL Runner da página de documentação Como conectar o Looker ao seu banco de dados.
- Fuso horário do banco de dados: especifique o fuso horário usado no banco de dados. Deixe esse campo em branco se você não quiser a conversão de fuso horário. Consulte a página de documentação Como usar configurações de fuso horário para mais informações.
Para verificar se a conexão foi concluída, clique em Testar. Consulte a página de documentação Como testar a conectividade do banco de dados para ver informações sobre solução de problemas.
Para salvar essas configurações, clique em Conectar. Na seção Administrador do Looker, selecione Conexões e clique em Adicionar conexão.
Suporte a recursos
Para que o Looker seja compatível com alguns recursos, o dialeto do banco de dados também precisa ser compatível com eles.
O Oracle é compatível com os seguintes recursos a partir do Looker 23.8:
Recurso | Compatível? |
---|---|
Nível do suporte | Compatível |
Looker (Google Cloud Core) | Sim |
Agregados simétricos | Sim |
Tabelas derivadas | Sim |
Tabelas derivadas do SQL permanente | Sim |
Tabelas derivadas nativas nativas | Sim |
Visualizações estáveis | Sim |
Eliminação de consultas | Sim |
Tabelas dinâmicas baseadas em SQL | Sim |
Fusos horários | Sim |
SSL | Sim |
Subtotais | Sim |
Parâmetros adicionais de JDBC | Não |
Diferenciar maiúsculas e minúsculas | Sim |
Tipo de local | Sim |
Tipo de lista | Sim |
Percentil | Sim |
Percentil distinto | Não |
Processos do SQL Runner Show | Sim |
Tabela de descrição do SQL Runner | Sim |
Índices do SQL Runner Show | Sim |
SQL Runner Select 10 | Sim |
Contagem de executores do SQL | Sim |
Explicação do SQL | Não |
Credenciais do OAuth | Não |
Comentários de contexto | Sim |
Pool de conexão | Não |
HLL Sketches | Não |
Reconhecimento agregado | Sim |
PDTs incrementais | Não |
Milissegundos | Sim |
Microssegundos | Sim |
Visualizações materializadas | Não |
Contagem aproximada diferente | Não |