- This topic has 4 replies, 3 voices, and was last updated 7 years ago by José Laurindo Chiappa.
-
AuthorPosts
-
21 de outubro de 2017 at 12:03 am #109025airoospParticipant
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
23 de outubro de 2017 at 3:04 pm #109028Glaucia BressanParticipantSe 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”
23 de outubro de 2017 at 3:34 pm #109029airoospParticipantBom 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
23 de outubro de 2017 at 3:36 pm #109030José Laurindo ChiappaModeratorBlz ? 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 :
- 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
-
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
-
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…
23 de outubro de 2017 at 3:50 pm #109031José Laurindo ChiappaModeratorAh, 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
- 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
-
AuthorPosts
- You must be logged in to reply to this topic.