Re: RES: RES: RES: Res: [oracle_br] Corrupção de dados
Procurei no metalink por OSg e nao achei nada sobre a aplicacao. Teria o nome completo do produto ? Em 28 de abril de 2011 14:11, José Laurindo escreveu: > > > Sim, ele vai ficar em background, coletando, até vc rodar o script de stop > : no seu caso, como vc especificou, ele vai acordar a cada 60 segundos, > fazer uma coleta, voltar a dormir, coletar 60 segundos depois, e assim por > diante, enquanto vc não rodar o script de stop. Como vc especificou 24 horas > de armazenamento, quando vc rodar o script de stop vc vai ver que apenas os > resultados das últimas 24h vão estar registrado. > O legal acho que é vc ter uma coleção de coletas de um dia sem usuários > (tipo um Sábado/domingo), um de um dia normal de uso, uma outra de um dia de > uso mais intenso (tipo, um fechamento de mês, sei la´) e aí vc comparar um > com o outro - com o OSg (busque no metalink) vc pode inclusive gerar > gráficos com a informação, ao invés de simplesmente comparar números... > > []s > > Chiappa > > > --- Em oracle_br@yahoogrupos.com.br, Márcio Ricardo Alves da Silva > escreveu > > > > > Chiappa, > > > > peguei as suas dicas de "monitoramento" do ambiente e estou implantando > no meu banco, Release 10.2.0.5 (por enquanto homologação), HP-UX 11.23B. > > > > Primeiramente coloquei o OSWATCHER, coloquei os parâmetros com 60 > segundos e ficar armazenado 24 horas. > > # ./startOSW.sh 60 24 > > # > > > > Testing for discovery of OS Utilities... > > > > VMSTAT found on your system. > > IOSTAT found on your system. > > MPSTAT found on your system. > > NETSTAT found on your system. > > TOP found on your system. > > > > Discovery completed. > > > > Starting OSWatcher v3.0.1 on Thu Apr 28 11:11:50 SAT 2011 > > With SnapshotInterval = 60 > > With ArchiveInterval = 24 > > > > OSWatcher - Written by Carl Davis, Center of Expertise, Oracle > Corporation > > > > Starting Data Collection... > > > > osw heartbeat:Thu Apr 28 11:11:50 SAT 2011 > > osw heartbeat:Thu Apr 28 11:12:50 SAT 2011 > > osw heartbeat:Thu Apr 28 11:13:50 SAT 2011 > > osw heartbeat:Thu Apr 28 11:14:50 SAT 2011 > > osw heartbeat:Thu Apr 28 11:15:50 SAT 2011 > > osw heartbeat:Thu Apr 28 11:16:50 SAT 2011 > > osw heartbeat:Thu Apr 28 11:17:50 SAT 2011 > > osw heartbeat:Thu Apr 28 11:18:51 SAT 2011 > > > > Ele está dessa maneira, ele fica rodando assim ou fica em background? > > > > Grato, > > Márcio. > > - Original Message - > > From: José Laurindo > > To: oracle_br@yahoogrupos.com.br > > Sent: Tuesday, April 26, 2011 7:12 PM > > Subject: Re: RES: RES: RES: Res: [oracle_br] Corrupção de dados > > > > > > > > OK : cheque então os ** outros ** parãmetros de checksum de banco, se els > estão Ativos ou não, e se Podem (se o SAP deixa eles ) serem Ativados : se > não pode, não pode > > De resto é o que eu falei nas outras msgs : fazer as checagens online > possíveis, instalar/rodar os utilitários de banco que indiquei, E continuar > com o trabalho de check de harwadre E de software, em todos os níveis (ie, > fornecedores de hardware, admins de SO, Suporte de banco, e de Aplicação) > > > > > []s > > > > Chiappa > > > > --- Em oracle_br@yahoogrupos.com.br, "Carlos Alfredo M. Menezes" > escreveu > > > > > > Chiappa, > > > > > > O parâmetro db_block_checksum é ativado por default no SAP, como disse, > ele trabalha com parâmetros muito específicos, tem inclusive um relatório > que checa se os parâmetros corretos estão ativados, mostra os que devem ser > desativados, etc. Esse relatório roda com um arquivo de script que é > atualizado mensalmente pela SAP. Como disse é muito diferente de outros > sistemas que já trabalhei. > > > > > > > > > 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: terça-feira, 26 de abril de 2011 18:22 > > > Para: oracle_br@yahoogrupos.com.br > > > Assunto: Re: RES: RES: Res: [oracle_br] Corrupção de dados > > > > > > 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,
Re: RES: RES: Res: [oracle_br] Corrupção de dados
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 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í",
Re: RES: RES: Res: [oracle_br] Corrupção de dados
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,
Re: RES: RES: Res: [oracle_br] Corrupção de dados
cara posso estar falando besteira, mas vc ja deu um select na dba_objects?? tem esse objeto?? pq o erro que ta dando, objeto inexistente, entao acho q ele nao ta encontrando no dicionario. Posso estar falando besteira. Me corrijam se eu estiver errado. Em 26 de abril de 2011 11:22, Eliandro Jakubski escreveu: > > > Colega, > > o teste que funcionou "select sum(modno) from sapsr3.snap;" deve estar > utilizando um índice. > Verifique se existe um índice sobre esse campo (embora isso não resolva o > seu problema!) > > > > > > De: > "Carlos Alfredo M. Menezes" > Para: > "oracle_br@yahoogrupos.com.br" > Data: > 26/04/2011 11:17 > Assunto: > RES: RES: Res: [oracle_br] Corrupção de dados > > > > > Colega, > Esse teste não tinha feito, tentei e nada, veja um que consigo e o que dá > erro: > > SQL> desc sapsr3.snap > Name Null? Type > - > > DATUM NOT NULL VARCHAR2(24) > UZEIT NOT NULL VARCHAR2(18) > AHOST NOT NULL VARCHAR2(96) > UNAME NOT NULL VARCHAR2(36) > MANDT NOT NULL VARCHAR2(9) > MODNO NOT NULL NUMBER(10) > SEQNO NOT NULL VARCHAR2(9) > XHOLD NOT NULL VARCHAR2(3) > FLIST NOT NULL VARCHAR2(600) > FLIST02 NOT NULL VARCHAR2(600) > FLIST03 NOT NULL VARCHAR2(600) > FLIST04 NOT NULL VARCHAR2(600) > FLIST05 NOT NULL VARCHAR2(600) > FLIST06 NOT NULL VARCHAR2(600) > FLIST07 NOT NULL VARCHAR2(600) > FLIST08 NOT NULL VARCHAR2(600) > > SQL> select sum(modno) from sapsr3.snap; > > SUM(MODNO) > -- > 24022 > > SQL> create table teste as select * from sapsr3.snap; > create table teste as select * from sapsr3.snap > * > ERROR at line 1: > ORA-08103: object no longer exists > > 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 Marcelo Cauduro > Enviada em: terça-feira, 26 de abril de 2011 11:11 > Para: oracle_br@yahoogrupos.com.br > Assunto: Re: RES: Res: [oracle_br] Corrupção de dados > > Você menciona que os selects retornam ok, então você consegue dar um: > > CREATE TABLE TESTE AS > SELECT * FROM XX; > > 2011/4/26 Carlos Alfredo M. Menezes > > > > > > > Não colega, tentativa de export também dá o mesmo erro. Mas tentei > > vários SQL´s nesta mesma tabela e todos retornam sem problemas. Curioso. > > > > 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 David Ricardo Enviada em: terça-feira, 26 de abril de 2011 > > 11:00 > > Para: oracle_br@yahoogrupos.com.br > > Assunto: Re: RES: Res: [oracle_br] Corrupção de dados > > > > Carlos, > > Você consegue exportar essa tabela apenas? > > > > Caso consiga exporta-la por completo, sugiro que o faça e recrie-a , > > para que ele realoque o objeto em outro segement block. > > > > Abraço > > > > Em 26 de abril de 2011 10:52, Carlos Alfredo M. Menezes < > > carlos.mene...@usinacoruripe.com.br> escreveu: > > > > > > > > > > > Caro colega, bom dia. > > > > > > Obrigado pela dica, tentei fazer o procedimento, mas não estou tendo > > > sucesso em fazer a visão v$database_block_corruption ser populada. > > > Veja como > > > fiz: > > > > > > sapdtc101:orasm0 2> rman target = / > > > > > > Recovery Manager: Release 10.2.0.4.0 - Production on Tue Apr 26 > > > 10:19:14 > > > 2011 > > > > > > Copyright (c) 1982, 2007, Oracle. All rights reserved. > > > > > > connected to target database: SM0 (DBID=1149775909) > > > > > > RMAN> backup validate check logical database; > > > > > > Starting backup at 26-APR-11 > > > using target database control file instead of recovery catalog > > > allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=125 > > > devtype=DISK channel ORA_DISK_1: starting full datafile backupset > > > channel > > > ORA_DISK_1: specifying datafile(s) in backupset input datafile > > > fno=9 name=/oracle/SM0/sapdata2/sr3_6/sr3.data6 > > > input datafile fno=00012 name=/oracle/SM0/sapdata2/sr3_9/sr3.data9 > > > input datafile fno=4 name=/oracle/SM0/sapdata2/sr3_1/sr3.data1 > > > input data
RES: RES: Res: [oracle_br] Corrupção de dados
Caro colega, bom dia. Obrigado pela dica, tentei fazer o procedimento, mas não estou tendo sucesso em fazer a visão v$database_block_corruption ser populada. Veja como fiz: sapdtc101:orasm0 2> rman target = / Recovery Manager: Release 10.2.0.4.0 - Production on Tue Apr 26 10:19:14 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: SM0 (DBID=1149775909) RMAN> backup validate check logical database; Starting backup at 26-APR-11 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=125 devtype=DISK channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=9 name=/oracle/SM0/sapdata2/sr3_6/sr3.data6 input datafile fno=00012 name=/oracle/SM0/sapdata2/sr3_9/sr3.data9 input datafile fno=4 name=/oracle/SM0/sapdata2/sr3_1/sr3.data1 input datafile fno=6 name=/oracle/SM0/sapdata2/sr3_3/sr3.data3 input datafile fno=5 name=/oracle/SM0/sapdata2/sr3_2/sr3.data2 input datafile fno=8 name=/oracle/SM0/sapdata2/sr3_5/sr3.data5 input datafile fno=7 name=/oracle/SM0/sapdata2/sr3_4/sr3.data4 input datafile fno=00010 name=/oracle/SM0/sapdata2/sr3_7/sr3.data7 input datafile fno=00011 name=/oracle/SM0/sapdata2/sr3_8/sr3.data8 input datafile fno=00023 name=/oracle/SM0/sapdata2/sr3_12/sr3.data12 input datafile fno=00022 name=/oracle/SM0/sapdata2/sr3_11/sr3.data11 input datafile fno=00013 name=/oracle/SM0/sapdata2/sr3_10/sr3.data10 input datafile fno=00014 name=/oracle/SM0/sapdata3/sr3701_1/sr3701.data1 input datafile fno=00015 name=/oracle/SM0/sapdata3/sr3701_2/sr3701.data2 input datafile fno=00016 name=/oracle/SM0/sapdata3/sr3701_3/sr3701.data3 input datafile fno=00017 name=/oracle/SM0/sapdata3/sr3701_4/sr3701.data4 input datafile fno=2 name=/oracle/SM0/sapdata1/undo_1/undo.data1 input datafile fno=00024 name=/oracle/SM0/sapdata2/sr3_13/sr3.data13 input datafile fno=00019 name=/oracle/SM0/sapdata4/sr3db_1/sr3db.data1 input datafile fno=00020 name=/oracle/SM0/sapdata4/sr3db_2/sr3db.data2 input datafile fno=00021 name=/oracle/SM0/sapdata4/sr3db_3/sr3db.data3 input datafile fno=1 name=/oracle/SM0/sapdata1/system_1/system.data1 input datafile fno=3 name=/oracle/SM0/sapdata1/sysaux_1/sysaux.data1 input datafile fno=00018 name=/oracle/SM0/sapdata4/sr3usr_1/sr3usr.data1 channel ORA_DISK_1: backup set complete, elapsed time: 00:12:26 channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset including current control file in backupset including current SPFILE in backupset channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 Finished backup at 26-APR-11 Após isso, continua sem registrar nenhuma corrupção lógica: SQL> select * from v$database_block_corruption; no rows selected Mas se tento fazer o validate na tabela com problemas: SQL> analyze table sapsr3.snap validate structure; analyze table sapsr3.snap validate structure * ERROR at line 1: ORA-08103: object no longer exists Mas alguma sugestão?? Att, Carlos Alfredo M. de Menezes Analista de Suporte Sr. -Mensagem original- De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em nome de David Ricardo Enviada em: terça-feira, 26 de abril de 2011 09:52 Para: oracle_br@yahoogrupos.com.br Assunto: Re: RES: Res: [oracle_br] Corrupção de dados Carlos bom dia, tudo bem? Já solucionou seu problema? Caso não tenha solucionado ainda, dê uma passadinha neste endereço, lá tem um passo a passo de como usar o BMR via RMAN, talvez isso lhe ajude a elucidar algumas coisas. http://databaseguard.blogspot.com/2009/08/rman-bmr-block-media-recover.html No mais se precisar de ajuda, meu email é drb.rica...@gmail.com Abraço. Em 26 de abril de 2011 08:16, Carlos Alfredo M. Menezes < carlos.mene...@usinacoruripe.com.br> 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. d
RES: RES: Res: [oracle_br] Corrupção de dados
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" escreveu > > Colega,