Tempo aproximado para leitura: 00:06:00 min
Dúvida
Como identificar se existem objetos inválidos no banco de dados utilizado pelo Monitor (PDV) ou pelo Consinco (ERP)?
Ambiente
Monitor de PDVs - Aplicável para todas as versões.
Solução
Quando for necessário verificar a existência de objetos inválidos no banco de dados, é possível utilizar uma ferramenta de acesso ao Oracle, como o PL/SQL Developer, para realizar essa análise.
Antes de acessar o banco, recomenda-se acionar ou envolver o DBA do cliente para acompanhar ou executar análises no ambiente.
Passo 1. Consulte as informações do banco no AcruxUpdate
Abra o aplicativo AcruxUpdate.
Na tela Principal, clique em Configuração.
Informe a senha utilizada para acessar a configuração do aplicativo.
Importante: Por motivo de segurança a senha de acesso à configuração não será informada nesse artigo. - Acesse a aba Banco de dados.
Localize as informações apresentadas pelo aplicativo. Exemplo:
Nessa tela, serão apresentadas informações que ajudam a identificar o ambiente, como:
- Owner do Monitor (PDV);
- Owner do Consinco (ERP);
- Nome do banco utilizado pelo serviço do PDV, também conhecido como apelido do banco ou alias.
Dica: o nome/apelido do banco é utilizado para identificar qual banco de dados deverá ser acessado para realizar a análise.
Passo 2. Identifique qual ambiente deve ser analisado
Utilize as informações apresentadas no AcruxUpdate para determinar o banco e o Owner que devem ser consultados.
- Para analisar o Monitor (PDV), utilize o Owner informado para o Monitor.
- Para analisar o Consinco (ERP), utilize o Owner informado para o Consinco.
Passo 3. Acesse o banco de dados
Com o nome/apelido do banco e o Owner identificados, utilize uma ferramenta de acesso ao banco de dados Oracle disponível no ambiente.
Uma das ferramentas que pode ser utilizada para essa análise é o PL/SQL Developer.
Ao realizar o acesso, confirme se o banco e o Owner correspondem às informações obtidas anteriormente no AcruxUpdate.
Passo 4. Verifique se existem objetos inválidos
Utilizando ainda o PL/SQL Developer de exemplo, Após realizar o login com o banco e o Owner corretos, siga os passos abaixo para verificar se existem objetos inválidos:
- No menu superior da ferramenta, clique na aba Tools (Ferramentas).
Selecione a opção Compile Invalid Objects (Compilar Objetos Inválidos).
Uma janela dedicada será aberta. Essa tela lista automaticamente todos os objetos que estão com status INVALID no banco de dados para o usuário conectado, exibindo o Nome (Name), o Tipo (Type) e a Data/Hora de Compilação (Compiled) de cada um.
Passo 5. Identifique os objetos e os erros de compilação (Exemplo Prático)
Ao abrir a tela Compile Invalid Objects, você poderá visualizar quais componentes do sistema apresentam falhas e a causa exata do erro:
Lista de Objetos Inválidos: No painel principal da tela, serão listados os objetos pendentes.
Exemplo da imagem: O objeto PKG_DFE do tipo PACKAGE BODY está listado como inválido.
Identificação do Erro: Ao selecionar o objeto na lista (ou tentar recompilá-lo clicando no botão de execução/recompilação), o PL/SQL Developer exibirá a mensagem de erro retornada pelo banco Oracle no painel inferior.
Exemplo da imagem: O painel exibe a linha e o código do erro do compilador: PLS-00103: Encountered the symbol "END" when expecting one of the following....
O que fazer após identificar o objeto e o erro:
Ao levantar essas informações (Nome do objeto, Tipo, Owner e Mensagem de Erro Oracle PLS-xxxxx), valide a origem do objeto:
Se for um objeto padrão TOTVS (Monitor / Consinco):
Registre os prints da tela de compilação e as mensagens de erro detalhadas.
Encaminhe a evidência para o Suporte técnico TOTVS para análise e envio da correção/pacote oficial da aplicação.
Se for um objeto de terceiros ou customizado do cliente (não padrão TOTVS):
Encaminhe as evidências para o DBA do cliente (ou responsável interno do ambiente) para validação e correção do código-fonte.
Importante
- Consulte primeiro o AcruxUpdate para identificar o banco e os Owners corretos.
- Para facilitar o entendimento, considere o alias como o nome ou apelido utilizado para identificar o banco de dados.
- Confirme se a análise será realizada no Monitor (PDV) ou no Consinco (ERP).
- Não presuma que o Owner do Monitor seja o mesmo do Consinco.
- Um objeto inválido não significa necessariamente que ele seja a causa do problema.
- Se houver vários objetos inválidos, registre os nomes para facilitar a análise.
- Não altere o código de procedures, functions, packages ou triggers apenas para tentar eliminar o status INVALID.
- Em caso de dúvida sobre a recompilação, principalmente em produção, siga o procedimento interno do ambiente ou acione o responsável pelo banco de dados.
0 Comentários