Olá, jovens!
Hoje,
vamos tentar desvendar o mundo do AD Administration, ou mais
popularmente e carinhosamente chamado de ADADMIN. Essa é uma das
ferramentas de administração do EBS para realização de tarefas de
manutenção, além de ser um dos mais famosos e principais utilitários
em linha de comando do EBS.
O
manual oficial do AdAdmin do R11 é o Oracle Applications
Maintenance Utilities Release
11i (11.5.10.2) Part No. B19300-01 e está disponível nas páginas
de documentação da Oracle.
Este artigo foi baseado nesse manual,
além de informações adicionais fornecidas pelo instrutor de um
curso que fiz no final do ano chamado Adriano Master Penedo.
O
ADADMIN se encontra no diretório $AD_TOP/bin do servidor de
aplicação. Vamos confirmar se ele está lá.
Através do print, pudemos conferir que
ele está lá. Começamos bem!
Antes
de olharmos tela a tela essa aplicação, é sempre legal dar uma
olhada no help:
adadmin help=y
Uma
dica legal do help que vale a pena dar uma olhada é o DEFAULTSFILE. Ela não será abordada aqui na nossa
conversa, mas essa opção combinada com a opção MENU_OPTION
é muito legal para a economia de tempo.
Para atiçar a curiosidade,
basta dizer que, em vez de responder todas as perguntas que
veremos abaixo para acesso ao ADADMIN, chamaríamos o ADADMIN com o
parâmetro DEFAULTSFILE e o mesmo já abriria na janela desejada, sem
necessidade das respostas e das entradas de senha.
A
maioria das interações do usuário via ADADMIN
são a partir de prompts de linha de comando sob a forma de
avisos. Em caso de não utilizar o DEFAULTSFILE, basta responder
corretamente as perguntas abaixo para acessar a tela inicial.
No
servidor de aplicação, executar: adadmin
Nessa
primeira imagem, iremos responder 4 perguntas. As respostas e suas
explicações estão em destaque.
Your default directory is '/u01/app/oracle/HOMOL14/homol14appl'.
Is this the correct APPL_TOP [Yes] ? <YES Pois o APPL_TOP está correto>
Filename [adadmin.log] : <adadmin.log Eu geralmente deixo a sugestão, mas pode ser alterado>
You can be notified by email if a failure occurs. <NO Tudo o que for feito no ADADMIN será acompanhado de perto por você. Por isso, acho desnecessário o e-mail>
Please enter the batchsize [1000] : <1000 Eu geralmente deixo a sugestão, mas pode ser alterado>
Nesta
segunda imagem da inicialização, não temos interação com o
processo. Apenas conferimos os dados.
Na
terceira tela do processo, entramos com as senhas de system e apps,
conforme demonstrado abaixo:
Nessa
imagem acima, iremos responder mais 3 perguntas. As respostas e suas
explicações estão em destaque:
You are about to use or modify Oracle Applications product tables
in your ORACLE database 'HOMOL14'
using ORACLE executables in '/u01/app/oracle/HOMOL14/homol14ora/8.0.6'.
Is this the correct database [Yes] ? <YES A identificação do database está correta>
Enter the password for your 'SYSTEM' ORACLE schema: <Fornecer a senha do usuário SYSTEM do banco de dados>
Enter the ORACLE password of Application Object Library [APPS] : <Fornecer a senha do usuário APPS da aplicação>
Finalmente,
na última fase de inicialização executada pela ADADMIN, temos as
configurações de linguagens. De novo, somente acompanhamos e
conferimos.
É muito bom quando tudo dá certo, não é mesmo? E se chegamos até
aqui, a tela que deve estar sendo apresentada para o jovem e
destemido ATG é a seguinte:
É
isso aí, jovem, essa é a tela inicial do adadmin. Aqui lhe serão
apresentadas alguma opções divididas em blocos da seguinte maneira:
- Menu
1: Compilar/Recompilar arquivos da aplicação (Generate
Applications Files menu) - Menu
2: Manutenção de arquivos da aplicação (Maintain
Applications Files menu) - Menu
3: Compilar/Recompilar arquivos de BD (Compile/Reload
Applications Database Entities menu) - Menu
4: Manutenção de arquivos de BD (Maintain Applications
Database Entities menu) - Menu
5: Modo de manutenção (Change Maintenance Mode)
A
partir de agora, valos explorar cada menu explicando o que cada opção
pode nos oferecer. Ao
selecionar o menu 1, deve ser apresentada a seguinte tela para o ATG:
Veja
que no topo da tela fica registrada a opção escolhida por você.
Neste menu, você tem acesso para executar tarefas de
compilação/recompilação de arquivos da aplicação. Seguem as
opções:
Opção
1: Compilar arquivos de mensagens (.msb).
Este
passo deve ser executado quando instruído em algum patch ou sob
orientação do suporte Oracle.
Opção
2: Compilar forms (.fmb) disponíveis no $AU_TOP. Nesta
opção, após a compilação, os arquivos criados (.fmx) são
automaticamente extraídos e copiados para o seu respectivo
PRODUCT_TOP. A execução dessa opção deve ser quando observado
algum problema em algum form específico. As opções para regenerar
os forms são: .
- Todos
os forms de todos os produtos (Observação importante: loucura total se executar isso) - Forms
de produtos específicos - Forms
específicos de produtos específicos (Maneira mais usual) - Idiomas
Opção
3: Compilar reports disponíveis no $AU_TOP. Funciona da
mesma maneira da opção 2, porém somente manipulando arquivos .rdf.
As opções para regenerar os reports são:
- Todos
os reports de todos os produtos (Observação importante: loucura total se executar isso) - Reports
de produtos específicos - Reports
específicos de produtos específicos – maneira mais usual – Idiomas
Opção
4: Gerar arquivos de gráficos (.ogd) para arquivos de
definições de gráficos (.ogx). Honestamente nunca utilizei esta
opção e não sei exatamente qual a sua finalidade. Até em
pesquisas pelo My oracle Support eu não achei nada muito específico.
Deve ser por isso que na R12 essa opção foi removida.
Opção
5: Gera novamente Jar Files da aplicação no $JAVA_TOP.
Após isso, esses arquivos são copiados para o $APPL_TOP
automaticamente. Esta opção recria as bibliotecas java
(appsborg.zip e appsborg2.zip). Somente deve ser executado após um
upgrade no Developer ou por orientação do suporte Oracle.
Ou
seja, vimos que no menu 1 temos várias opções referentes a
compilação/recompilação dos arquivos de aplicação. Vamos agora
dar uma olhada no menu 2:
Neste
menu, podemos executar a manutenção dos arquivos da aplicação para
mantê-los íntegros e atualizados, bem como relinks de programas com
bibliotecas do sistema operacional.
Opção
1: Executa o relink dos produtos, seja de todos ou de
produtos específicos, com as suas respectivas bibliotecas. Esta
opção deve sempre ser executada com a base de dados parada. Esta
opção geralmente deve ser utilizada após recomendação do suporte
Oracle.
Importante:
Não é possível utilizar esta opção para relink de utilitários
do AD. Para esta tarefa, devemos utilizar o adrelink.
Opção
2: Cria um env file (arquivo de configuração de ambiente)
no caso de servidores Unix. O arquivo de
configuração de ambiente é colocado diretamente sob o $APPL_TOP.
Também nunca utilizei esta opção e talvez, coincidência ou não,
a opção não faz mais parte do ADADMIN na R12.
Opção
3: Executa cópia de arquivos de alguns PRODUCT_TOPS para
outros tops, como:
- Java
Files para $JAVA_TOP - HTML
Files para $OAH_TOP
- Multimídia
para $OAM_TOP -
Reports
para $AU_TOP
Importante:
A opção “force” nunca deve ser utilizada, salvo sob orientação
do suporte Oracle.
Opção
4:
Conversão de CharSet da aplicação. Ela prepara os arquivos de
$APPL_TOP para a conversão, realizando após isso a conversão. Esta
opção tem uma sub-opção que permite efetuar uma busca por exceção
antes de realizar a conversão real. Esse é um procedimento delicado
e que deve ser muito testado antes de ser executado em produção.
Opção
5: Snapshot da aplicação. Guarda um histórico de patches
aplicados e versões de arquivos.
Opção
6: Busca no APPL_TOP e acusa se existem arquivos faltantes.
Na
opção acima então, podemos executar várias das rotinas de
manutenção dos arquivos de aplicação.
É
isso aí, até agora tudo tranquilo, certo? Nenhum bicho de sete cabeças
pulou da tela, nada nos assustou, tudo funcionou perfeitamente.
Vamos então continuar, agora entrando nas tarefas de banco de dados
da AdAdmin, ou seja, o menu 3.
Nesse
menu, é permitida a compilação de arquivos relativos ao banco de
dados do EBS. Obviamente que existem outras formas de fazer o que
esses menus nos oferecem, mas o ideal é que a ferramenta seja
utilizada sempre.
Os menus são bem intuitivos e suas opções
falam por si só, portanto aqui teremos uma breve explicação de
cada opção.
Opção
1: Nesta opção é possível recompilar objetos inválidos
do APPS Schema. Aqui fica apenas um observação: se houver muitos
objetos inválidos em sua instance, você deve investigar o problema
a fundo em vez de ficar recompilando os objetos, pois isso
definitivamente não é normal e nem saudável para a sua base.
Opção
2: Aqui podemos recompilar a estrutura de dados dos menus
no APPS. Ao carregar um novo menu na tabela FND_MENU_ENTRIES ou se
após uma alteração de menu a execução do concurrent de
recompilação falhar, essa opção deve ser executada
Opção
3:
No item 3, podemos recompilar as estruturas de dados dos famosos
FlexFields nas FND Tables. Esta opção geralmente será utilizada
quando algum patch alterar configurações de FlexField em sua
aplicação. Se isso ocorrer, geralmente o Readme do patch trará uma
sessão de pós-requisitos onde solicitará a execução desta
tarefa. Os FlexFields geralmente são compilados em sua primeira
utilização, dispensando a execução desta tarefa a cada criação,
porém a
compilação dos dados de um FlexField em um momento específico (por
exemplo, quando a utilização do sistema é baixa) pode amenizar
possíveis problemas de desempenho em tempo de execução.
Opção
4: Por último, mas não menos importante, recompilamos os
objetos JAVA (Java Class) no banco de dados. Esta opção recarrega
todos os arquivos JAR próprios do banco de dados. Execute esta
tarefa se todos as classes Java dos aplicativos Oracle forem
removidos de seu banco.
A
opção 4 do menu principal é bem tranquila e intuitiva para a sua
utilização. Agora veremos as tarefas de manutenção do banco de
dados que podem ser feitas no AdAdmin.
Nesta
opção 4 do menu principal, iremos realizar as manutenções
necessárias nos arquivos e nos objetos de banco de dados do EBS. Aqui,
como no menu 3, tudo é muito intuitivo.
Opção
1: Valida o schema do APPS para ver se o mesmo está
integro. O Relatório de saída será gerado em
$APPL_TOP/admin/<SID>/out/. Por se tratar de uma validação
simples, pode ser executado sempre que necessário.
Opção
2: Verifica a integridade de grant’s e sinônimos que o
usuário APPS deve possuir sobre as tabelas dos módulos.
Identificado algum problema, recria os grant’s e synonym’s para o
APPS.
Importante:
Se houver muitos objetos inválidos em sua base, você deve resolver
este problema rapidamente junto ao My Oracle Support.
Opção
3: Executa apenas após a inclusão de um novo idioma no
EBS. Nesta opção, as tabelas e as views amarradas à linguagem
serão recriadas.
Opção
4: Manutenção da tabela DUAL. Essa tabela, como é de
conhecimento de todos, deve existir no schema SYS e deve possuir
apenas uma linha. Inconsistências nesta tabela podem levar
Opção
5: Manutenção do MRC. Aqui, como eu não conheço o MRC
intimamente, vou transcrever o trecho do manual do AdAdmin. Se
as funcionalidades do Multiple Reporting Currencies (MRC) estão
instaladas, esta opção é chamada para efetuar a manutenção do
schema Multiple Reporting Currencies.
O
MRC é implementado usando o esquema APPS. Isso significa que a
manutenção (ou conversão) somente irá recriar as triggers MRC no
schema APPS. Não é necessário validar o esquema APPS antes de
executar esta tarefa.
Para
maiores informações sobre o MRC, basta pesquisar por Multiple
Reporting Currencies in Oracle Applications no Metalink.
A
opção 5 do menu principal é mais fácil de todas. Aqui você
coloca e retira o EBS do modo de manutenção que deve ser habilitado
para otimizar o desempenho e reduzir o tempo ocioso das sessões de
AutoPatch.
Não
existe muito o que explicar aqui, pois a própria tradução dos
itens já diz tudo.
Opção
1: Ativar o modo de manutenção.
Opção
2: Desativar o modo de manutenção.
Quando
você escolhe alterar entre os modos de manutenção, esse status
fica demonstrado no superior da tela para que o ATG consiga se
localizar em qual modo o EBS está no momento. Esse modo de
manutenção é utilizado para a aplicação de patches.
Acho que terminamos esse passeio pelo AdAdmin. O artigo ficou um
pouco longo, mas acredito que valha a pena para termos um instrumento
de consulta rápida sobre este utilitário.
Para não perder o hábito, fica aqui um oi especial para a minha maravilhosa esposa Vanessa que a cada dia que passa evolui mais na sua sua caminhada profissional. Parabéns, você merece… E lembre-se sempre que “Juntos somos invencíveis”.
E para finalizar de verdade, fica aquele nosso pensamento de todos os artigos:
Algum dia nós saberemos qual a resposta. Para o que a vida realmente é ?
Qualquer dúvida, comentário, crítica ou elegio serão bem vindos.
Abraço e até a próxima!