- Este tópico contém 4 respostas, 3 vozes e foi atualizado pela última vez 11 anos, 5 meses atrás por
ericclauber.
-
AutorPosts
-
19 de junho de 2014 às 9:31 pm #106711
ericclauber
ParticipanteOlá pessoa estou tentando exportar uma tabela com EXPD e está ocorrendo erro.
A estatistica da tabela é de 10,37GB, e quando chega aos 6GB ocorre os erros.
***********************************************ORA-31693: Objeto de dados de tabela “nome_tabela” falhou ao ser carregado/descarregado e esta sendo ignorado em decorrencia de um erro:
ORA-02354: erro ao exportar/importar dados
ORA-01555: instantaneo muito antigo: numero de segmento de rollback com nome “” muito pequeno
ORA-22924: snapshot muito antigo***********************************************
ja coloquei undo_retention = 604800(7 dias).
ja aumentei a tablespace de UNDO.
ja passei ALTER TABLE tabname MODIFY LOB (lobname) ( PCTVERSION n ) de 10 para 50;mas o erro persiste.
Aguardo ajuda.
Grato!!!
Eric Clauber
20 de junho de 2014 às 4:10 pm #106715rman
Participante@ericclauber
Você foi no caminho certo. Esse erro pode ser 2 coisa, o UNDO_RETENTION ou o tamanho da UNDO. Continue aumentando.
20 de junho de 2014 às 5:09 pm #106718ericclauber
ParticipanteOlá rman
O que eu acho estranho é que o export demora so uns 15 minutos e o undo_retention está em 7 dias(antes era padrao = 900sec = 15min). E enquanto estava exportanto verifiquei a utilizaçao dos datafiles de undo(dba_data_files) e de 16gb, so tinha utilizado menos de 400m. E quando chega a 6gb de 10.7gb da tabela, para com o erro. De qualquer forma vou aumentar aqui pra ver.
20 de junho de 2014 às 9:22 pm #106720Fábio Prado
Participante@eric
Acabei de entrar no MOS e fazer algumas pesquisas. Me parece que a origem do problema ou é tamanho do UNDO ou retenção de UNDO pequeno ou algum LOB corrompido. Como vc já aumentou o UNDO e sua retenção, é possível que vc tenha algum segmento LOB corrompido. Sugiro a leitura do doc “Troubleshooting ORA-01555/ORA-01628/ORA-30036 during export and import (Doc ID 1579437.1)”.
[]s
2 de julho de 2014 às 6:36 pm #106740ericclauber
ParticipanteOlá Fabio/Rman
Era LOB(coluna) corrompido mesmo. Um amigo meu DBA depois de quebrarmos a cabeça ele nos deu a luz. Com o seguinte script abaixo ajudou a encontrar as linhas corrompidas que ocorria os erros. Nesse caso o ORA-01555.
Dai foi só exportar com parametro ‘QUERY’ excluindo as linhas com problema.
**********************************************************
serveroutput ondeclare
error_1555 exception;
pragma exception_init(error_1555,-1555);
num number;
begin
for cursor_lob in (select rowid r, &&lob_column from &table_owner.&table_with_lob) loop
begin
num := dbms_lob.instr (cursor_lob.&&lob_column, hextoraw (‘889911’)) ;
exception
when error_1555 then
dbms_output.put_line(cursor_lob.r);
end;
end loop;
end;
/
*********************************************************Agora a recuperação das linhas(blocos) é outra historia. Rs! O Mais importante era resolver isso para fazer a virada para novo servidor, ja que a tabela com problema nao impactava nas principais funções da aplicaçao.
vlwwwwww.
-
AutorPosts
- Você deve fazer login para responder a este tópico.