terça-feira, 1 de abril de 2014

Oracle GoldenGate - Parte 1



Bom dia Jovens

Nos últimos tempos ganhei uma oportunidade de trabalhar com o Oracle Goldengate.


Ahhh, que bacana!!!!! Ops, mas espera ai. O que é o Oracle Goldengate mesmo?

Óteeeeemaaaaa pergunta jovem...

Bem rapidamente e bem a grosso modo o Oracle GG é uma ferramenta para captura/replicação de dados em tempo real.

Hummmm, legal.. Mas só isso?

Nananinanão.. Ele faz essa replicação entre sistemas de SGBD diferentes, de versões diferentes, plataformas diferentes, tudo diferente...

Agora sim, interessou né?

Se você precisa replicar um SQLSERVER para Oracle, pode. Um MySQL para Oracle, pode também. E um Oracle para Oracle em SO’s e versões diferentes. É claro que pode meu filho.

E se você não quer replicar e sim migrar uma base de um servidor antigo para um novo, sem parada com versões diferentes, SO diferente. Adivinha se pode? Lógico que pode.

Ou seja, podemos replicar/migrar dados entre bases heterogêneas, sem downtime, sem nada.

Na verdade esse produto não foi desenvolvido pela Oracle. Ele faz parte de uma das várias aquisições realizadas nos últimos anos.

Essa é uma explicação realmente simples perante o poder dessa ferramenta. Você consegue muitas informações sobre como o GG funciona e todo o seu potencial:


Antes de começar, é bom que tenhamos pelo menos algum conceito de alguns processos do GG. Lembrando que isso é apenas um overview de um processo específico.

Existem N maneiras de fazer uma replicação com o GG e tudo depende do que você tem como requisitos do trabalho, limitações de espaço, o que o seu cliente quer.

Primeiro, a figura clássica: Como o GG funciona.




Entendeu tudo né. Nem precisamos continuar. AHAHAHHAHA...

Agora sim, os processos que eu acho bacana que você conheça antes de sair tentando replicar os dados por ai:

Processo Manager: esse cara faz um monitoramento dos processos do GG, ou seja, é o processo pai do GG. Ele que faz toda a gestão dos processos e arquivos gerados pelo GG. Antes de criar/iniciar  os processos de Extract e Replicat, esse cara deve estar no ar.

Extract: Como o próprio nome diz, ele extrai/captura os dados e DDL do Source database. Essa extração captura os registros de dados completos ou as alterações desses dados, dependendo das configurações e envia os dados para um trail file..

Data Pump: Não jovem, não confunda com o datapump (expdp/impdp). Esse processo envia os trail's para o target database. Se um processo data Pump não é usado (sim ele é opcional), o extract deve enviar as operações capturadas para um trail file diretamente no Target. No entanto, caso ele exista, o extract cria o trail file  no source. O Data Pump lê este trail e envia as operações através da rede para um trail no Target.

Trails files: É o resultado da extração dos dados do source. Ou seja, tudo o que o extract "pegou", ele vai gravar nesses arquivos que serão utilizados para replicar os dados. São armazenados no disco local temporariamente (caso feito via data pump) até que tenha sido aplicado ao local de destino.

Initial load: Na verdade pode ou não ser um processo realizado pelo GG. Mas coloquei aqui pois de uma forma ou de outra teremos que realizar essa atividade. É a carga inicial dos dados – ou da estrutura da instance no target. Como eu disse, ele pode ser feito via GG (testei e não gostei), ou via um expdp/impdp, rman, etc. Fiz via expdp com flashback_scn e foi o que eu mais gostei.De uma base de 900G, diga-se.

Replicat: Ele replica as informações no lado do target. Esse processo faz a leitura dos trail's enviados pelo datapump do source e faz a replicação.

Checkpoint: Armazenam as posições atuais de leitura/escrita de um processo para fins de recuperação. Esses ceckpoint's garantem que as alterações de dados que estão marcadas para sincronização realmente serão capturados pelo extract e que serão aplicados pelo replicat no target. Além disso ele fornece uma tolerância a falhas, impedindo a perda de dados caso o sistema, a rede, ou um processo do Oracle GoldenGate precise ser reiniciado.

Gente, novamente lembrando antes de continuar: os processos são muito mais completos e complexos do que dito acima. Isso é o resumo de muitas páginas de documentação em 3 ou 4 linhas.



Vou dividir isso em alguns artigos para não ficar chato. 

E lembre-se, eu também estou estudando o GG. Mas como eu sou metido, resolvi compartilhar o pouco que eu sei. Caso tenha alguma barbaridade ai, não se acanhe em apontar.

Alguns sites legais que eu consultei, além da documentação é claro:

http://satya-dba.blogspot.com.br/2012/02/ggsci-goldengate-command-interpreter.html
http://www.juliandyke.com/Blog/?p=301
https://blogs.oracle.com/imc/entry/oracle_goldengate_configuring_ddl_replication
http://www.juliandyke.com/Blog/?p=387
http://jianmingli.com/wp/?p=1532
http://www.profissionaloracle.com.br/gpo/artigo/banco-de-dados/53-golden-gate-instalacao-e-configuracao
http://flaviosoares.com/2011-05/goldengate-bidirecional-oracle-para-oracle/
http://http://gavinsoorma.com


Blogs ótimos que ajudaram demais. Podem ver que tem gente brazuca ai no meio. Visitem essas fontes, não só para o GG. Vale muito a pena.

E não podia esquecer de agradecer um cara que nem me conhece pessoalmente e que me ajudou demais, gente fina mesmo. Quem me "apresentou" a ele foi a Lilian Barroso (http://lilianbarroso.wordpress.com/). Régis Araujo, abraço e obrigado pela ajuda. Obrigado a Lilian também.

Até té té... 

Abraço
Mario

quinta-feira, 20 de junho de 2013

Backup RMAN - Alguns scripts

Boa tarde jovens.

Vou postar aqui um script de backup (e suas variações) que está mais que testado e que me ajuda bastante quando preciso fazer algo rápido e manual.

==================
-- Backup
==================
rman target / << EOF
run {
    allocate channel d1 type disk MAXPIECESIZE 8G;
    SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
    SQL 'ALTER SYSTEM CHECKPOINT';
    backup AS COMPRESSED BACKUPSET format '/backups/PROD/%d_%Y%M%D_%I_%s_%U.dat' database;
    sql 'alter system archive log current';
    backup AS COMPRESSED BACKUPSET format '/backups/PROD/%d_%Y%M%D_%I_%s_%U.dat' archivelog all;
    release channel d1;
}
exit;
EOF


==================
-- Backup deletando archives e backupsets
==================
rman target / <

run {
    allocate channel d1 type disk MAXPIECESIZE 8G;
    SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
    SQL 'ALTER SYSTEM CHECKPOINT';
    backup AS COMPRESSED BACKUPSET format '/backups/PROD/%d_%Y%M%D_%I_%s_%U.dat' database;
    sql 'alter system archive log current';
    backup AS COMPRESSED BACKUPSET format '/backups/PROD/%d_%Y%M%D_%I_%s_%U.dat' archivelog all;
    DELETE NOPROMPT ARCHIVELOG UNTIL TIME 'SYSDATE-5';
    DELETE NOPROMPT OBSOLETE DEVICE TYPE DISK;
    release channel d1;
}
exit;
EOF

========================
-- Backup somente de archives
========================
rman target / <

run {
    allocate channel d1 type disk MAXPIECESIZE 8G;
    SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
    SQL 'ALTER SYSTEM CHECKPOINT';
    backup AS COMPRESSED BACKUPSET format '/backups/PROD/%d_%Y%M%D_%I_%s_%U.dat' archivelog all;
    release channel d1;
}
exit;
EOF

Simples e objetivo caso precise rodar algo manualmente.

Abraço
Mario

Formatação de nome de backuppieces do RMAN

Olá pessoal.

Mais uma da séria "Vou postar aqui para não precisar pesquisar depois".

Strings utilizadas para identificar um backuppeace no RMAN.

Syntax:
  %c  The copy number of the backup piece within a set of duplexed backup pieces. If you did not duplex a backup, then this variable is 1 for backup sets and 0 for proxy copies. If one of these commands is enabled, then the variable shows the copy number. The maximum value for %c is 256.

  %d  The name of the database.

  %D  The current day of the month (in format DD)

  %F  Combination of DBID, day, month, year, and sequence into a unique and repeatable generated name.

  %M  The month (format MM)

  %n  The name of the database, padded on the right with x characters to a total length of eight characters. (AKA: Porn star alias name). For example, if the scott is the database name, %n= scottxxx.

  %p  The piece number within the backup set. This value starts at 1 for each backup set and is incremented by 1 as each backup piece is created. Note: If you specify PROXY, then the %p variable must be included in the FORMAT string either explicitly or implicitly within %U.

  %s  The backup set number. This number is a counter in the control file that is incremented for each backup set. The counter value starts at 1 and is unique for the lifetime of the control file. If you restore a backup         control file, then duplicate values can result. Also, CREATE CONTROLFILE initializes the counter back to 1.

  %t  The backup set time stamp, which is a 4-byte value derived as the number of seconds elapsed since a fixed reference time. The combination of %s and %t can be used to form a unique name for  the backup set.

  %T  The year, month, and day (YYYYMMDD)

  %u  An 8-character name constituted by compressed representations of the backup set number and the time the backup set was created.

  %U  A convenient shorthand for %u_%p_%c that guarantees uniqueness in generated backup filenames.
      If you do not specify a format, RMAN uses %U by default.

  %Y  The year (YYYY)

  %%  Specifies the '%' character. e.g. %%Y translates to %Y.

Eu geralmente utilizo: %d_%Y%M%D_%I_%s_%U.rman

Abraço
Mario

quinta-feira, 7 de junho de 2012

Problemas em clonagem EBS R12 - FNDCPASS

Boa noite jovens

Essa semana estava realizando um clone de um EBS R12 e ocorria sempre o erro abaixo na clonagem da aplicação.

Quem trabalha com EBS sabe que é normal termos vários clones em uma mesma máquina. E isso estava me atrapalhando...

O erro:
---------------------------------------------------------------
                   ADX Database Utility
---------------------------------------------------------------
getConnectionUsingAppsJDBCConnector() -->
    APPS_JDBC_URL='null'
    Trying to get connection using SID based connect descriptor
getConnection() -->
    sDbHost    : SERVIDOR
    sDbDomain  : zezinho.com.br
    sDbPort    : 1532
    sDbSid     : ERP
    sDbUser    : apps
    Trying to connect using SID...
getConnectionUsingSID() -->
    JDBC URL: jdbc:oracle:thin:@SERVIDOR.zezinho.com.br:1532:ERP
    Exception occurred: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
    Trying to connect using SID as ServiceName
getConnectionUsingServiceName() -->
    JDBC URL: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=SERVIDOR.zezinho.com.br)(PORT=1532))(CONNECT_DATA=(SERVICE_NAME=ERP)))
    Exception occurred: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
    Trying to connect using SID as ServiceName.DomainName
getConnectionUsingServiceName() -->
    JDBC URL: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=SERVIDOR.zezinho.com.br)(PORT=1532))(CONNECT_DATA=(SERVICE_NAME=ERP.zezinho.com.br)))
    Exception occurred: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
    Connection could not be obtained; returning null

-------------------ADX Database Utility Finished---------------
RC-00118: Error occurred during creation of database
Raised by oracle.apps.ad.clone.ApplyDatabase

Depois de pesquisar e verificar N possibilidades, a resolução do problema chegou a ser infantil mas que me fez perder algumas horas preciosas.

A solução: Simples, alterar o owner e direitos do arquivo abaixo:
cd /var/tmp/
chown oraerp:dba .oracle
chmod 777 .oracle

Achei legal passar isso aqui.

Passado esse problema, me deparo com outro problema na hora de fazer a alteração de senha do APPS pelo FNDCPASS. O comando executado era:
 
FNDCPASS apps/pass 0 Y system/pass SYSTEM APPLSYS newpass

Erro: Na verdade foram vários erros, mas o mais normal era esse:
    APP-FND-02704: Unable to alter user XXINT to change password.
    APP-FND-01564: ORACLE error 1403 in changepassword
    Cause: changepassword failed due to ORA-01403: no data found.
   
O problema é que tudo o que eu achei sobre esse erro não funcionou. Depois de muito verificar encontrei o erro.

No momento da clonagem (Aplicação e Banco), ao responder a pergunta abaixo eu errei e coloquei o nome do servidor com o domínio:

Target System Hostname (virtual or normal) [SERVIDOR] : SERVIDOR.zezinho.com.br

Isso fez com que o meu GLOBAL_NAME ficasse como ERP.zezinho.com.br. Não havia percebido ainda, mas a coluna NODE dos meus concurrent's também estavam todos detonados...

Enfim, para corrigir foi simples também:
    Alterei o meu global_name
    Executei FND_CONC_CLONE.SETUP_CLEAN para acertar o nome dos nodes dos concurrents
    Mandei um AUTOCONFIG na base e na aplicação
   
Pronto, tudo certo...

Abraço

sábado, 21 de abril de 2012

Desvendando o AdAdmin


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. Este é 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 neste manual, além de informações adicionais fornecidas pelo instrutor de um curso que fiz no final do ano chamado Adriano Master Penedo. Grande abraço Adriano.

O ADADMIN se encontra no diretório $AD_TOP/bin do servidor de aplicação. Vamos confirmar se ele está lá:

 
Lindo, ele está lá. Começamos bem :)

Antes de olharmos tela a tela esta 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”. Essa opção não será abordada aqui na nossa conversa, mas esta opção combinada com a opção “MENU_OPTION” é muito legal para a economia de tempo. 

Para atiçar a curiosidade, basta dizer que, ao invés de responder todas as perguntas que veremos abaixo para acesso ao ADADMIN, chamaríamos o mesmo com o parâmetro DEFAULTSFILE e o mesmo já abriria na janela desejada, sem necessidade das respostas e 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 não utilizando o  basta responder corretamente as perguntas abaixo para acessar a tela inicial.
No servidor de aplicação, executar: adadmin

Nesta 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:

Nesta 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 conferímos.

Lindo, muito lindo quando tudo da 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 ai 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 a executar tarefas de compilação/recompilação de arquivos da aplicação. Segue as opções:

Opção 1 ==> Compliar 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 automáticamente 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 (Loucura total se executar isso)
  • Forms de produtos específicos
  • Forms especíificos 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 (Loucura total se executar isso)
  • Reports de produtos específicos
  • Reports especíificos 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, estes 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 mante-los integros 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 susas respectivas bibliotecas. Essa 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 top's, 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 corversão.Esta opção tem uma sub-opção que permite efetuar uma busca por excecão antes de realizar a conversão real. Este é 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 ai. Até agora tudo tranquilo né. Nenhum bicho de sete cabeças pulou da tela, nada nos assustou, tudo funcionou lindamente. Vamos então continuar, agora entrando nas tarefas de banco de dados da AdAdmin, ou seja, o menu 3.




Neste menu é permitida a compilação de arquivos relativos ao banco de dados do EBS. Obviamente que existem outras formas de fazer o que estes menus nos oferecem, mas o ideal é que a ferramenta seja utilizada, sempre. Os menus são bem intuítivos 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 inverstigar o problema a fundo ao invés 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 intuítiva 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 relizar as manutenções necessárias nos arquivos e objetos de banco de dados do EBS. Aqui, como no menu 3 tudo é muito iintuítivo.



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//out/. Por se tratar de uma validação simples, pode ser executado sempre que necesá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 obletos 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ções, 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.

Ufaaaaaaaaa!! 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.

Postagem em destaque

[ORACLE] Useful scripts for the day-to-day life of a DBA (Part 3) - System metrics

Hello everyone.   Hope you're doing well! As I said here , I've created a repository on GITHUB to share some scripts that I like t...