Armazenamento de dados Oracle Autonomous na nuvem

Como configurar o host do Looker para conexões

Todas as conexões do Oracle ADWC exigem autenticação SSL e certificado. Para que o Looker se conecte à instância do Oracle ADWC, é necessário fazer o download dos arquivos do Oracle wallet e instalá-los no servidor do Looker. Se você for um usuário da Looker hospedado pelo cliente, precisará de um administrador do sistema com acesso ao servidor da Looker para fazer isso. Se você é um usuário hospedado pela Looker, entre em contato com o suporte da Looker.

Para instalar sua carteira do Oracle no servidor do Looker:

  1. Faça o download da sua carteira do Oracle no computador local. Você terá um arquivo ZIP chamado Wallet_databasename.zip.

  2. No servidor 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 seu 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ê deve ter:

     ls
    
     cwallet.sso  keystore.jks      sqlnet.ora    truststore.jks
     ewallet.p12  ojdbc.properties  tnsnames.ora
    

    O Looker se conecta ao Oracle ADWC usando as carteiras do Oracle com o JDBC Thin Driver 18.3. Para isso, você precisará do alias de rede transparente (TNS, na sigla em inglês) do nível do serviço ADWC do Oracle para o banco de dados e do caminho para os arquivos de carteira do Oracle.

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

    cat tnsnames.ora
    

    Escolha entre os três aliases de TNS: 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 de serviço e SSL estão incluídas nesse arquivo. Neste exemplo, usaremos 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, 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, execute este comando:

  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=&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 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 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 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 ser SYSDBA, 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

Para configurar a eliminação de consultas, 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 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.

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

  • Dialeto: Oracle ADWC
  • Usar TNS: ative conexões de Substrato de rede transparente (TNS, na sigla em inglês).
  • Host: nome do host ou alias TNS. Neste exemplo, dbname_medium.
  • Porta: não altere a porta. O Looker encontrará a porta no arquivo tnsnames.ora.
  • Service Name: deixe este campo em branco. O Looker encontrará o nome do serviço no arquivo tnsnames.ora.
  • 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.
  • Parâmetros JDBC adicionais: o PATH para sua carteira do Oracle no servidor do Looker. Neste exemplo, é /home/looker/looker/credentials.
    • Em uma implantação legada hospedada pelo Looker, esse valor será /home/lookerops/looker/credentials.
    • Em uma implantação hospedada pelo Looker na hospedagem de última geração, esse valor será /app/credentials.
  • SSL e Verificar SSL: ignore esses campos. O Looker sempre usará SSL com Oracle ADWC.

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. Quando você clica em Testar, o Looker cria uma string JDBC como esta:

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

Para salvar essas configurações, clique em Conectar.

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

Recurso Compatível?
Nível do suporte
Integração
Looker (Google Cloud Core)
Não
Agregados simétricos
Sim
Tabelas derivadas
Sim
Tabelas derivadas do SQL permanente
Sim
Tabelas derivadas nativas nativas
Sim
Visualizações estáveis
Não
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
Não
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