O Usage Tracking é uma funcionalidade opcional da suíte do Oracle Business Intelligence Suite Extended Edition, que quando ativada registra no banco de dados da aplicação, os logs de uso de relatórios, painéis de indicadores e consultas ad-hoc realizadas no OBISEE, permitindo ainda a criação de um painel de análise de desempenho dentro do próprio Oracle BI.
Geralmente recomendo esta implementação como uma extensão da governança de dados que se deve aplicar em um ambiente de BI, pois o Usage Tracking pode ajudar a identificar gargalos de uso no ambiente ou até mesmo análises que ficam obsoletas ao longo do tempo, permitindo remanejar melhor as janelas e fluxos de cargas de dados e consumo de banco.
Em muitos ambientes, é comum ter mais de uma instância do OBISEE instalada no mesmo servidor de ambiente e, que por sua vez, utiliza o mesmo servidor de banco de dados. Por isso, é necessário certificar-se de que o Owner do BI Platform que você irá utilizar para implementar o Usage Tracking é o correspondente.
Clique no “Nome da Origem de Dados” para ter acesso a aba de “Pool de Conexões” e verifique os dados de host, porta, service name e principalmente na sessão de “Propriedades” o “Valor” do “user”.
Agora vamos realizar uma conexão neste esquema para verificar se a tabela utilizada para armazenar os registros do Usage Tracking está disponível. Eu prefiro utilizar o client do “Oracle SQL Developer”, mas você pode conectar via prompt de comando do SQL Plus.
1.2. Crie uma nova conexão no SQL Developer:
1.3. Execute a consulta “DESC FROM S_NQ_ACCT;” para verificar se a tabela se encontra no banco e se ela foi criada corretamente pelo RCU durante a instalação do OBISEE:
A consulta deve retornar a seguinte descrição da tabela, certifique-se de que ela contém todas as colunas abaixo:
DESC FROM S_NQ_ACCT
Nome Nulo Tipo
---------------------- -------- --------------
USER_NAME VARCHAR2(128)
REPOSITORY_NAME VARCHAR2(128)
SUBJECT_AREA_NAME VARCHAR2(128)
NODE_ID VARCHAR2(100)
START_TS DATE
START_DT DATE
START_HOUR_MIN CHAR(5)
END_TS DATE
END_DT DATE
END_HOUR_MIN CHAR(5)
QUERY_TEXT VARCHAR2(1024)
QUERY_BLOB CLOB
QUERY_KEY VARCHAR2(128)
SUCCESS_FLG NUMBER(10)
ROW_COUNT NUMBER(20)
TOTAL_TIME_SEC NUMBER(10)
COMPILE_TIME_SEC NUMBER(10)
NUM_DB_QUERY NUMBER(10)
CUM_DB_TIME_SEC NUMBER(10)
CUM_NUM_DB_ROW NUMBER(20)
CACHE_IND_FLG NOT NULL CHAR(1)
QUERY_SRC_CD VARCHAR2(30)
SAW_SRC_PATH VARCHAR2(250)
SAW_DASHBOARD VARCHAR2(150)
SAW_DASHBOARD_PG VARCHAR2(150)
PRESENTATION_NAME VARCHAR2(128)
ERROR_TEXT VARCHAR2(250)
IMPERSONATOR_USER_NAME VARCHAR2(128)
NUM_CACHE_INSERTED NUMBER(10)
NUM_CACHE_HITS NUMBER(10)
ID NOT NULL VARCHAR2(50)
ECID VARCHAR2(1024)
TENANT_ID VARCHAR2(128)
SERVICE_NAME VARCHAR2(128)
SESSION_ID NUMBER(10)
HASH_ID VARCHAR2(128)
Através do Administration Tool acesse seu RPD para mapear a tabela que verificamos anteriormente e realizarmos a modelagem do repositório de metadados.
2.1. Físico: Clique com o botão direito na camada física do repositório, clique em “Novo Banco de Dados” para abrir a caixa de propriedades, conforme imagem abaixo. Crie um nome para o Data Base, selecione o tipo de banco e clique em OK:
2.2. Em seguida, clique no Data Base criado com o botão direito, selecione a opção “Novo Objeto” e depois “Pool de Conexões”. Crie um nome para o Pool, o tipo de conexão e observe que nos campos: “Nome de Origem”, “Nome do Usuário” e “Senha” você deve colocar os dados de conexão do usuário BI Platform que testamos anteriormente.
No meu caso é um servidor local, mas você também pode utilizar a seguinte string de conexão:
(DESCRIPTION = ADDRESS=(PROTOCOL=TCP)(HOST =XXXXXXX)(PORT=XXX))(CONNECT_DATA=(SERVICE_NAME=XXX)))
2.3. Após criar o “Pool de Conexões” clique sobre ele com o botão direito e escolha o menu “Importar Metadados”.
Selecione o Schema do Owner do BI Platform e importe a tabela “S_NQ_ACCT”:
Observe, a camada física deve conter os seguintes objetos.
2.4. Negócios: Agora iremos criar um novo modelo de negócios, clicando na camada do meio do repositório de metadados. Em seguida iremos criar as tabelas lógicas que utilizaremos para criar os relatórios no OBISEE.
Veja abaixo o exemplo das tabelas que utilizei (Métricas de Desempenho, Objetos, Tempo e Usuários), em vermelho está escrito a coluna que utilizei para mapear cada uma das métricas e colunas de dimensões.
2.5. Conforme observado na imagem anterior, a tabela lógica “Métricas de Desempenho” assume uma propriedade de tabela “Fato” enquanto as demais tabelas do modelo assumem uma propriedade de “Dimensão”, por isso as dimensões precisam ter chaves definidas. Baseado nos conceitos de modelagem “Star Schema” é necessário construir os “Joins” no “Diagrama de Modelo de Negócios” da seguinte forma:
2.6. Apresentação: Arraste seu modelo de negócios para a camada de apresentação do repositório, salve seu repositório, caso esteja trabalhando no modo on-line, ou publique-o via “Enterprise Manager”, caso esteja trabalhando no modo off-line, para que a área de assunto fique disponível no OBISEE:
3.1. Acesse o endereço (http://host:7001/em) e navegue no menu direito do “Domínio Weblogic” para acessar o “Browser do MBean do Sistema” conforme ilustrado na imagem a baixo:
3.2. Iremos realizar o bloqueio do “MBean” para configurar o “Usage Tracking”, navegando pela árvore de diretórios:
MBeans Definido do Aplicativo -> oracle.biee.admin -> Domain: bifoundation_domain -> BIDomain -> BIDomain
Na aba de “Operações” clique em “lock”:
3.3. Clique em “Chamar”, observe a mensagem de confirmação e depois clique em “Retornar”:
3.4. Agora iremos realizar os passos necessários para configurar o BI Server de forma que armazene os registros de uso no schema do BI Platform. Navegue na árvore de diretórios conforme a imagem abaixo, e depois clique em “Aplicar”:
Observe que no item 5 da imagem acima devemos configurar da seguinte forma:
Para saber o nome das fontes verifique no repositório de metadados conforme imagem:
3.5. Aplique as alterações realizadas seguindo os passos da imagem abaixo:
Clique em “Chamar”, aguarde a mensagem de confirmação e em seguida clique em “Retornar”.
3.6. Reinicie os serviços do Coreapplication:
Agora é possível criar uma nova análise utilizando a área de assunto Usage Tracking. A seguir tenho uma ilustração de um relatório que pode ser criado para o painel de acompanhamento de uso, mas ele também pode ser customizado de acordo com a necessidade de rastreamento:
Observe o resultado do relatório acima: na coluna de erros também inseri uma formatação condicional para, caso haja algum erro, o valor aparecer automaticamente em vermelho, com uma imagem de warning:
Obs.: Caso precise verificar algum retorno do commit efetuado pelo BI Server na tabela S_NQ_ACCT ele fica armazenado no diretório a seguir, no arquivo “nqserver.log”:
D:\Oracle\mware\instances\instance1\diagnostics\logs\OracleBIServerComponent\coreapplication_obis1
Após criar seus relatórios de rastreamento de uso, publique-o em um painel e acompanhe os resultados:
Carina Mendes - Business Intelligence Consultant.
Formação Acadêmica em Gestão Financeira e Estatística, Atuação técnica no desenvolvimento de projetos em Oracle BIEE 10g/11g e Oracle Endeca Information Discovery 3.1. Linguagens e ferramentas: Oracle SQL, ODI, AdminTool, Shell, Html e CSS.
Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.