Oracle Autonomous Data Warehouse na nuvem

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.

Criptografia do tráfego de rede

É uma prática recomendada criptografar o tráfego de rede entre o aplicativo do 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.

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 à sua instância do Oracle ADWC, é necessário fazer o download dos arquivos da carteira do Oracle e instalá-los no servidor do Looker. Se você for um usuário do Looker hospedado pelo cliente, vai precisar de um administrador do sistema com acesso ao servidor do Looker para fazer isso. Se você for um usuário hospedado pelo Looker, entre em contato com o suporte do Looker.

Para instalar a carteira Oracle no servidor do Looker:

  1. Faça o download da sua carteira Oracle para o computador local. Você vai ter um arquivo ZIP com um nome parecido com Wallet_databasename.zip.

  2. No servidor do Looker, crie um diretório para armazenar o arquivo ZIP da carteira:

    mkdir /home/looker/looker/credentials
    
  3. Copie o arquivo ZIP da carteira do computador local para o servidor do Looker. Este exemplo usa scp e coloca o arquivo em /home/looker/looker/credentials:

    scp Wallet_databasename.zip username@remotehost:/home/looker/looker/credentials
    
  4. Descompacte o arquivo ZIP da carteira. Este exemplo usa o comando unzip:

    cd /home/looker/looker/credentials
    unzip Wallet_databasename.zip
    
  5. Verifique 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.ora
    

    O Looker se conecta ao Oracle ADWC usando Oracle Wallets com o driver JDBC Thin 18.3. Para isso, você vai precisar do alias do Transparent Network Substrate (TNS) do nível de serviço do Oracle ADWC para seu banco de dados e do PATH para os arquivos da carteira Oracle.

  6. Para conferir o alias do TNS do banco de dados, execute este comando:

    cat tnsnames.ora
    

    Há três aliases de TNS para escolher: dbname_high, dbname_medium e dbname_low. Esses aliases correspondem a diferentes níveis de serviço. As informações de protocolo, host, porta, nome do serviço e SSL estão incluídas nesse arquivo. Neste exemplo, vamos usar dbname_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, dê 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 apropriadas para as tabelas de dados que você planeja acessar no Looker. Se você quiser acessar outras tabelas no futuro, também precisará conceder SELECT nelas.

  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 as vazias) sem antes coletar estatísticas no Oracle. Se as tabelas necessárias não aparecerem no LookML gerado ou no SQL Runner, execute este comando:

  EXEC DBMS_STATS.GATHER_DATABASE_STATS;

Para métodos alternativos, consulte a documentação do Oracle.

Configurar os principais objetos do banco de dados

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 seguintes comandos como usuário raiz para concluir essa configuração. Nestes exemplos, presumimos 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=&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;

Como configurar conjuntos simétricos

Seu DBA do Oracle precisa configurar a função LOOKER_HASH para ativar os 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. No exemplo a seguir, pressupomos 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 prefixo SYS pode ser SYSDBA, ADMIN ou desnecessário.

Como configurar tabelas derivadas persistentes

Para ativar as 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 o encerramento de consultas

Para configurar o encerramento de consultas, o DBA do Oracle precisa criar o procedimento LOOKER_KILL_QUERY como um sinônimo de ALTER SYSTEM KILL SESSION. Para isso, execute este 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;

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 ser SYSDBA, ADMIN ou desnecessário.

Criar a conexão do Looker com seu banco de dados

Siga estas etapas para criar a conexão do Looker com seu banco de dados:

  1. Na seção Administrador do Looker, selecione Conexões e clique em Adicionar conexão.
  2. 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 configurações a seguir são específicas do Oracle ADWC:

    • Dialeto: Oracle ADWC.
    • Usar TNS: ativar conexões de sub-rede de rede transparente (TNS, na sigla em inglês).
    • Host: nome do host ou alias do TNS. Neste 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 mostra 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. Portanto, ele precisa ser especificado como o nome do usuário do banco de dados. Neste exemplo, você usaria o valor de esquema temporário LOOKER.
    • Parâmetros JDBC adicionais: deixe em branco, já que o Oracle não é compatível com parâmetros JDBC adicionais.
    • SSL e Verificar SSL: ignore esses campos. O Looker sempre usará SSL com o Oracle ADWC.
  3. Para verificar se a conexão foi bem-sucedida, 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.

  4. Se o Looker exibir Pode se conectar, pressione Conectar para criar a conexão.

A conexão do banco de dados é adicionada à lista na página Administrador de Conexões do Looker.

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 ADWC é compatível com os seguintes recursos a partir do Looker 26.22:

Recurso Compatível?
Looker (Google Cloud Core)
Conjuntos simétricos
Tabelas derivadas
Tabelas derivadas persistentes em SQL
Tabelas derivadas nativas persistentes
Visualizações estáveis
Encerramento 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
Tabela de descrição do SQL Runner
Mostrar índices do SQL Runner
SQL Runner Select 10
Contagem do SQL Runner
Explicação do 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
Agendas personalizadas