Ah, e um pontinho adicional : enquanto a root cause da corrupção não é 
descoberta, avalie a possibilidade de ativar os recursos de checksum de blocos 
do bd Oracle (ie, os parâmetros DB_BLOCK_CHECKING, DB_BLOCK_CHECKSUM e 
similares) - eles impõem um overhead, que pode ser até de uns 10% (depende do 
caso, vc Claro que tem um ambiente de Homologação e VAI testar lá primeiro pra 
ter uma idéia), mas isso certamente aumentaria Sensivelmente a sua 
confiabilidade enquanto está resolvendo a questão...

 []s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, José Laurindo <jlchiappa@...> escreveu
>
> Oi colega, seguem as respostas & alguns coments : 
> 
> >
> > 1- Se o RMAN só detecta problemas físicos, ele é útil para resolver
> > corrupções lógicas ?, ou seja, o rman continua sendo executado sem
> > problemas, se eu fizer um recvovery a partir deste backup, ele consegue
> > corrigir a tabela corrompida apenas no nível lógico?
> 
> veja lá : pra ser escrupulosamente Claro, o fato é que o RMAN por si só *** 
> NÃO *** resolve corrupção editando/corrigindo bloco, ele ** NÃO ** faz 
> análise alguma do bloco, ** NÃO ** checa formatação/cabeçalhos do bloco ... O 
> block recover NADA MAIS É do que  simplesmente LER de um backup anterior 
> (feito PRESUMIVELMENTE antes da corrupção) uma imagem anterior do bloco como 
> estava e em cima disso aplicar as alterações que houveram para esse bloco 
> (informação essa que consta nos ARCHIVED REDO LOGS), apenas isso ... Então no 
> seu caso, SE vc conseguir localizar um backup anterior à corrupção E tiver os 
> archived logs TODOS daí pra frente, blz, vc vai ter o bloco de volta...
>  SE vc achava que o RMAN faz/fazia algum tipo de correção LÓGICA no bloco, 
> pode despensar, ele é Físico, tannto é que se vc não tiver um backup feito 
> antes da corrupção (seja lógica ou física) é no soup for you, okdoc ?
>  Em termos de correção de bloco (digamos pra uma situação aonde vc não tem a 
> imagem anterior/backup do bloco antes da corrupção, ou não sabe exatamente 
> Quando a corrupção ocorreu) o máximo que vc pode fazer é usar o Block Browser 
> and Editor (BBED) pra correção manual, mas SEMPRE, claro, com a ajuda e 
> benção do Suporte Oracle...  E lógico, se possível se fazer o DROP e o 
> REBUILD (ou exportação/importação) dos objetos envolvidos também é outro 
> caminho totalmente possível, mas que fique Claro, mais uma vez estamos 
> RECONSTRUINDO o bloco, e NÂO corrigindo o bloco que já existia... 
> 
> 
> >
> > 2- Infelizmente não consigo rodar o dbv com a instância no ar, o AIX 6.1
> > com Oracle 10g e JSF2, está montando as partições onde estão os datafiles
> em
> > modo exclusivo, tenho que pedir para montar estas partições com a opção
> > -cio, já tenho a nota explicando isso;
> 
> Ah, ok : na verdade imagino que seja devido ao tipo de I/O solicitado durante 
> a montagem, cfrme as notas metalink "Dbv Can Not Access Online Datafiles If 
> Filesystemio_options=Setall Dbv-00100" [ID 360287.1] e "Direct I/O (DIO) and 
> Concurrent I/O (CIO) on AIX 5L" [ID 257338.1] , né ? Sim, isso é algo que 
> pode acontecer... Nesse caso, ENQUANTO vc não consegue uma janela pra alterar 
> isso, use as Outras opções online, como o ANALYZE, o DataPump, o export (se 
> vc conseguir contornar, com a ajuda do Suporte, o bug que vc relata estar 
> encontrando no export - o que eu Recomendo, é uma boa prática , como eu falei 
> antes, o bom do export é que ele exercita, usa mais o dicionário, mais do que 
> outras opções)... Há sempre também a possibilidade de vc rodar os scripts de 
> healthcheck internos da própria Oracle, como o hcheck na nota "hcheck.sql 
> script to check for known problems in Oracle8i, Oracle9i, Oracle10g and 
> Oracle 11g [ID 136697.1] - esses últimos, É Claro, sempre com a ajuda/Suporte 
> da Oracle....
> 
> >
> > 3- O brtools é a ferramenta da SAP para fazer entre outras coisas
> > backup/Restore de base de dados Oracle, inclusive integrado com o RMAN, como
> > no meu caso, mas não suporta todas as operações possíveis de se fazer como
> > no RMAN diretamente.
> 
> Colega, eu não uso / não conheço esse cara, vc teria que verificar com o 
> Suporte da SAP e/ou com pessoas que usem SAP, mas afaik DIFICILMENTE uma tool 
> de terceiros vai saber fazer TUDO que a tool do fabricante de bancos faz - 
> normalmente as "integrações" que vc cita são algo num nível mais básico, tipo 
> backup e restore simples, acho Difícil que a tal tool outra conheça/entenda 
> Tudo o mais que o RMAn faz , então eu Sugiro que para fazer uma operação de 
> manutenção interna de banco de dados, vc investigue seriamente a 
> possibilidade de usar a tool nativa do banco de dados (RMAN), no ambiente e 
> com a sintaxe recomendados pelo fabricante de banco.
> 
> >
> > 4- Já está aberta uma investigação como os administradores de
> > hardware/SO/Storage para identificarem o problema.
> 
> OK, eu só recomendo :
> 
> a. seja ESPECÍFICO , não adianta de PATAVINA vc virar pros caras e dizer "ó, 
> faz um check aí", vc TEM que Explicitamente dizer : recebi um erro de bloco 
> corrupto tal no arquivo tal do servidor tal no filesystem tal, bloco esse 
> usado pelo aplicativo banco de dados Oracle, que roda no account aix tal - 
> por favor, fazer análise RIGOROSA das mensagens do sistema, dos logs , dos 
> arqs de erro , etc, procurando por Evidências de falha no software 
> (SO/drivers/firmware) e/ou no hardware - e se vc souber o nome dos 
> utilitários aix referentes a isso (tais como dmesg, errpt, etc, etc) cite 
> também... 
>  Já pro pessoal que vai fazer o teste de hardware,novamente, seja Explícito : 
> explica/evidencia pra eles que vc RECEBEU a msg de bloco corrupto , E que o 
> software que vc usa (banco de dados Oracle) primeiro lê o bloco do disco, 
> depois o altera em memória , se preciso envia dados via rede pro cliente e 
> finalmente depois recebe eventuais dados e os gravam no bloco, que vai pro 
> disco :  assim sendo PODE SER que seja falha em disco corrompendo o que foi 
> lido/gravado, PODE SER que seja falha nalgum pente de memória, alterando 
> bits/bytes do que vai ser gravado, PODE SER que seja falha de rede, 
> enviando/recebendo algum bit/byte alterado... Por isso que vc quer um teste 
> PROFUNDO de hardware - esses softwares de teste de hardware fazem justamente 
> isso, gravam uma série determinada de bytes em cada posição da memória, 
> depois fazem gravações em disco, e conferem bit-a-bit o que foi 
> lido/gravado... No meu tempo de sysadmin AIX (com a venerável versão 4.x em 
> RISC) já vinha junto com o servidor um CD com softwares do tipo, aí bastava 
> vc bootar o server com ele em modo monousuário e seguir o menu : não sei como 
> está hoje, mas o que vc quer é isso, é um teste PROFUNDO comprovando que o 
> hardware está OK...
>   
> 
> b. se quiser vc pode instalar e rodar (até em modo ONLINE mesmo com bd ativo) 
> a tool Oracle chamada RDA, ela já faz a coleta dos logs todos do banco E da 
> maioria dos logs do SO, e apresenta depois isso numa página web bonitinha... 
> Checa no metalink que vc a acha... 
> 
> c. Outras tools Oracle que vc pode baixar do metalink são :
> 
>  => OSWatcher :  ele roda alguns comandos unix (tipo iostat, vmstat, sar) 
> automaticamente com a frequência que vc indicar e depois gera um relatório - 
> a idéia aqui é mais ter uma "carga programada", ter o servidor sendo medido 
> periodicamente , há chances de que eventuais bugs/falhas de hardware causem 
> diferenças nas medições... Não é chance grande mas a tool é de grátis e não 
> impõe quase nada de overhead, então é usar sem pensar duas vezes
>  
>  => Cluster Healthcheck : vc afaik não diz, mas se for RAC vc pode baixar & 
> usar esse cara, ele faz uma checagem geral do cluster - não é incomum vc ver 
> issues estranhas no banco por causa dalgum software externo que seja 
> requerido pela tua versão/ambiente/instalação, vale a checagem
>  
>   []s
>   
>     Chiappa
>     
> 
> --- Em oracle_br@yahoogrupos.com.br, "Carlos Alfredo M. Menezes" 
> <carlos.menezes@> escreveu
> >
> > Bom dia Chiappa e a todos da lista.
> > 
> > Obrigado pelas considerações, mas ainda estou com algumas dúvidas 
> > conceituais:
> > 
> > 1- Se o RMAN só detecta problemas físicos, ele é útil para resolver 
> > corrupções lógicas ?, ou seja, o rman continua sendo executado sem 
> > problemas, se eu fizer um recvovery a partir deste backup, ele consegue 
> > corrigir a tabela corrompida apenas no nível lógico?
> > 
> > 2- Infelizmente não consigo rodar o dbv com a instância no ar, o AIX 6.1 
> > com Oracle 10g e JSF2, está montando as partições onde estão os datafiles 
> > em modo exclusivo, tenho que pedir para montar estas partições com a opção 
> > -cio, já tenho a nota explicando isso;
> > 
> > 3- O brtools é a ferramenta da SAP para fazer entre outras coisas 
> > backup/Restore de base de dados Oracle, inclusive integrado com o RMAN, 
> > como no meu caso, mas não suporta todas as operações possíveis de se fazer 
> > como no RMAN diretamente.
> > 
> > 4- Já está aberta uma investigação como os administradores de 
> > hardware/SO/Storage para identificarem o problema.
> > 
> > Abraços.
> > 
> > Carlos Alfredo M. de Menezes
> > 
> > 
> > -----Mensagem original-----
> > De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em 
> > nome de José Laurindo
> > Enviada em: segunda-feira, 25 de abril de 2011 20:45
> > Para: oracle_br@yahoogrupos.com.br
> > Assunto: Re: RES: Res: [oracle_br] Corrupção de dados
> > 
> > Carlos, xo comentar em cima de alguns pontos :
> > 
> > - "Até onde eu sei, o rman faz uma verificação durante o backup e até então 
> > eu confiava exclusivamente nele para me reportar prováveis problemas de 
> > corrupção. "
> > 
> > => Bad, very Very Bad move, my friend : veja, o conceito do RMAN é que ele 
> > copia blocos do disco, então (é óbvio) ele verifica se o bloco foi lido 
> > corretamente, ele basicamente detecta corrupção FÍSICA portanto - se há 
> > corrupção lógica (ie, o bloco tá legível, mas digamos, por bug ou qquer 
> > problema o cabeçalho do bloco aponta prum lugar inválido, ou o dicionário 
> > de dados não registra um objeto corretamente, enfim) via de regra o RMAN 
> > **** não consegue **** detectar isso... É Por Isso que a nota-mãe do 
> > metalink sobre detecção de corrupção (Best Practices for Avoiding and 
> > Detecting Corruption , Doc ID 428570.1) Recomenda vc além do backup RMAN 
> > fazer um DBV, um ANALYZE de objetos (o ANALYZE é Totalmente Obsoleto pra 
> > coleta de estatísticas, mas COMPLETAMENTE necessário e válido para análise 
> > de estrutura de objetos), fazer um export... A idéia do export , inclusive, 
> > é exercitar o dicionário : como nós sabemos, o RMAN só quer copiar blocos 
> > dos datafiles(ele não se "interessa" se aquele bloco é da tabela x ou 
> > índice y, ele copia os blocos do datafile que está sendo backupeado), 
> > enquanto o export não, ele copia Tabelas e Schemas, então (obviamente) o 
> > export ao contrário Precisa consultar o dicionário pra "encontrar" as 
> > tabelas/índices/constraints/etc a copiar...
> > 
> > - "Realmente só pensei em fazer o dbv com a instância parada, mas como 
> > ainda não surgiu uma janela para tal operação, continuo na minha pesquisa."
> > 
> > => ok, um DBV offline sempre é legal, MAS enquanto não é possível, vc Sabe 
> > que é totalmente possível rodar um DBV online, com o banco Ativo ??? E 
> > óbvio, o export é online, os ANALYZEs são online, vc tem Sim várias opções 
> > pra check online...
> > 
> > - "Também pensei em fazer via RMAN o block recover, mas fiquei na dúvida se 
> > esse procedimento faz algum tipo de mídia recovery? Se tem algum impacto na 
> > disponibilidade do ambiente, e se eu posso fazer via brtools (é uma base 
> > SAP Solution Manager)."
> > 
> > => Sim, claro que o RMAN faz mídia recover, ele regrava BLOCOS : o conceito 
> > é Direto, o que o RMAN sabe/conhece basicamente é copiar e ler BLOCOS de 
> > datafiles... Indisponibilidade geral isso não acarreta, mas OBVIAMENTE no 
> > tempinho que levar pro RMAN localizar e ler da fita/disco/whatever o bloco 
> > que será regravado , o objeto em questão VAI ficar inacessível. 
> >  Quanto ao tal do brtools, não sei mas eu TOTALMENTE recomendo vc fazer 
> > recuperação de banco Oracle com as tools Oracle da maneira Recomendada pela 
> > Oracle - no caso do RMAN é usar em linha de comando o utilitário rman , com 
> > as variáveis ORACLE setadas, direitinho...
> >  
> >  
> > ==> E Ululantemente óbvio : corrupção absolutamente *** NUNCA *** acontece 
> > por si, do nada - nós estamos falando de banco Oracle aqui, não de 
> > Clipper/dBASE que a toda hora corrompia e vc tinha que fazer rebuild... Vc 
> > TEM QUE descobrir a Causa da corrupção (que necessariamente será um 
> > problema de Hardware - seja placa-mãe, placa de rede, I/O, memória -, OU um 
> > bug , seja bug no firmware/drivers, nos software de banco, e/ou no 
> > aplicativo...
> >  Assim, se o teu ambiente é Realmente crítico, vc TEM QUE agendar uma 
> > checagem PROFUNDA do teu hardware, com ferramentas de análise de baixo 
> > nível do hardware (NÂO É só rodar um fsck e achar que tá tudo bem), 
> > procurar nos logs/msgs do sistema/SO por falhas, E também abrir chamados no 
> > Suporte da Oracle, do aplicativo E do SO...
> >  
> >  []s
> >  
> >    Chiappa
> >    
> > 
> > --- Em oracle_br@yahoogrupos.com.br, "Carlos Alfredo M. Menezes" 
> > <carlos.menezes@> escreveu
> > >
> > > Colega,
> > > Realmente só pensei em fazer o dbv com a instância parada, mas como ainda 
> > > não surgiu uma janela para tal operação, continuo na minha pesquisa. Fiz 
> > > vários SQL´s e todos retornam normalmente as linhas, isso é que está me 
> > > perturbando, se tentar fazer o export, dá o erro que comentei. Estou 
> > > pensando em reiniciar a instância, me parece que tem algum BUG a respeito.
> > > 
> > > Também pensei em fazer via RMAN o block recover, mas fiquei na dúvida se 
> > > esse procedimento faz algum tipo de mídia recovery? Se tem algum impacto 
> > > na disponibilidade do ambiente, e se eu posso fazer via brtools (é uma 
> > > base SAP Solution Manager).
> > > 
> > > Att,
> > > 
> > > Carlos Alfredo M. de Menezes
> > > Analista de Suporte Sr.
> > > (82) 3217-2828 / 9921-0603
> > > 
> > > 
> > > 
> > > -----Mensagem original-----
> > > De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] 
> > > Em nome de Marcus Pavan Enviada em: segunda-feira, 25 de abril de 2011 
> > > 18:37
> > > Para: oracle_br@yahoogrupos.com.br
> > > Assunto: Res: Res: [oracle_br] Corrupção de dados
> > > 
> > > Carlos, boa tarde.
> > > 
> > > 
> > > Faça um SELECT na tabela, verifique se retorna as informações.
> > > Caso o erro persista e você tenha um BACKUP pelo RMAN, use o BLOCK 
> > > RECOVER para recuperar este bloco.
> > > O DBV pode ser executado, porém prefiro executá-lo com o datafile em OFF, 
> > > na versão 11g já está mais seguro a execução com ele online.
> > > 
> > > 
> > > Atenciosamente,
> > > 
> > >  Marcus Pavan.
> > > 
> > > 
> > > 
> > > 
> > > ________________________________
> > > De: MARCIO CASTRO <marciomouracastro@>
> > > Para: oracle_br@yahoogrupos.com.br
> > > Enviadas: Segunda-feira, 25 de Abril de 2011 17:29:20
> > > Assunto: Res: [oracle_br] Corrupção de dados
> > > 
> > >   
> > > Carlos; você poderia utilizar o dbv no datafile/segmento? Também retorna 
> > > erro?
> > > 
> > > ________________________________
> > > De: Carlos Alfredo M. Menezes <carlos.menezes@>
> > > Para: "oracle_br@yahoogrupos.com.br" <oracle_br@yahoogrupos.com.br>
> > > Enviadas: Segunda-feira, 25 de Abril de 2011 18:18:16
> > > Assunto: [oracle_br] Corrupção de dados
> > > 
> > > Caros boa noite,
> > > Recebi aquele conhecido erro de corrupção:
> > > 
> > > Corrupt block relative dba: 0x0183f103 (file 6, block 258307) Bad header 
> > > found during buffer read Data in bad block:
> > > type: 2 format: 2 rdba: 0x00806981
> > > last change scn: 0x0000.0408ab74 seq: 0x27 flg: 0x04
> > > spare1: 0x0 spare2: 0x0 spare3: 0x0
> > > consistency value in tail: 0xab740227
> > > check value in block header: 0x617a
> > > computed block checksum: 0x0
> > > Reread of rdba: 0x0183f103 (file 6, block 258307) found valid data
> > > 
> > > Rodei o sql:
> > > select segment_name,segment_type,owner from sys.dba_extents where 
> > > file_id=(6) and (258307) between block_id and block_id + blocks -1;
> > > 
> > > Identifiquei o segmento afetado, no caso uma tabela. 
> > > 
> > > O curioso é que o comando analyze table xxx validate structure continua 
> > > dando: 
> > > ORA-08103: object no longer exists. O mesmo acontece com o exp. Mas o 
> > > backup via
> > > 
> > > rman não reporta nenhum problema. Até onde eu sei, o rman faz uma 
> > > verificação durante o backup e até então eu confiava exclusivamente 
> > > nele para me reportar prováveis problemas de corrupção. Ainda não 
> > > reiniciei a instância para tentar um
> > > 
> > > novo analyze table xxx validate structure.
> > > 
> > > Alguém tem uma sugestão de reparo, aparentemente o Recovery a partir do 
> > > backup via rman após o problema, mesmo ele executando normalmente, pode 
> > > não ser confiável.
> > > 
> > > Detalhes da versão:
> > > Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi PL/SQL 
> > > Release 10.2.0.4.0 - Production
> > > CORE    10.2.0.4.0      Production
> > > TNS for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Productio 
> > > NLSRTL Version 10.2.0.4.0 - Production
> > > 
> > > Abraços a todos.
> > > 
> > > Att,
> > > Carlos Alfredo
> > > Carlos Alfredo M. de Menezes
> > > Analista de Suporte Sr.
> > > (82) 3217-2828 / 9921-0603
> > > 
> > > [As partes desta mensagem que não continham texto foram removidas]
> > > 
> > > 
> > >  
> > > 
> > > [As partes desta mensagem que não continham texto foram removidas]
> > > 
> > > 
> > > 
> > > ------------------------------------
> > > 
> > > ----------------------------------------------------------------------
> > > ----------------------------------------------------
> > > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de 
> > > >inteira responsabilidade de seus remetentes.
> > > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> > > ----------------------------------------------------------------------
> > > ----------------------------------------------------
> > > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » 
> > > >Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO 
> > > >ESPAÇO! VISITE: http://www.oraclebr.com.br/
> > > ----------------------------------------------------------------------
> > > -------------------------------------------------- Links do Yahoo! 
> > > Grupos
> > >
> > 
> > 
> > 
> > 
> > ------------------------------------
> > 
> > --------------------------------------------------------------------------------------------------------------------------
> > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de 
> > >inteira responsabilidade de seus remetentes.
> > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> > --------------------------------------------------------------------------------------------------------------------------
> > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » 
> > >Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO 
> > >ESPAÇO! VISITE: http://www.oraclebr.com.br/
> > ------------------------------------------------------------------------------------------------------------------------
> >  Links do Yahoo! Grupos
> >
>


Responder a