É bem simples : sim, os datafiles todos são armazenados no SO, ** mas ** o bd 
Oracle se 'auto-controla' também : assim nas tabelas internas do banco (que a 
gente pode consultar pelas views do dicionário DBA_TABLES, DBA_SEGMENTS, 
DBA_TABLESPACES, DBA_EXTENTS, etc) fica marcado que o datafile xyz vai do bloco 
1 ao 100 (digamos), que a tabela tal fica dentro do datafile xyz nos blocos de 
10 a 40 (digamos)... O bug é interno, ele quebra exatamente esses registros 
internos, assim no SO (digamos) o datafile vai do bloco 1 ao 100, mas no 
dicionário de dados está erradamente marcado que ele vai do 1 ao 99, ou do 1 ao 
101, sei lá, então o DBV como só vai no SO corretamente lê os blocos de 1 a 
100, já quando o banco tenta acessar os datafiles/objs internamente tá marcado 
que bloco a mais ou a menos, dá pau... Blz, tá mais claro ? É uma corrupção 
interna, dos 'registros internos' do banco...
 Fosse um banco de produção vc abriria Chamado e descobriria exatamente onde 
está o prob, qual registro de qual tabela interna está apontando pra menos ou 
mais blocos do que devia, mas como é banco Dev e sem Suporte fica difícil vc 
persistir na análise, então acho q vc vai só mesmo fazer o work-around de 
recriar a tablespace noutro lugar , mover os objs pra nova TS e dropar a 
antiga, bypassando/retirando das tabs internas do banco os regs corruptos : 
Claro que depois disso feito vc VAI usar as tools que falei, ie, DBV offline, 
dbv online, export full, SELECTs que leiam as tabs todas, que scaneiem s 
índices todos, VALIDATE dos índices, os scripts que a Oracle dá, etc, pra ter 
certeza que esse banco agora tá integro logicamente....
 Pra fazer o move pras novas tablespaces vc pode usar o ALTER TABLE ... MOVE / 
ALTER INDEX REBUILD mesmo : fosse um banco prod, aonde não pode haver down-time 
ou este tem que ser mínimo, poderia se apelar pras packages de REDEF, mas pra 
banco DEV não acho que valha a pena...

 []s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, "candiurudba" <candiuru...@...> escreveu
>
> Chiappa...
> 
> Não entendi muito bem esta questão de datafile ir alem dos limtes de SO pq 
> teoricamente, todos os objetos criados são armazenados dentro do SO...dentro 
> de seus limites fisicos / logicos...não é isso ? De qualquer forma vou dar 
> uma olhada nos notes do metalink...
> 
> Uma outra questão...vc tem alguma sugestão de uma melhor maneira de migra o 
> que esta nesta tablespace para alguma outra ?
> 
> 
> 
> --- Em oracle_br@yahoogrupos.com.br, José Laurindo <jlchiappa@> escreveu
> >
> > Na verdade, como as notas dizem, os bugs envolvidos permitem ou criar um 
> > datafile além dos limites do SO, ficando com tamanho inválido, aí vc tem no 
> > dicionário um pointer apontando pro bloco x mas na verdade no SO o datafile 
> > acaba em x-y : num caso desses o DBV (que lê os blocos a partir do SO, 
> > tanto que pode ser executado com db offline) pára a leitura no bloco x-y, 
> > não chega até o bloco x corrupto.... Dê uma checada nos notas sobre 
> > Corrupção no metalink que a Oracle fala exatamente isso, ie, que o DBv faz 
> > verificação física, dos DATAFILEs apenas, pra vc encontrar corrupção no 
> > dicionário é usar export e/ou full table scans/fast indexes scans, esses 
> > sim lêem a informação extent por extent, baseado no dicionário... É um 
> > conjunto , no set toolkit pra healtcheck vc TEM que fazer um dbv online, um 
> > dbv offline, um export full, FTSs e FFISs (via SELECTs adequadamente 
> > preparados), consultar status na DBA_OBJECTS dos objetos do SYS, rodar os 
> > scripts quea Oracle disponibiliza, check frequente do alert e dos trace 
> > files gerados, é isso aí.
> > 
> >  []s
> > 
> >    Chiappa
> > 
> > --- Em oracle_br@yahoogrupos.com.br, "candiurudba" <candiurudba@> escreveu
> > >
> > > Boa tarde colegas...
> > > 
> > > GRande Chiappa..
> > > 
> > > Seguinte, após ler aqueles últimos posts la do metalink, bem observados 
> > > pelo chiappa, decide partir para uma investigação doq ue estava realmente 
> > > acontecendo e provavelmente existe sim um datafile corrompido...uma 
> > > tablespaces minha...
> > > 
> > > 
> > > Mas eis a questão, o codigo de erro informa que o problema possivelmente 
> > > é na tablespace TSTESTE ([kcfrbd_3], [21]...onde segundo o suporte da 
> > > Oracle esta segunda casa representa o datafile...)
> > > 
> > > Executei o DBV neste datafile e nada..não me mostrou erro algum. Entao 
> > > fiz a importação de algumas tabelas para este tablespace e toma-lhe erro 
> > > ORA-600.
> > > 
> > > Tentei fazer a criação de uma tabela simples, apontando para esta 
> > > tablespace e toma-lhe ORA-600, alterei a criação da tabela para um outra 
> > > tablespace e funcionou bunito...
> > > 
> > > Mas minha duvida segue...se realmente trata-se de corrompimento de um 
> > > datafile (e acredito realmente que seja) pq o DBV não exibiu ? Será que o 
> > > nivel de Bad block seja no SO e desta forma ele não conseguiria encontrar 
> > > o problema ?
> > > 
> > > Alguem teria alguma sugestão para realizar a migração dos dados contidos 
> > > nesta tablespace para uma nova ? e Posteriormente a migração dos dados 
> > > para a mesma (ja recriada) ?
> > > 
> > > Pensei em fazer algo do tipo: ALTER TABLE OWNER.TABLE_NAME MOVE 
> > > TABLESPACE TABLESPACE_DESTINO mas são mais de 500 tabelas e nem contei 
> > > ainda os indices...
> > > 
> > > 
> > > 
> > > --- Em oracle_br@yahoogrupos.com.br, José Laurindo <jlchiappa@> escreveu
> > > >
> > > > Nada estranho : cfrme as notas, essa issue parece ser bug referente à 
> > > > datafile corrompido por tamanho inválido/transport tablespace com 
> > > > bitmap, certamente esse schema 'grande' só que deve estar tentando usar 
> > > > o(s) datafile(s) corrupto(s)... 
> > > > 
> > > >  []s
> > > > 
> > > >    Chiappa
> > > > 
> > > > --- Em oracle_br@yahoogrupos.com.br, "candiurudba" <candiurudba@> 
> > > > escreveu
> > > > >
> > > > > Grande Chiappa..
> > > > > 
> > > > > Realmente estava pesquisando errado...
> > > > > 
> > > > > Estou trabalhando com o Banco Stardard 10.2.0.4 e um CentOS 
> > > > > 2.6.18-164.6.1.el5 #1 SMP Tue Nov 3 16:12:36 EST 2009 x86_64 x86_64 
> > > > > x86_64 GNU/Linux..
> > > > > 
> > > > > Irei pesquisar novamente la no Metalink...
> > > > > 
> > > > > O que é estranho é que para outro esquema eu consegui realizar a 
> > > > > importação sem problemas mas somente para este, que é grande não 
> > > > > consegui...
> > > > > 
> > > > > 
> > > > > 
> > > > > --- Em oracle_br@yahoogrupos.com.br, José Laurindo <jlchiappa@> 
> > > > > escreveu
> > > > > >
> > > > > > Dia... Colega, se vc não achou nada no metalink pode-se por 
> > > > > > premissa assumir que vc pesquisou de modo Completamente, 
> > > > > > totalmente, ** absolutamente ** ERRADO : até há casos onde isso 
> > > > > > acontece, mas é Muito raro... O caso deve ter sido o seguinte : não 
> > > > > > sei se vc sabe, mas errors ORA-600 seguem um padrão, o primeiro 
> > > > > > argumento é o 'módulo', o 'componente'do banco aonde deu o bug, os 
> > > > > > demais são detalhes da sua máquina, como posição da memória se foi 
> > > > > > bug de mem, detalhes do datafile se foi bug de file, etc - eu 
> > > > > > IMAGINO que vc deve ter , ** Erradamente **, pesquisado por 
> > > > > > ORA-00600: internal error code, arguments: [kcfrbd_3], [21], 
> > > > > > [3047433], [1],
> > > > > > [3047432], [3047432], [], [], ** LOGICAMENTE ** que é minúscula a 
> > > > > > chance de vc achar probs com os MESMOS números de datafiles/etc que 
> > > > > > os seus, né não ? Pesquisando rapidamente no metalink por 
> > > > > > "ORA-00600 [kcfrbd_3]" achei as notas 284565.1, 146580.1, 601798.1, 
> > > > > > 7251049.8 e 3219491.8, veja lá... 
> > > > > >  Outro ponto, errors ORA-600 tem uma pesquisa ** Especial ** só pra 
> > > > > > eles no metalink,é o Error Lookup em n ORA-600 no Doc ID 153788.1 , 
> > > > > > mas PRA VARIAR não o pude usar porque vc PRA VARIAR NÃO DIZ a 
> > > > > > versão exata (com 4 dígitos) do banco e nem do SO - use-a e veja o 
> > > > > > que vc vai ver ...
> > > > > > 
> > > > > >  []s
> > > > > > 
> > > > > >   Chiappa
> > > > > > 
> > > > > > 
> > > > > > --- Em oracle_br@yahoogrupos.com.br, "candiurudba" <candiurudba@> 
> > > > > > escreveu
> > > > > > >
> > > > > > > Bom dia Colegas,
> > > > > > > 
> > > > > > > Estou com um problemão relacionado a importação dia datapump...
> > > > > > > 
> > > > > > > Alguns esquemas menores consigo exportar sem problema algum mas, 
> > > > > > > quando tento exportar os meus maiores, tenho os seguintes erros:
> > > > > > > 
> > > > > > > ORA-31693: Table data object "XXX"."XXX" failed to load/unload 
> > > > > > > and is being skipped due to error:
> > > > > > > ORA-02354: error in exporting/importing data
> > > > > > > ORA-39776: fatal Direct Path API error loading table "XXX"."XXX"
> > > > > > > ORA-00600: internal error code, arguments: [kcfrbd_3], [21], 
> > > > > > > [3047433], [1], [3047432], [3047432], [], []
> > > > > > > ORA-39014: One or more workers have prematurely exited.
> > > > > > > ORA-39029: worker 1 with process name "DW01" prematurely 
> > > > > > > terminated
> > > > > > > ORA-31672: Worker process DW01 died unexpectedly.
> > > > > > > 
> > > > > > > Procurei no Metalink e não vi nada a respeito sobre este ORA 600 
> > > > > > > e o pior é que este banco esta em um CentOS por ser um servidor 
> > > > > > > da equipe de desenvolvimento, ou seja, não tenho suporte para 
> > > > > > > ele...
> > > > > > > 
> > > > > > > Alguem teria alguma ideia ?
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>


Responder a