Usage Tracking utilizado como apoio na governança de dados do OBISEE

Por Carina Mendes
Postado em Setembro 2016

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.

Passos de Configuração:

  1. Verificar usuário, conexão e tabela no schema do BI Platform;
  2. Mapear Repositório de Metadados (RPD);
  3. Habilitar o rastreamento no Enterprise Manager;
  4. Disponibilizar o relatório de acompanhamento de uso no OBISEE;

1. Verificar usuário, conexão e tabela no schema do BI Platform;

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)
		
		

2. Mapear Repositório de Metadados (RPD);

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. Habilitar o rastreamento no Enterprise Manager;

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:

  • UsageTrackingCentrallyManaged = true
  • UsageTrackingConnectionPool = "<Banco de Dados>"."< Pool de Conexões>"
  • UsageTrackingDirectInsert = true
  • UsageTrackingEnabled = true
  • UsageTrackingPhysicalTableName = "<Banco de Dados>"."<Schema>"."<Tabela>"

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:

4. Disponibilizar o relatório de acompanhamento de uso no OBISEE;

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.