Pular para o conteúdo
  • This topic has 4 replies, 3 voices, and was last updated 7 years ago by Avatar photoJosé Laurindo Chiappa.
Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #109025
    Avatar de airoospairoosp
    Participant

      Boa tarde pessoal,

      Alguém sabe como fazer para ler o conteúdo do arquivo de log gerado pelo expdp, para identificar se ocorreu algum erro?

      Banco 11g R2 ambiente Windows.

      Obrigado.

      Airton

      #109028
      Avatar de Glaucia BressanGlaucia Bressan
      Participant

        Se você pesquisar por ‘ORA-‘ em um arquivo de log do expdp, poderá ver os erros que ocorreram na exportação, porque eles serão listados como “ORA-XXXXX: descricao”

        #109029
        Avatar de airoospairoosp
        Participant

          Bom dia Glaucia,

          Agradeço a ajuda, você conhece alguma forma de ler o arquivo de log e fazer a pesquisa do “ORA-” conforme o que você falou?

          Obrigado.

          Airton

          #109030
          Avatar photoJosé Laurindo Chiappa
          Moderator

            Blz ? Então, o log gerado pelo expdp é um arquivo texto ** simples **, sem Formatação, E está gravado numa pasta do Servidor Oracle, então vc pode :

            a) SE tiver acesso ao Servidor Oracle (ou ao menos à pasta em questão) abrir ele num Editor de texto qualquer

            OU

            b) como qualquer outro arquivo-texto que está gravado no Servidor Oracle, se o executável do RDBMS Oracle tiver acesso vc pode escrever um programa PL/SQL que abra o arquivo via UTL_FILE

            OU

            c)como qualquer outro arquivo-texto que está gravado no Servidor Oracle, se o executável do RDBMS Oracle tiver acesso E SE vc tiver uma formatação que o arquivo segue (sim, no caso do log ele é gerado por linhas, esse é o formato dele) vc pode ler o conteúdo desse arquivo via SELECT indicando o arquivo como fonte de dados de uma EXTERNAL TABLE

            OU

            d) como qualquer outro arquivo-texto que está gravado num Servidor, vc pode Escrever um script de comandos e nele usar as Ferramentas de leitura e manipulação de arquivo-texto do seu Sistema Operacional : fosse Linux nós teríamos aqui uma gama muito maior (provavelmente faríamos no shell script um cat diretório/nomedoarquivo | grep -v “ORA-“, que significa ‘leia o arquivo e encontre as linhas que contém erros do RDBMS, que estão sempre no formato ORA-xxx descrição curta do erro’), mas no Windows é um pouco mais “difícil”, não tem muita coisa nativa já “pronta”, suas opções no Windows seriam :

            1. se vc tem aí na Empresa um conhecedor/especialista em PowerShell, vc pode usar a linguagem de programação do prompt de comandos do Powershell para ler o arquivo e buscar linhas que comecem com a string “ORA-” , dá uma googlada que vc deve achar uns exemplos

              ou

            2. escrever um script .BAT ou .CMD que rode pelo DOS e abra o arquivo e procure pela string em questão, provavelmente usando o comando FIND

              ou

            3. baixar e instalar uma versão para Windows dos utilitários de texto unix-like, como awk, grep e etc, eu costumo usar para isso o CygWin : não é Obrigatório se fazer isso (as outras alternativas acima podem ser usadas) mas pra mim que já estou Acostumado com eles é uma opção que me agrada….

            []s

            Chiappa

            OBS : como o expdp é uma ferramenta de linha de comando eu IMAGINO que vc já deve ter escrito algum tipo de shell script/script de comandos para o executar via Agendamento se esta tarefa é Rotineira : nesse caso as opções de manipulação via shell script/script de comando, EXTERNAS ao database, creio que seriam as melhores para vc…

            #109031
            Avatar photoJosé Laurindo Chiappa
            Moderator

              Ah, detalhe adicional importante : se hoje teu export já está Programado/agendado para rodar sem intervenção/digitação de um operador humano, se vc usar a opção de ler o arquivo de log e procurar por linhas contendo erros ORA-nnnn dentro de shell script/script de comandos, O QUE vc quer fazer quando encontrar uma linha dessas, sinalizando que houve algum erro/warning na exportação : exibir na tela ? Mandar um email (mais provável, se não há Operador executando a rotina) ??
              Se for email, AFAIK no Windows não há um client de email text-mode que rode em prompt de comando, vc terá que OU baixar um (o mais popular/conhecido se chama BLAT, mas https://www.raymond.cc/blog/sending-email-using-command-line-useful-for-downtime-alert-notification/ lista alguns a mais) OU que escrever um seu, via Powershell (https://www.howtogeek.com/120011/stupid-geek-tricks-how-to-send-email-from-the-command-line-in-windows-without-extra-software/ exemplifica)….

              []s

              Chiappa

            Viewing 5 posts - 1 through 5 (of 5 total)
            • You must be logged in to reply to this topic.
            plugins premium WordPress