Oracle Autonomous Data Warehouse on Cloud

Encriptar o tráfego de rede

É uma prática recomendada encriptar o tráfego de rede entre a aplicação Looker e a sua base de dados. Considere uma das opções descritas na página de documentação Ativar o acesso seguro à base de dados.

Configurar o anfitrião do Looker para ligações

Todas as ligações do Oracle ADWC requerem autenticação de certificado e SSL. Para que o Looker se ligue à sua instância do ADWC da Oracle, é necessário transferir os ficheiros da sua carteira da Oracle e instalá-los no servidor do Looker. Se for um utilizador do Looker alojado pelo cliente, precisa de um administrador do sistema com acesso ao servidor do Looker para o fazer. Se for um utilizador alojado no Looker, contacte o apoio técnico do Looker.

Para instalar a sua carteira Oracle no servidor do Looker:

  1. Transfira a sua carteira da Oracle para o computador local. Vai ter um ficheiro ZIP com um nome semelhante a Wallet_databasename.zip.

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

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

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

    cd /home/looker/looker/credentials
    unzip Wallet_databasename.zip
    
  5. Valide o conteúdo da carteira com o comando ls. Estes são os ficheiros que deve ter:

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

    O Looker liga-se ao Oracle ADWC através de carteiras da Oracle com o controlador JDBC Thin 18.3. Para tal, precisa do alias do substrato de rede transparente (TNS) do nível de serviço do ADWC da Oracle para a sua base de dados e o caminho para os ficheiros da carteira da Oracle.

  6. Para obter o alias TNS da sua base de dados, execute este comando:

    cat tnsnames.ora
    

    Existem três alias de TNS à escolha: dbname_high, dbname_medium e dbname_low. Estes alias correspondem a diferentes níveis de serviço. O protocolo, o anfitrião, a porta, o nome do serviço e as informações SSL estão incluídos neste ficheiro. Para este exemplo, vamos usar dbname_medium.

Criar um utilizador do Looker

Primeiro, crie um utilizador do Looker designado:

  -- connect / as sysdba;
  CREATE USER LOOKER IDENTIFIED BY <password>
  DEFAULT TABLESPACE USERS
  TEMPORARY TABLESPACE TEMP;

Em seguida, conceda ao novo utilizador do Looker a capacidade de criar sessões:

  GRANT CREATE SESSION TO LOOKER;

Por último, atribua ao utilizador do Looker as SELECTautorizações adequadas para as tabelas de dados às quais planeia aceder a partir do Looker. Se quiser aceder a tabelas adicionais no futuro, também tem de conceder acesso à app SELECT nessas novas tabelas.

  GRANT SELECT ON -- <all tables that will be used by looker>;

Garantir que o Looker consegue ver todas as tabelas

O Looker pode não conseguir identificar tabelas (especialmente tabelas vazias) sem recolher primeiro estatísticas no Oracle. Se as tabelas de que precisa não aparecerem no LookML gerado ou na execução de SQL, execute este comando:

  EXEC DBMS_STATS.GATHER_DATABASE_STATS;

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

Configurar objetos da base de dados principal

O DBA da Oracle tem de configurar os seguintes objetos e autorizações na Oracle. Os seguintes comandos criam LOOKER_SESSION e LOOKER_SQL como sinónimos de V$SESSION e V$SQL.

Execute os seguintes comandos como utilizador root para concluir esta configuração. Estes exemplos pressupõem que o nome do utilizador 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:
-- 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;

Configurar acumulações simétricas

O DBA da Oracle tem de configurar a função LOOKER_HASH para ativar os agregados simétricos. A função LOOKER_HASH é sinónimo da função dbms_crypto.hash do Oracle. O DBA também tem de criar o sinónimo e os privilégios associados. O exemplo seguinte pressupõe que o nome do utilizador 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;

Consoante a configuração da base de dados Oracle, o prefixo SYS pode ser SYSDBA, ADMIN ou desnecessário.

Configurar tabelas derivadas persistentes

Para ativar as tabelas derivadas persistentes, atribua ao utilizador do Looker as autorizações UNLIMITED TABLESPACE e CREATE TABLE. Os comandos seguintes partem do princípio de que o nome do utilizador do Looker é LOOKER:

GRANT UNLIMITED TABLESPACE TO LOOKER;
GRANT CREATE TABLE TO LOOKER;

Configurar a eliminação de consultas

Para configurar a eliminação de consultas, o DBA do Oracle tem de criar o procedimento LOOKER_KILL_QUERY como sinónimo de ALTER SYSTEM KILL SESSION. Para o fazer, 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 tem de 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;

Consoante a configuração da base de dados Oracle, o prefixo SYS pode ser SYSDBA, ADMIN ou desnecessário.

Criar a ligação do Looker à sua base de dados

Siga estes passos para criar a ligação do Looker à sua base de dados:

  1. Na secção Administração do Looker, selecione Ligações e, de seguida, clique em Adicionar ligação.
  2. Preencha os detalhes da ligação. A maioria das definições é comum à maioria dos dialetos de bases de dados. Consulte a página de documentação Associar o Looker à sua base de dados para ver informações. As seguintes definições são específicas do Oracle ADWC:

    • Dialeto: Oracle ADWC.
    • Usar TNS: ative as ligações TNS (Transparent Network Substrate).
    • Anfitrião: nome do anfitrião ou alias TNS. Para este exemplo, dbname_medium.
    • Porta: deixe como predefinição. O Looker encontra a porta no ficheiro tnsnames.ora.
    • Nome do serviço: deixe em branco. O Looker encontra o nome do serviço no ficheiro tnsnames.ora.
    • Nome de utilizador: nome de utilizador da base de dados ou base de dados temporária se os PDTs estiverem ativados.
    • Palavra-passe: palavra-passe do utilizador da base de dados.
    • Ativar PDTs: use este botão para ativar as tabelas derivadas persistentes. Quando os PDTs estão ativados, a janela Ligação revela definições de PDTs adicionais e a secção Substituições de PDTs.
    • Base de dados temporária: no Oracle, um utilizador é um esquema, pelo que deve ser especificado como o nome do utilizador da base de dados. Para este exemplo, usaria o valor do esquema temporário LOOKER.
    • Parâmetros JDBC adicionais: o CAMINHO para a sua carteira Oracle no servidor do Looker. Para este exemplo, é /home/looker/looker/credentials.
    • Numa implementação antiga alojada no Looker, este valor é /home/lookerops/looker/credentials.
    • Numa implementação alojada no Looker no alojamento de próxima geração, este valor é /app/credentials.
    • SSL e Validar SSL: pode ignorar estes campos. O Looker usa sempre SSL com o Oracle ADWC.
  3. Para verificar se a associação foi bem-sucedida, clique em Testar. Consulte a página de documentação Testar a conetividade da base de dados para ver informações de resolução de problemas. Quando clica em Testar, o Looker cria uma string JDBC semelhante à seguinte:

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

  4. Para guardar estas definições, clique em Associar.

Suporte de funcionalidades

Para que o Looker suporte algumas funcionalidades, o dialeto da base de dados também tem de as suportar.

O Oracle ADWC suporta as seguintes funcionalidades a partir do Looker 25.14:

Funcionalidade Compatível?
Nível de apoio técnico
Integração
Looker (Google Cloud Core)
Não
Dados agregados simétricos
Sim
Tabelas derivadas
Sim
Tabelas derivadas SQL persistentes
Sim
Tabelas derivadas nativas persistentes
Sim
Vistas estáveis
Não
Interrupção de consultas
Sim
Tabelas dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros JDBC adicionais
Não
Sensível a maiúsculas e minúsculas
Sim
Tipo de localização
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Não
Execução de SQL Mostrar processos
Sim
Execução de SQL Describe Table
Sim
Execução de SQL Mostrar índices
Não
Execução de SQL Select 10
Sim
Contagem da execução de SQL
Sim
SQL Explain
Não
Credenciais do OAuth 2.0
Não
Comentários de contexto
Sim
Agrupamento de ligações
Não
Esboços HLL
Não
Notoriedade agregada
Sim
PDTs incrementais
Não
Milissegundos
Sim
Microssegundos
Sim
Vistas materializadas
Não
Medidas de comparação de períodos
Não
Contagem distinta aproximada
Não