Data warehouse autônomo na Oracle na nuvem

Como configurar o host do Looker para conexões

Todas as conexões 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 seus arquivos do Oracle wallet e instalá-los no servidor do Looker. Se você é um usuário do Looker hospedado pelo cliente, precisará de um administrador do sistema com acesso ao servidor do Looker para fazer isso. Se você é um usuário hospedado no Looker, entre em contato com o suporte do Looker.

Para instalar a carteira do Oracle no servidor Looker:

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

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

  mkdir /home/looker/looker/credentials
  1. 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
  1. Descompacte o arquivo ZIP da carteira. Este exemplo usa o comando unzip:
  cd /home/looker/looker/credentials
  unzip Wallet_databasename.zip
  1. 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
     ```
    Looker connects to Oracle ADWC using Oracle Wallets with the [JDBC Thin Driver 18.3](https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/user/connect-jdbc-thin-wallet.html#GUID-20656D84-4D79-4EE9-B55F-333053948966). For this, you will need the Transparent Network Substrate (TNS) Alias of the Oracle ADWC Service level for your database and the PATH to your Oracle wallet files.
    
  2. Para receber o alias TNS do seu banco de dados, execute este comando:

cat tnsnames.ora

Você terá a opção de escolher entre 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 sobre protocolo, host, porta, nome do serviço e SSL estão incluídas neste arquivo. Para este 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, 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 adequadas para as tabelas de dados que você planeja acessar no Looker. Se você quiser acessar outras tabelas no futuro, também será necessário conceder SELECT a essas novas tabelas.

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

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 ver métodos alternativos, consulte a documentação da Oracle.

Como configurar objetos de banco de dados principais

Sua Oracle DBA precisa configurar os objetos e permissões a seguir na 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 esta configuração. Nestes exemplos, supomos 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 agregações simétricas

O Oracle DBA 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 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 o encerramento de consultas

Para configurar a interrupção de consultas, a Oracle DBA precisa criar o procedimento LOOKER_KILL_QUERY como sinônimo de ALTER SYSTEM KILL SESSION. Para fazer 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.

Como adicionar a conexão

Na seção Administrador do Looker, selecione Conexões e, em seguida, clique em Adicionar conexão.

Preencha os detalhes de conexão. A maioria dessas configurações é comum para a maioria dos dialetos do banco de dados e estão descritas na página de documentação Como conectar o Looker ao banco de dados. As seguintes configurações são específicas para o Oracle ADWC ou para a página Connections Settings de exemplo mostrada acima:

  • Dialeto: Oracle ADWC.
  • Usar TNS: ative conexões de Substrate de rede transparente (TNS).
  • Host: nome do host ou alias de TNS. Para este exemplo, dbname_medium.
  • Porta: deixe como padrão. O Looker encontrará a porta do arquivo tnsnames.ora.
  • Nome do serviço: deixe em branco. O Looker encontrará o nome do serviço do arquivo tnsnames.ora.
  • Nome de usuário: nome de usuário do banco de dados ou banco de dados temporário se os PDTs estiverem ativados.
  • Password: senha do usuário do banco de dados.
  • Tabelas derivadas permanentes: marque esta caixa para ativar tabelas derivadas permanentes. Isso revela outros campos de PDT e a coluna PDT Overrides (em inglês).
  • Banco de dados temporário: no Oracle, um usuário é um esquema e precisa ser especificado como o nome do usuário do banco de dados. Neste exemplo, usamos o valor de esquema temporário LOOKER.
  • Parâmetros adicionais: o PATH para a carteira Oracle no servidor Looker. Neste exemplo, usamos /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 Cert: você pode ignorar esses campos. O Looker sempre usará SSL com Oracle ADWC.

Quando você clicar em Testar estas configurações, o Looker criará uma string JDBC como esta:

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

Suporte a recursos

Para que o Looker ofereça suporte a alguns recursos, seu dialeto do banco de dados também precisa aceitá-los.

Na versão mais recente do Looker, o armazenamento de dados autônomo da Oracle no Cloud é compatível com os seguintes recursos do Looker:

Próximas etapas

Depois de concluir a configuração do banco de dados, conecte-se ao banco de dados no Looker.