Arquivo de outubro, 2012

Ola pessoal, novamente estou aqui para falar de um recurso muito interessante do OBIEE.

O cache é um recurso importante para melhorar o tempo de resposta nas consultas do OBIEE, quando ativado, todas as consultas realizadas no banco são armazenadas no servidor do obiee em arquivos chamadas de entradas de cache, com os dados desta consulta. Quando a mesma consulta é feita novamente o OBIEE não acessa o banco novamente, ele utiliza as entradas de cachê para retornar o resultado.

Para ativar o cache é necessário realizar os seguintes passos:

Ativar o cache nas próprias tabelas da camada física, uma a uma.

bEXPLlAFQ3iAw1jLvFau6JxfJXDar53y90XoSTvKkMzKmI8tFpdIF0B2-CcGO8v6CNgkm7vWlN0rvcG_-A4VyGNJrMKlM89gB11vfK9Z-C_MmRy5l7g

Aqui temos as seguintes opções:

Cache nunca expira

Selecionando esta opção, as entradas de cache não expiram mais para esta tabela. É útil quando a tabela é importante para um grande número de consultas, por exemplo, uma tabela de CEP que seja muito utilizada,. Mantê-la em cache indefinidamente pode melhorar o desempenho destas consultas.

Porem esta escolha significa que o cache desta tabela permanecerá sempre válido, somente uma intervenção manual como alterações na sua estrutura na camada semântica ou o uso de uma tabela de Event Pooling (veremos mais a frente) pode invalidar as entradas deste cachê.

Cache persistente por tempo

Define quanto tempo às entradas de cache devem persistir, antes de expirar, em outras palavras, o cache é invalidado após um determinado tempo definido pelo usuário.

Esta definição é útil em tabelas que são atualizadas com muita frequência.

e8HicLNwjN0zNCRtey4ApdSOlzwgw7XGf4_rMHXIcxZoKfgT4V6Y7Bk-pX475XPoBDu3FDUFdPqCkfKQ0eGkO_vYROkEL8YOBriMlPTiJyyk5lyw35k

Alem disto é necessário ativar no Servidor o serviço responsável pelo gerenciamento deste cache. Isto é feito através do Enterprise Manager em Business Intelligence > coreapplication > Gerenciamento de Capacidade > Desempenho

9tO9WJnjb22Soc2fyiQHs4RwsJfvKf_0mUH58qgmynwEeOIGosiqy8EN6_uYL-91iaub7WpONwGx4W7hUWs0rHIow6fTJkyuW12Ul0FxSZcqD4Gb0sc

Click em Bloquear para Edição e ative o cache , aqui é possível definir o tamanho máximo deste cache, e a quantidade máxima de entradas.

Oj7nNZAl0RguwOD1LtJNWnNMSd7--NCb8H0xwcMc4PFVNVWybXG2WcP-eQ8K5_wUiisM6c_u_AKBtWi14VYSp6mRDAiMRWohoPA8DB6ocWmGkI4Qr5c

Ative as alterações e reinicialize os serviços para que o cache seja ativado. As entradas de cache são geradas no servidor do BIEE no diretório:

%ORACLE_HOME%/instances/instance1/bifoundation/OracleBIServerComponent/coreapplication_obis1/cache

O problema é que muitas vezes é necessário ter um controle maior sobre as atualizações destas entradas de cache, neste caso é necessário implementar o Event PollingTable.

O servidor do Oracle BI utiliza uma tabela de eventos como uma maneira de ser notificado que uma ou mais tabelas na camada física foram atualizadas. Ou seja, cada linha que é adicionada nesta tabela de eventos determina um evento único de atualização em uma determinada tabela da camada física.

O Oracle BI Server lê estas linhas, verifica que uma determinada tabela física foi atualizada recentemente e invalida todas as entradas de cache que fazem referencia a esta tabela.

Desta forma é possível incluir no final do seu processo de ETL, por exemplo, um procedimento de carga desta tabela de eventos, indicando quais tabelas da camada física foram atualizadas ou recarregadas.

O Oracle BI Server irá verificar esta tabela de tempo em tempo (período determinado por você) se alguma tabela da camada física foi atualizada e invalida ou não o cache.

Vamos utilizar em nosso exemplo a tabela COUNTRIES do schema HR.

Com o cache ativado, todos os relatórios em cima desta tabela serão executados pelo menos uma vez acessando diretamente o banco de dados e depois, nas próximas execuções, o acesso será feito em cache, melhorando assim a desempenho.

Vamos manter esta tabela com o cache nunca expira.

dXxd7Yq3e6_hRMpoKBY9R7DnaqYfo8749NW2XobBEbzg6DSYBeGJI9nnTizVLv0nHABn8lllKcc6rwMXxOTru95Uk4tw_UDzx7i6Z8sUTe4mt7kMXFk

Para criar a tabela de evento vamos utilizar o script fornecido pela Oracle localizado no diretório do servidor de BI.

%ORACLE_HOME%/instances/instance1/bifoundation/OracleBIServerComponent/coreapplication_obis1/schema/ SAEPT.Oracle.sql

O conteúdo deste script é:

drop table S_NQ_EPT ;

create table S_NQ_EPT (

UPDATE_TYPE DECIMAL(10,0) DEFAULT 1 NOT NULL,

UPDATE_TS DATE DEFAULT SYSDATE NOT NULL,

DATABASE_NAME VARCHAR2(120) NULL,

CATALOG_NAME VARCHAR2(120) NULL,

SCHEMA_NAME VARCHAR2(120) NULL,

TABLE_NAME VARCHAR2(120) NOT NULL,

OTHER_RESERVED VARCHAR2(120) DEFAULT NULL NULL

) ;

kZfbME9fc33CV6xHr2OE3sEbHGTCxMZa4-RboahfpcffUHDGmnvmG7_Z8d2V06xMqn0HNSYh7btrXDDcT7AKtVmk-AED-oFpWAXWq_RJ930lGAV3OaU

Esta tabela deve ser mapeada na camada física do OBIEE.

2b_sXjXEK36q18PeBUbQ4DvvXdQq8pTNlBi3gdSqogcpYKUd2-J6TxGFVMx9KQLEBYR8Qs-lucBQu14nxvoRAlpE1IE_4IyB8DgZx_AfgIHpNexOPe0

Ativar evento de atualização de Cache no Administrator do BIEE

Em Tools > Utilities > Oracle BI Event Tables – Selecionar a tabela de eventos e vamos setar a frequência em intervalos de 10 minutos., ou seja de 10 em 10 minutos o Oracle BI Server verificará a tabela de eventos.

zEqtvz14OfueDcZoiMM7o9OcE4s7FhnDy_wSBD9MszgZiyfxfPA9qO1KUxSZFB4RlYmpXYjMocESxPB911fgioWkXHF0wDPGtcD_oz3MRmXkr3C7-C8

Confirme e salve as alterações.

O ícone da tabela muda, identificando que é uma tabela de eventos.

ttLIhbpkEm8q04dxoVzl66ze3PQzW_18DBkVCoLv3Kh6G9hmyIcG5xAl1ItI3cnsrvcEKU2GfDea7sGmKk6ZLpOtA5sJjKXL7HNK9RBSvA2lSgAN7bU

Vamos inserir uma linha nesta tabela, identificando que a tabela COUNTRIES foi atualizada.

UIGrpSsw_CzUitXz_EPDZMhKN0cxgfNkGr8JDr3hiOq-G5TA5fjLZojs4hTHfnzKVCLs1qHSQj4q7gQ1GvWjnFfNRYxL74VxxL7RvS-03iHvRxeV_yc

Após o próximo intervalo configurado o Oracle BI Server pesquisa a tabela de eventos e limpa as entradas de cache referente à tabela COUNTRIES.

É possível verificar isto no diretório abaixo:

%ORACLE_HOME%/instances/instance1/bifoundation/OracleBIServerComponent/coreapplication_obis1/cache

A entrada na tabela de eventos S_NQ_EPT também é truncada após o intervalo de pesquisa.

Usando uma tabela de eventos é a maneira mais precisa par a invalidar as entradas de cache obsoletos, provavelmente o método mais confiável. No entanto como existe um intervalo de pesquisa definido na configuração, existe o risco ainda de o cache não estar totalmente atualizado durante este intervalo, ocasionando o risco de dados obsoletos serem consultados.

Até a próxima..

Alan

Olá pessoal, muitas vezes ocorre de esquecermos qual a senha do usuário administrador do Weblogic, e isso cria um transtorno muito grande para os administradores, muitas vezes tendo que reinstalar por completo todo o produto:

6c5FJKu4CCjDSA6sLtA-RPRnmNRpBsyTKrHZ1IyMldujMK5vyPtcgSZZyddonB0U-ncXEES5SPpCEZAFcdjuhHpXHxvciirFNE_PP839gQ52tE7mBWM

Para que isso não ocorra irei demonstrar como “resetar” à senha perdida do usuário administrador do Weblogic:

Primeiro pare todos os serviços do weblogic.

No meu caso o ambiente é Linux, mas o procedimento é o mesmo para Windows, apenas se atente aos comandos para setar as variáveis de ambiente, pois o comando é diferente no Windows. No terminal vamos setar as seguintes variáveis:

MWHOME :

export MWHOME=/bishiphome/Middleware

DOMAIN_HOME:

export DOMAIN_HOME=$MWHOME/user_projects/domains/bifoundation_domain

CLASSPATH:

export CLASSPATH=$CLASSPATH:$MWHOME/wlserver_10.3/server/lib/weblogic.jar

Lembre-se de adaptar os caminhos informados nas variáveis acima, para os caminhos de seu ambiente.

Tela setando as variáveis:

tUAtZT9xLEubYKmLi6XLKMq6gxQaOvcJBkYD4yiLiUJhesAUuLaj_zBZVdXvvIqeABPq_xYDG97DAOlF7KHiLJXbQd3o3VQ0Wv8yZpBEX8NNnh5k6pU

Devemos executar o script setDomainEnv.sh, para que todas as variáveis do Weblogic sejam carregadas de forma correta no S.O.

Para executar este script entre no diretório cd $DOMAIN_HOME/bin e execute o script com o comando ./setDomainEnv.sh, a tela abaixo ilustra este passo:

NcHNH5NzWjnXdzbydnmlXVm4KQqZQ2bdF7mRezTSbcnIJC2JrMZQ_sdgKYMZw_MInNVR4YYeB4VkyUAiQC8NmCFv5sA9yuWJM-6qMuMV0J4pbDJiQg0

Iremos fazer um backup do atual arquivo do provedor de autenticação default, pois no processo para se criar um novo usuário e senha, será criado um novo arquivo de autenticação.

Entre no diretório security de seu domínio, usando o comando cd $DOMAIN_HOME/security em seguida mova o arquivo atual para outro nome com o comando: mv DefaultAuthenticatorInit.ldift oldDefaultAuthenticator.ldift Q0hEf7Xt7_wODBSvfi4eQAlrB7yHuApy_mZy75tHyh70pXRL23PDbihQk0-bAa-CbsWHsL8UfBwycNuLfzsuzXEb0t4-ZV243eGeTn5h_iWoMNMDq4Q

Agora iremos rodar o comando que irá criar um novo usuário e senha:

java weblogic.security.utils.AdminAccount novousuario novasenha .

Lembre-se de adaptar o comando, informando o nome do novo usuário e a nova senha, e atente-se ao ponto no final do comando, ele é obrigatório:

Comando para criar um novo usuário e senha:

q2jU5MFW58wz9zGAl9or7J-x4pllt9JMboYjYm92Y1QEJHfnDU35UZkCcwcE5cLOnTsCeJCyerZdSOstialWwVSGttBNKwnZI6UJhMo7AdXF91sw90M

Após executar o comando veja que foi criado um novo arquivo DefaultAuthenticatorInit.ldift:

T1cFYciegRIvTT4HQ3zBCg27UUSly74ZpXdyDcHJ1ttJ-RLOVCjn8XfYMsl1Y7bUT7WydIFF7vGyt_7l-3HR2La3nrfv8m5hW1ILUYbIUY3orG9RNaE

Vamos mover a pasta data do servidor gerenciado e apagar o arquivo boot.properties:

Entre no diretório cd $DOMAIN_HOME/servers/AdminServer

Mova a pasta data com o comando mv data/ dataold/

JjkJ5lUbBwBJBvsKWfM3VzB7cf6S1dyXX8Yrd7JQOfysYjsIsrrL2dtsc5StZ8hjs7J8TkKhubLEevrrZWGaw7lHLMiyWAXFgQSuPHJ5VJSgNuwEdtM

Entre na pasta security do AdminServer e remova o arquivo boot.properties:

4eNhE0U0-1fe4a9uCoYGxBqFK_FfjCL9oySXClObozotz-EIWStdrWXkpgHhV9oXICKHPcmRyS2rSaRpWaICTaeUtA1I39SgSvOGUkbc-3N_v6qmtx4

Inicialize o Weblogic, neste ponto você deverá informar o novo usuário e senha criados anteriormente:

agj9sVhzGaybSJLGqWBTdRvnrt_oXPGd5c1S1wQ3pBmVO-xEAVNrAvB1571CJHgVb5PhQXb-460DiGhVwwJWQtl4zT4AvMa3oqt8VEHu2NU8E0pp4vs

7ZVfVZmMBWbe8nccxYAp8jQ4wRxs65OR64JqlorMd539PjETvCsayoRZnhVjaZy4ArBmQAnZIOEsw1iZ45XpkFxbLMtJlEIIrItVt3OY2vuG-vPz-ek

Após iniciar o Weblogic tente se logar na console:

Logando na console com o novo usuário e senha:

HkmchU4-q_gC8dFLLSshfMb5mNCeapzm4HT-ancG0NxQVoMxsorrAzyo8ZtwlpsQKz7zodChU6IGZi010Oyfqg-AqoFD8uJ86OSDJcs3Mkpd1tjoMlU

Tela da console aberta, efetuado login com o novo usuário e senha criados anteriormente:

y5KrpTg6x33ZmJw9DkL8pcZf6MQNEPMr4WdlqcwTj_UIANKF4LmNqB0QI5UiDEb0mEpanfwX-rXhptPlW-MvxZ3ewH_piGofillH-Kx7YOApiEnQcTY

Bom pessoal, esses são os passos para se resetar uma senha perdida no Weblogic, espero que este artigo tenha agregado o conhecimento de vocês.

Abraço e sucesso a todos.

Tiago Dib.

Continuando o assunto sobre a integração do Google Maps com o OBIEE, vamos agora demonstrar como utilizar os Mapas do Google no OBIEE.

Após importar as camadas do Mapviewer vamos agora associar um tema a uma coluna na camada de apresentação do OBIEE.

No nosso exemplo vamos utilizar o tema THEME_DEMO_STATES que apresenta a sigla dos estados abreviados com a coluna de apresentação “Cust Regions”.”C54 State Code”

Selecione o tema desejado.

ybrvgHsfIMsOIzch7GhBr7y7Ypd43v2y5xnVmdhKOWjPArp2pUU7kMs1BWThcLZqsqz7p4hZh7HxahFj02Y_tGZKSlYDF2y7042jhiiLpORkR27VW8I

Edite o tema e click no sinal de +

5V8HL9EDmfz33Wz7PiI6JnwZSOxYoCQh7c-tnYl4Bw74We2YpGsU4hGcFpob3ZU0faUZhHQNpU_N5X7RnFlCDTTeNmFW1I-hX1s7I4e9-ZNUNfx46v0

Selecione a coluna desejada, no nosso caso, “Cust Regions”.”C54 State Code” e click em ok.

tZHU305SNx6BLEBMB2wxFBruUx2zQsdEA8sM_5shJYnJkynbLYBGz1EoevLFwkvVXwpmuDW1hxIf5rWsLGpVCAm59yYaeHJhDph_KNslZUgjumeSftw

Click em ok novamente

HeOcBpGprlG0-RNWyQqmx4VqvroSYWBahwS0_VEanMfXdafZdTFYE2ALkDJrR7wb6eRxTdUKlLX8Enh6AhEKCaRkc9vNs4gr87OpKepSBsdxv8h_gWY

Clique em Editar Mapa de fundo e clique em definir níveis de zoom associados com dados de BI, vamos definir 9 como o nível de zoom e 2 como padrão, como mostrado abaixo.

DgS5f_GGq06At-iLZZ003_UAarKSXjLyVHH3HTQzUP7FcuDYXm0-H42rwMAwSFQRb8AZx7iQjXDKV30uML7XYWAaP6HZKlIhPOw331fNcqqUlpIj_2g

a5q3dH6xWz_zXafCWgggVMraP4EwtAP_DVu6Y33cve-EEmBqkrybCnr2z67Tti6g6l3EOzmEzZTFiQ3o97oH7rzQZcK1eKVmU4VDu-cri2M4bhuFnsU

Selecione o tema que estamos utilizando.

Y7A7kAiYeAHfs4EBpksyERhREl8Yu6fULgNyQ3YLHHpmpSvxjpSmMGsnA7snRh0Mfqk_Yg6vk1W4MHDxPKObQrniYB9Y8Bu9qjCvahvycmrRgveVNE0

Selecione até o nível 9 e deixe marcado o nível 2 e click em ok.

kO9C0JsJ9hLWOMOTmWp3-ouM2m0bdxSKljI_RLbYULzroe6D2T3rYUvcA2Buo2NwjtH0sm0Ae6mmyB6pZYE70SWnVZHgWOTjgzZL52DT2Fm3fR1Rpw8

A partir de agora a coluna “Cust Regions”.”C54 State Code” esta associada a um mapa de segundo plano.

Vamos agora criar uma analise para demonstrar o uso do mapa.

Selecione a coluna “Cust Regions”.”C54 State Code”, “Time”.”T05 Per Name Year” e “Base Facts”.”1- Revenue”

_OTSahSVTxA2CjKi8QdhfPRc50KfwGoMAtKI1uc62MqNqjoGijn3W2-THjLvovohyLThHinBLVdgYv8NOg9k6CDN4mB6suK0IXdTM_RCSm_iTx8dLJA

Na tela de resultados click e nova view e selecione Maps

W3piotUH5_IlS4AbVVmVvNU7Gd-1YK3Ti_g8xlCNJrlzHCcs6zFMhV4_XTzsYNjoROAL9donwQ5MQxb0LgD-kDuEcnI5xtoCzV0_KqpPdRp0ha4LTzw

Edite o Mapa

sR3N0DKpnx64g-HcRtZuod_q9jCmNQpswwL_PmEwgTKZalEk5Bm3YL4MDGiCAbM4r7qGIImv6eEw2i0DhIUkIamK0TRudqVq9bTcjIfs_zaGYT4wLrw

Modo Edição

LnDFTRlM2pCWkyQ3jAi_SAZMXLX2vWgu8yH8AuETRiP-NHrFy-jB7AbTqOhlznwQ92WUDyNf8wN1_fbslVoSO1gY9GAKCLmaypqejv9Pg9Jdwa1a0EY

Click em Novo > Preenchimento de Cores

8EtX-yP3TjdaxaOoOWUr98sjBYKI9LJRsNv90O53GjE7NH8Ia9MQW-m4d0Kvi0NHzdfncso4S9umw4L0vM5wiBMM32aYC-9oycccfrzJ22YGZ6TtpeQ

Selecione as cores desejadas e click em OK e depois em concluído.

7UwMYsbLMcNqcee-AXrRyqlp-oXpQ2zHarbwyqB-NvJv3WWiM_hL2W_UpLFuf1Lg77E4MeVg2mDSKWZGktJDI14MP1uF7lPkmrcVdAgpDzg5Mdn8mwI

O Mapa abaixo demonstra em cada estado, através das cores que definimos as três situações possíveis.

tNV1nBkokQF9Ahxa6lqIBKx3Ghk_A-0fUT9NGzs2Gvpr79BJ4w3JKWf9NcI7rSAGmj2VJYhT5ogUqUZkb78iQ-a_rwWZoqMrazFEgo6YHYhBrBz0OI8

Exemplificamos aqui um indicador de cores simples, mas também é possível adicionar gráficos de barra, pizza, bolha, etc.

Existem muitos recursos de interação com mapa, no futuro vamos explorar mais estes recursos.

Até a próxima

Alan Viegas