- This topic has 4 replies, 3 voices, and was last updated 10 years, 4 months ago by ericclauber.
-
AuthorPosts
-
19 de junho de 2014 at 9:31 pm #106711ericclauberParticipant
Olá 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 at 4:10 pm #106715rmanParticipant@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 at 5:09 pm #106718ericclauberParticipantOlá 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 at 9:22 pm #106720Fábio PradoParticipant@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 at 6:36 pm #106740ericclauberParticipantOlá 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.
-
AuthorPosts
- You must be logged in to reply to this topic.