Re: RES: [oracle_br] Re: ORA-19870: error reading backup piece

2017-04-27 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Blz, menos mal que foi algo temporário : pelo jeito vc tinha espaço livre o 
suficiente quando o restore começou, mas aí quando o sysadmin começou a 
manutenção dele foi consumindo, consumindo até se esgotar, E por pura e cega 
sorte o espaço acabou exatamente quando o Oracle tava gravando algum bloco 
vazio, por isso não corrompeu o bloco imediatamente anterior e por isso o DBV 
não achou nada... OK, faz sentido...
 Como não tem como a gente adivinhar daqui, eu costumo expor/apontar as 
principais possibilidades, por isso a enxurrada, okdoc ?
 
 Fico contente de poder ter te ajudado...
 
 []s
 
   Chiappa

RES: [oracle_br] Re: ORA-19870: error reading backup piece

2017-04-27 Por tôpico 'Ednilson Silva' ednilson.si...@jbs.com.br [oracle_br]
Chiappa,

Muito obrigado pela enxurrada de informações.

Era espaço em disco, um sysadmin estava fazendo uma manutenção e não sabia que 
eu estava fazendo um restore na maquina.

 

Grato,

Ednilson

 

De: 
sentto-1682896-121787-1493307270-ednilson.silva=jbs.com...@returns.groups.yahoo.com
 
[mailto:sentto-1682896-121787-1493307270-ednilson.silva=jbs.com...@returns.groups.yahoo.com]
 Em nome de jlchia...@yahoo.com.br [oracle_br]
Enviada em: quinta-feira, 27 de abril de 2017 12:34
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Re: ORA-19870: error reading backup piece

 

  

Blz ? Então, a msg tá clara :

"ORA-19502: write error on file "/d01/oradata/maxprod/maximo_index02.dbf", 
blockno 969249"

ou seja, o SO reportou um erro ao gravar ** exatamente esse bloco ** desse 
datafile As CAUSAS para o erro podem ser as mais diversas, desde simples 
falta de espaço (cfrme reportado em 
https://juniororacledba.wordpress.com/2011/08/02/oracle-ora-19502-ora-27072-during-rman-backup/),
 Permissões (no filesystem E/OU em diretórios ou mesmo em arqs), falta de 
Recursos no Linux (cada arquivo a ser criado VAI exigir um file handle para a 
criação, VAI consumir um i-node no seu SO, ** confira ** como estão seus 
ulimits e consumo de recursos do SO), pode ser corrupção no sistema de arquivos 
(digamos, o setor de disco onde esse tal block reside por falha não está 
registrado no filesystem como ocupado pelo arquivo em questão), ** OU ** (a 
pior hipótese, portanto a primeira em que se pensa) Pode Ser que realmente tá 
com uma falha física nesse ponto desse disco E antes que vc pergunte SIM, 
pode ser que o DBV não pegou a falha porque (digamos) o bloco em questão estava 
vazio/sem dados, ou talvez a falha era na lista de i-nodes que compõem o tal 
arquivo e o DBV ** não ** faz uma leitura abrindo o arquivo mas sim leitura 
direta no bloco via métodos similares ao DD, OU ainda o espaço em disco/tamanho 
máximo do arquivo permitido foi suficiente para gravar a  parte com dados do 
arquivo, a parte que não gravou estava sem dados.

 Então o que vc TEM que fazer aí está claro :

 a) checar espaço em disco via df e similares, CONFIRMANDO que há espaço 
suficiente pra criar o arquivo em disco

 b) conferir via ls o tamanho real criado do arquivo, validando que ele está 
com o tamanho que deveria

 c) junto com o seu sysadmin, conferir para quanto estão setados os limites do 
usuário e do sistema (via ulimit, parâmetros de kernel, etc) E conferir o 
quanto está sendo consumido (via lsof e similares), para COMPROVAR que há 
recursos e limites livres suficientes para criar os arquivos, etc

 d) fazer uma CHECAGEM DE ESTRUTURA nesse filesystem, normalmente com fsck ou 
se não com o utilitário adequado que vc tiver

 e) verificar que as permissões e/ou opções de montagem todas do filesystem, 
diretório e sub-diretórios estão Adequadas
 
 f) fazer uma checagem ** física ** no(s) disco(s) desse filesystem, com o 
utilitário não-destrutivo que vc tiver 
 
 Essas tasks devem te dar algum indício de qual está sendo seu problema...
 
[]s

  Chiappa





[oracle_br] Re: ORA-19870: error reading backup piece

2017-04-27 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Um outro ponto adicional : além de *** TODAS *** essas verificações que vc vai 
TER SIM que fazer, como vc diz que fez um :

select * from V$DATABASE_BLOCK_CORRUPTION;

como vc diz que ainda não restaurou todos os datafiles necessários (então não é 
possível ainda Abrir esse database), mas para poder estar com esse database ao 
menos montado e poder fazer consulta do tipo eu Entendo que vc já tinha 
conseguido ao menos restaurar a tablespace SYSTEM e os controlfiles/initfile ou 
spfile além dessa tal indexnãoseidasquantas, correto ?
 Sendo isso eu diria :

 1. veja lá se o RDBMS gerou trace ou dump files, potencialmente mais info 
sobre possíveis pontos de corrupção e/ou misconfigs podem existir neles

 2.  não tenho certeza absoluta (e não estou com um db aqui pra testar) mas 
iirc nesse ponto de banco Montado é Sim Perfeitamente possível se rodar os 
checks do RMAN (seja VALIDATE de datafile, seja algum tipo de BACKUP 
VALIDATE)
 
 3. Vale ** muito ** a pena vc baixar limpamente esse banco que está em MOUNT 
com SHUTDOWN IMMEDIATE e rodar o DBV com o banco DESLIGADO TOTALMENTE : nessa 
situação, como o banco está indisponível, vc tem Total Certeza que o RDBMS não 
está lendo o datafile por extents, mas sim está REALMENTE abrindo o arquivo no 
SO, e portanto TALVEZ pegando alguma inconsistência no filesystem

 4.  Outra coisa que vc pode pensar em fazer é, se a maioria dos datafiles já 
tão restaurados, é copiar eles (e os controlfiles, archives se vc os tem/se for 
backup hot, e tudo o mais)  prum outro ponto, remover do controlfile os 
datafiles que ainda não estão restaurados e ABRIR mesmo esse database, aí vc 
poderá usar as opções de verificação e validação ONLINE, como export, ANALYZE 
VALIDATE, etc...
  Nesse mesmo ambiente cópia, vc pode tentar escrever um programinha (tipo 
http://www.tenouk.com/cpluscodesnippet/readwritetextfile.html, ou em alguma 
outra linguagem que conheça) que abra o arquivo, leia fisicamente o tal bloco e 
depois grave nele, para tentar pegar algum erro de disco...
  
  []s
  
Chiappa

[oracle_br] Re: ORA-19870: error reading backup piece

2017-04-27 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Blz ? Então, a msg tá clara :

"ORA-19502: write error on file "/d01/oradata/maxprod/maximo_index02.dbf", 
blockno 969249"

ou seja, o SO reportou um erro ao gravar ** exatamente esse bloco ** desse 
datafile As CAUSAS para o erro podem ser as mais diversas, desde simples 
falta de espaço (cfrme reportado em 
https://juniororacledba.wordpress.com/2011/08/02/oracle-ora-19502-ora-27072-during-rman-backup/),
 Permissões (no filesystem E/OU em diretórios ou mesmo em arqs), falta de 
Recursos no Linux (cada arquivo a ser criado VAI exigir um file handle para a 
criação, VAI consumir um i-node no seu SO, ** confira ** como estão seus 
ulimits e consumo de recursos do SO), pode ser corrupção no sistema de arquivos 
(digamos, o setor de disco onde esse tal block reside por falha não está 
registrado no filesystem como ocupado pelo arquivo em questão), ** OU ** (a 
pior hipótese, portanto a primeira em que se pensa) Pode Ser que realmente tá 
com uma falha física nesse ponto desse disco E antes que vc pergunte SIM, 
pode ser que o DBV não pegou a falha porque (digamos) o bloco em questão estava 
vazio/sem dados, ou talvez a falha era na lista de i-nodes que compõem o tal 
arquivo e o DBV ** não ** faz uma leitura abrindo o arquivo mas sim leitura 
direta no bloco via métodos similares ao DD, OU ainda o espaço em disco/tamanho 
máximo do arquivo permitido foi suficiente para gravar a  parte com dados do 
arquivo, a parte que não gravou estava sem dados.

 Então o que vc TEM que fazer aí está claro :

 a) checar espaço em disco via df e similares, CONFIRMANDO que há espaço 
suficiente pra criar o arquivo em disco

 b) conferir via ls o tamanho real criado do arquivo, validando que ele está 
com o tamanho que deveria

 c) junto com o seu sysadmin, conferir para quanto estão setados os limites do 
usuário e do sistema (via ulimit, parâmetros de kernel, etc) E conferir o 
quanto está sendo consumido (via lsof e similares), para COMPROVAR que há 
recursos e limites livres suficientes para criar os arquivos, etc

 d) fazer uma CHECAGEM DE ESTRUTURA nesse filesystem, normalmente com fsck ou 
se não com o utilitário adequado que vc tiver

 e) verificar que as permissões e/ou opções de montagem todas do filesystem, 
diretório e sub-diretórios estão Adequadas
 
 f) fazer uma checagem ** física ** no(s) disco(s) desse filesystem, com o 
utilitário não-destrutivo que vc tiver 
 
 Essas tasks devem te dar algum indício de qual está sendo seu problema...
 
[]s

  Chiappa