Bom, a essa altura do campeonato você já deve ter resolvido mas... você deu uma olhada no parâmetro UNDO_RETENTION?
2009/3/13 samsouza_am <samsouza...@yahoo.com.br> > estamos precisando processar um select e o mesmo está sempre retornando > erro de rollback (ora-1555: instantâneo muito antigo / segmento de rollback > muito pequeno). A nossa área de undo e 40Gb e está sendo usada menos de 2%. > Alguém tem alguma idéia? A versão do oracle é 9.2.0.7 e o S.O. é RHEL4-x64. > Segue o select que está dando problema. > Detalhe: antes do erro, o select processa por cerca de 24 horas. > > *** SCRIPT START : > Session:dmit...@ajuri.manaus.com.br<DMITOSO%40AJURI.MANAUS.COM.BR>(1) > 20-fev-2009 11:09:41 *** > Processing ... > SELECT > MESANO, > CLASSE, > DECODE(LOCL,1,'CAPITAL','INTERIOR') "DESCRIÇÃO", > NATUREZA, > FAIXA, > SUBGRUPO, > SUM(QTD) QTD, > SUM(DEMFATR) "DEM. FATUR", > SUM(CONSFATR) "CONS. FATUR", > SUM(ULTRDEM) "ULTRAP. DEM", > SUM(IMPORTEDEM) "IMPORTE DEM.(R$)", > SUM(IMPORTECONS) "IMPORTE CONS.(R$)", > SUM(IMPORTEULTDEM) "ULTRAP. DEM(R$)", > SUM(ICMS) ICMS, > SUM(PIS) PIS, > SUM(COFINS) COFINS > FROM (SELECT /*+ RULE */ > TO_CHAR(F.FTCD_DT_COMPETENCIA,'MM/RRRR') MESANO, > C.clas_descr_classe CLASSE, > f.ftcd_local LOCL, > DECODE(FTCD_NUMERO_FD,0,'1-REGULAR','2-REFATURAMENTO REGULAR') NATUREZA, > DECODE(F.FTCD_CLASSE,1, > DECODE(NVL(FTCD_INDICA_CASCATA,0),0, > DECODE(F.ftcd_cons_ah_kwh, > LEAST(F.ftcd_cons_ah_kwh,30),'CONVECIONAL ATÉ 030', > LEAST(F.ftcd_cons_ah_kwh,100),'CONVECIONAL 031 - 100', > LEAST(F.ftcd_cons_ah_kwh,200),'CONVECIONAL 101 - 200', > LEAST(F.ftcd_cons_ah_kwh,300),'CONVECIONAL 201 - 300', > LEAST(F.ftcd_cons_ah_kwh,400),'CONVECIONAL 301 - 400', > LEAST(F.ftcd_cons_ah_kwh,500),'CONVECIONAL 401 - 500', > LEAST(F.ftcd_cons_ah_kwh,1000),'CONVECIONAL 501 - 1000', > 'CONVENCIONAL MAIOR QUE 1000 KWH') , > DECODE(F.ftcd_cons_ah_kwh, > LEAST(F.ftcd_cons_ah_kwh, 30),'RESIDENCIAL-BAIXA RENDA ATÉ-030', > LEAST(F.ftcd_cons_ah_kwh,100),'RESIDENCIAL-BAIXA RENDA DE 031 ATÉ 100', > LEAST(F.ftcd_cons_ah_kwh,200),'RESIDENCIAL-BAIXA RENDA DE 101 ATÉ 200', > 'RESIDENCIAL-BAIXA RENDA MAIOR QUE 200'))) FAIXA, > DECODE(F.FTCD_TENSAO,2,'B2-RURAL' > ,3,'B3-DEMAIS CLASSES' > ,4,'B4b-ILUMINAÇÃO PÚBLICA' > ,7,'A4 - (2,3 A 25 KV)' > ,8,'A4 - (2,3 A 25 KV)' > ,9,'A3 - 69KV' > ,10,'A4 - (2,3 A 25 KV)' > ,11,'A4 - (2,3 A 25 KV)' > ,T.tens_descr_RESUMIDA_tensao) SUBGRUPO, > COUNT(*) QTD, > SUM(DECODE(F.FTCD_TIPO_LIGACAO,4,NVL(F.ftcd_dem_fatur,0) + > NVL(F.ftcd_dem_pot_reat_exced,0) + > NVL(F.ftcd_dem_fatur_pta,0) + > NVL(F.ftcd_dem_fatur_fpta,0) + > NVL(F.ftcd_dmcr_pta,0) + > NVL(F.ftcd_dmcr_fpta,0),0)) DEMFATR, > TRUNC((SUM(DECODE(F.FTCD_TIPO_MEDICAO,2,NVL(F.FTCD_CONS_AH_KWH,0 > ),NVL(F.ftcd_cons_fatur,0))) + > SUM(DECODE(F.FTCD_TIPO_MEDICAO,2,NVL(F.ftcd_energia_reat_exced,0),NVL(F.ftcd_energia_reat_exced,0))) > + > SUM(DECODE(F.FTCD_TIPO_MEDICAO,2,NVL(F.ftcd_cons_fatur_pta,0),NVL(F.ftcd_cons_fatur_pta,0))) > + > SUM(DECODE(F.FTCD_TIPO_MEDICAO,2,NVL(F.ftcd_cons_fatur_fpta,0),NVL(F.ftcd_cons_fatur_fpta,0))) > + > > SUM(DECODE(F.FTCD_TIPO_MEDICAO,2,NVL(F.ftcd_ufer_pta,0),NVL(F.ftcd_ufer_pta,0)))+ > SUM(DECODE(F.FTCD_TIPO_MEDICAO,2,NVL(F.ftcd_ufer_fpta,0),NVL(F.ftcd_ufer_fpta,0))) > > )) CONSFATR, > (SUM(NVL(F.ftcd_dem_exc_pta,0) + > NVL(F.ftcd_dem_exc_fpta,0)) + > SUM(DECODE(FTCO.ftco_dem_medida, > LEAST(FTCO.ftco_dem_medida,(FTCO.ftco_dem_ctda * 1.1)),0, > (FTCO.ftco_dem_medida - FTCO.ftco_dem_ctda) ))) ULTRDEM, > SUM(DECODE(F.FTCD_TIPO_LIGACAO,4,NVL(F.ftcd_importe_dem,0) + > NVL(F.ftcd_importe_acresc_dem,0) + > NVL(F.ftcd_importe_dprex,0) + > NVL(F.ftcd_importe_dem_pta,0) + > NVL(F.ftcd_importe_dem_fpta,0) + > NVL(F.ftcd_importe_dmcr_pta,0) + > NVL(F.ftcd_importe_dmcr_fpta,0),0) ) IMPORTEDEM, > SUM(NVL(F.ftcd_importe_cons,0) + > NVL(F.ftcd_importe_erex,0) + > NVL(F.ftcd_importe_cons_pta,0) + > NVL(F.ftcd_importe_cons_fpta,0) + > NVL(F.ftcd_importe_ufer_pta,0) + > NVL(F.ftcd_importe_ufer_fpta,0) > ) IMPORTECONS, > SUM(DECODE(F.FTCD_TIPO_LIGACAO,4,NVL(F.ftcd_importe_dem_exc_pta,0),0)) + > SUM(DECODE(F.FTCD_TIPO_LIGACAO,4,NVL(F.ftcd_importe_dem_exc_fpta,0),0)) + > TRUNC(SUM(DECODE(F.FTCD_TIPO_LIGACAO,4,DECODE(FTCO.FTCO_DEM_CTDA,0,0, > DECODE(FTCO.ftco_dem_medida,LEAST(FTCO.ftco_dem_medida,(FTCO.ftco_dem_ctda > * 1.1)),0, > DECODE(F.ftcd_aliq_imposto,25, > (FTCO.ftco_dem_medida - FTCO.ftco_dem_ctda) * 3 * F.ftcd_tarifa_dem * > 1.333333,0 ) > )),0))) IMPORTEULTDEM, > SUM(NVL(F.FTCD_VALOR_IMPOSTO,0)) ICMS , > SUM(LL.PIS) PIS, > SUM(LL.COFINS) COFINS > FROM > FATURA_CADASTRO F, > FATURA_CONSUMO FTCO, > CLASSE C, > TENSAO T, > ( SELECT /*+ RULE */ > L.unid_ident_uc UC,L.fatr_mes_ano_fatmto MESANO,L.fatr_numero_fd FD, > SUM(DECODE(L.edev_cod_enc_dev,31,NVL(L.lanc_valor_moeda_corrente,0),0)) > PIS, > SUM(DECODE(L.edev_cod_enc_dev,32,NVL(L.lanc_valor_moeda_corrente,0),0)) > COFINS > FROM LANCAMENTO L > WHERE L.unid_ident_uc >0 > AND L.tenc_tipo_enc_dev = 6 > AND L.edev_cod_enc_dev IN (31,32) > GROUP BY L.unid_ident_uc ,L.fatr_mes_ano_fatmto ,L.fatr_numero_fd ) LL > WHERE > F.ftcd_dt_competencia >= TO_DATE('01-JAN-08','DD-MON-RR') > AND F.ftcd_dt_competencia <= TO_DATE('01-JAN-09','DD-MON-RR') > and f.ftcd_classe = 1 > AND FTCO.ftco_ident_uc = F.ftcd_ident_uc > AND FTCO.ftco_mes_ano_fatmto = F.ftcd_mes_ano_fatmto > AND FTCO.ftco_numero_fd = F.ftcd_numero_fd > AND FTCO.ftco_ident_uc >= 0 > AND FTCO.ftco_mes_ano_fatmto <= F.ftcd_dt_competencia > AND FTCO.ftco_numero_fd >= 0 > AND T.tens_tensao = F.ftcd_tensao > AND C.clas_classe = F.ftcd_classe > AND LL.UC(+) = F.FTCD_IDENT_UC > AND LL.MESANO(+) = F.FTCD_MES_ANO_FATMTO > AND LL.FD(+) = F.FTCD_NUMERO_FD > GROUP BY TO_CHAR(F.FTCD_DT_COMPETENCIA,'MM/RRRR') , > C.clas_descr_classe ,f.ftcd_local , > DECODE(FTCD_NUMERO_FD,0,'1-REGULAR','2-REFATURAMENTO REGULAR') , > DECODE(F.FTCD_CLASSE,1, > DECODE(NVL(FTCD_INDICA_CASCATA,0),0, > DECODE(F.ftcd_cons_ah_kwh, > LEAST(F.ftcd_cons_ah_kwh,30),'CONVECIONAL ATÉ 030', > LEAST(F.ftcd_cons_ah_kwh,100),'CONVECIONAL 031 - 100', > LEAST(F.ftcd_cons_ah_kwh,200),'CONVECIONAL 101 - 200', > LEAST(F.ftcd_cons_ah_kwh,300),'CONVECIONAL 201 - 300', > LEAST(F.ftcd_cons_ah_kwh,400),'CONVECIONAL 301 - 400', > LEAST(F.ftcd_cons_ah_kwh,500),'CONVECIONAL 401 - 500', > LEAST(F.ftcd_cons_ah_kwh,1000),'CONVECIONAL 501 - 1000', > 'CONVENCIONAL MAIOR QUE 1000 KWH') , > DECODE(F.ftcd_cons_ah_kwh, > LEAST(F.ftcd_cons_ah_kwh, 30),'RESIDENCIAL-BAIXA RENDA ATÉ-030', > LEAST(F.ftcd_cons_ah_kwh,100),'RESIDENCIAL-BAIXA RENDA DE 031 ATÉ 100', > LEAST(F.ftcd_cons_ah_kwh,200),'RESIDENCIAL-BAIXA RENDA DE 101 ATÉ 200', > 'RESIDENCIAL-BAIXA RENDA MAIOR QUE 200'))) , > DECODE(F.FTCD_TENSAO,2,'B2-RURAL' > ,3,'B3-DEMAIS CLASSES' > ,4,'B4b-ILUMINAÇÃO PÚBLICA' > ,7,'A4 - (2,3 A 25 KV)' > ,8,'A4 - (2,3 A 25 KV)' > ,9,'A3 - 69KV' > ,10,'A4 - (2,3 A 25 KV)' > ,11,'A4 - (2,3 A 25 KV)' > ,T.tens_descr_RESUMIDA_tensao) > UNION ALL > SELECT /*+ RULE */ > TO_CHAR(F.FTCD_DT_CONTAB,'MM/RRRR') MESANO, > C.clas_descr_classe CLASSE, > f.ftcd_local LOCL, > DECODE(FTCD_NUMERO_FD,0,'1-REGULAR','2-REFATURAMENTO REGULAR') NATUREZA, > DECODE(F.FTCD_CLASSE,1, > DECODE(NVL(FTCD_INDICA_CASCATA,0),0, > DECODE(F.ftcd_cons_ah_kwh, > LEAST(F.ftcd_cons_ah_kwh,30),'CONVECIONAL ATÉ 030', > LEAST(F.ftcd_cons_ah_kwh,100),'CONVECIONAL 031 - 100', > LEAST(F.ftcd_cons_ah_kwh,200),'CONVECIONAL 101 - 200', > LEAST(F.ftcd_cons_ah_kwh,300),'CONVECIONAL 201 - 300', > LEAST(F.ftcd_cons_ah_kwh,400),'CONVECIONAL 301 - 400', > LEAST(F.ftcd_cons_ah_kwh,500),'CONVECIONAL 401 - 500', > LEAST(F.ftcd_cons_ah_kwh,1000),'CONVECIONAL 501 - 1000', > 'CONVENCIONAL MAIOR QUE 1000 KWH') , > DECODE(F.ftcd_cons_ah_kwh, > LEAST(F.ftcd_cons_ah_kwh, 30),'RESIDENCIAL-BAIXA RENDA ATÉ-030', > LEAST(F.ftcd_cons_ah_kwh,100),'RESIDENCIAL-BAIXA RENDA DE 031 ATÉ 100', > LEAST(F.ftcd_cons_ah_kwh,200),'RESIDENCIAL-BAIXA RENDA DE 101 ATÉ 200', > 'RESIDENCIAL-BAIXA RENDA MAIOR QUE 200'))) FAIXA, > DECODE(F.FTCD_TENSAO,2,'B2-RURAL' > ,3,'B3-DEMAIS CLASSES' > ,4,'B4b-ILUMINAÇÃO PÚBLICA' > ,7,'A4 - (2,3 A 25 KV)' > ,8,'A4 - (2,3 A 25 KV)' > ,9,'A3 - 69KV' > ,10,'A4 - (2,3 A 25 KV)' > ,11,'A4 - (2,3 A 25 KV)' > ,T.tens_descr_RESUMIDA_tensao) SUBGRUPO, > COUNT(*) QTD, > (0 - (SUM(DECODE(F.FTCD_TIPO_LIGACAO,4,NVL(F.ftcd_dem_fatur,0) + > NVL(F.ftcd_dem_pot_reat_exced,0) + > NVL(F.ftcd_dem_fatur_pta,0) + > NVL(F.ftcd_dem_fatur_fpta,0) + > NVL(F.ftcd_dmcr_pta,0) + > NVL(F.ftcd_dmcr_fpta,0),0)))) DEMFATR, > (0 - > (TRUNC((SUM(DECODE(F.FTCD_TIPO_MEDICAO,2,F.FTCD_CONS_AH_KWH,NVL(F.ftcd_cons_fatur,0))) > + > SUM(DECODE(F.FTCD_TIPO_MEDICAO,2,NVL(F.ftcd_energia_reat_exced,0),NVL(F.ftcd_energia_reat_exced,0))) > + > SUM(DECODE(F.FTCD_TIPO_MEDICAO,2,NVL(F.ftcd_cons_fatur_pta,0),NVL(F.ftcd_cons_fatur_pta,0))) > + > SUM(DECODE(F.FTCD_TIPO_MEDICAO,2,NVL(F.ftcd_cons_fatur_fpta,0),NVL(F.ftcd_cons_fatur_fpta,0))) > + > > SUM(DECODE(F.FTCD_TIPO_MEDICAO,2,NVL(F.ftcd_ufer_pta,0),NVL(F.ftcd_ufer_pta,0)))+ > SUM(DECODE(F.FTCD_TIPO_MEDICAO,2,NVL(F.ftcd_ufer_fpta,0),NVL(F.ftcd_ufer_fpta,0))) > > )))) CONSFATR, > (0 - (SUM(NVL(F.ftcd_dem_exc_pta,0) + > NVL(F.ftcd_dem_exc_fpta,0)) + > SUM(DECODE(FTCO.ftco_dem_medida, > LEAST(FTCO.ftco_dem_medida,(FTCO.ftco_dem_ctda * 1.1)),0, > (FTCO.ftco_dem_medida - FTCO.ftco_dem_ctda) )))) ULTRDEM, > (0 - (SUM(DECODE(F.FTCD_TIPO_LIGACAO,4,NVL(F.ftcd_importe_dem,0) + > NVL(F.ftcd_importe_acresc_dem,0) + > NVL(F.ftcd_importe_dprex,0) + > NVL(F.ftcd_importe_dem_pta,0) + > NVL(F.ftcd_importe_dem_fpta,0) + > NVL(F.ftcd_importe_dmcr_pta,0) + > NVL(F.ftcd_importe_dmcr_fpta,0),0) ))) IMPORTEDEM, > (0 - (SUM(NVL(F.ftcd_importe_cons,0) + > NVL(F.ftcd_importe_erex,0) + > NVL(F.ftcd_importe_cons_pta,0) + > NVL(F.ftcd_importe_cons_fpta,0) + > NVL(F.ftcd_importe_ufer_pta,0) + > NVL(F.ftcd_importe_ufer_fpta,0) > ))) IMPORTECONS, > (0 - > (SUM(DECODE(F.FTCD_TIPO_LIGACAO,4,NVL(F.ftcd_importe_dem_exc_pta,0),0)) + > SUM(DECODE(F.FTCD_TIPO_LIGACAO,4,NVL(F.ftcd_importe_dem_exc_fpta,0),0)) + > TRUNC(SUM(DECODE(F.FTCD_TIPO_LIGACAO,4,DECODE(FTCO.FTCO_DEM_CTDA,0,0, > DECODE(FTCO.ftco_dem_medida,LEAST(FTCO.ftco_dem_medida,(FTCO.ftco_dem_ctda > * 1.1)),0, > DECODE(F.ftcd_aliq_imposto,25, > (FTCO.ftco_dem_medida - FTCO.ftco_dem_ctda) * 3 * F.ftcd_tarifa_dem * > 1.333333,0 ) > )),0))))) IMPORTEULTDEM, > (0 - (SUM(NVL(F.FTCD_VALOR_IMPOSTO,0)))) ICMS , > (0 - SUM(LL.PIS)) PIS, > (0 - SUM(LL.COFINS)) COFINS > FROM > FATURA_CADASTRO F, > FATURA_CONSUMO FTCO, > CLASSE C, > TENSAO T , > ( SELECT /*+ RULE */ > L.unid_ident_uc UC,L.fatr_mes_ano_fatmto MESANO,L.fatr_numero_fd FD, > SUM(DECODE(L.edev_cod_enc_dev,31,NVL(L.lanc_valor_moeda_corrente,0),0)) > PIS, > SUM(DECODE(L.edev_cod_enc_dev,32,NVL(L.lanc_valor_moeda_corrente,0),0)) > COFINS > FROM LANCAMENTO L > WHERE L.unid_ident_uc > 0 > AND L.tenc_tipo_enc_dev = 6 > AND L.edev_cod_enc_dev IN (31,32) > GROUP BY L.unid_ident_uc ,L.fatr_mes_ano_fatmto ,L.fatr_numero_fd ) LL > WHERE > F.ftcd_dt_contab >= TO_DATE('01-JAN-08','DD-MON-RR') > AND F.ftcd_dt_contab <= TO_DATE('01-JAN-09','DD-MON-RR') > and f.ftcd_sit_fatura in ('CANC','SUBS') > and f.ftcd_classe = 1 > AND FTCO.ftco_ident_uc = F.ftcd_ident_uc > AND FTCO.ftco_mes_ano_fatmto = F.ftcd_mes_ano_fatmto > AND FTCO.ftco_numero_fd = F.ftcd_numero_fd > AND FTCO.ftco_ident_uc >= 0 > AND FTCO.ftco_mes_ano_fatmto <= F.ftcd_dt_contab > AND FTCO.ftco_numero_fd >= 0 > AND T.tens_tensao = F.ftcd_tensao > AND C.clas_classe = F.ftcd_classe > AND LL.UC(+) = F.FTCD_IDENT_UC > AND LL.MESANO(+) = F.FTCD_MES_ANO_FATMTO > AND LL.FD(+) = F.FTCD_NUMERO_FD > GROUP BY TO_CHAR(F.FTCD_DT_CONTAB,'MM/RRRR') , > C.clas_descr_classe , > f.ftcd_local , > DECODE(FTCD_NUMERO_FD,0,'1-REGULAR','2-REFATURAMENTO REGULAR') , > DECODE(F.FTCD_CLASSE,1, > DECODE(NVL(FTCD_INDICA_CASCATA,0),0, > DECODE(F.ftcd_cons_ah_kwh, > LEAST(F.ftcd_cons_ah_kwh,30),'CONVECIONAL ATÉ 030', > LEAST(F.ftcd_cons_ah_kwh,100),'CONVECIONAL 031 - 100', > LEAST(F.ftcd_cons_ah_kwh,200),'CONVECIONAL 101 - 200', > LEAST(F.ftcd_cons_ah_kwh,300),'CONVECIONAL 201 - 300', > LEAST(F.ftcd_cons_ah_kwh,400),'CONVECIONAL 301 - 400', > LEAST(F.ftcd_cons_ah_kwh,500),'CONVECIONAL 401 - 500', > LEAST(F.ftcd_cons_ah_kwh,1000),'CONVECIONAL 501 - 1000', > 'CONVENCIONAL MAIOR QUE 1000 KWH') , > DECODE(F.ftcd_cons_ah_kwh, > LEAST(F.ftcd_cons_ah_kwh, 30),'RESIDENCIAL-BAIXA RENDA ATÉ-030', > LEAST(F.ftcd_cons_ah_kwh,100),'RESIDENCIAL-BAIXA RENDA DE 031 ATÉ 100', > LEAST(F.ftcd_cons_ah_kwh,200),'RESIDENCIAL-BAIXA RENDA DE 101 ATÉ 200', > 'RESIDENCIAL-BAIXA RENDA MAIOR QUE 200'))) , > DECODE(F.FTCD_TENSAO,2,'B2-RURAL' > ,3,'B3-DEMAIS CLASSES' > ,4,'B4b-ILUMINAÇÃO PÚBLICA' > ,7,'A4 - (2,3 A 25 KV)' > ,8,'A4 - (2,3 A 25 KV)' > ,9,'A3 - 69KV' > ,10,'A4 - (2,3 A 25 KV)' > ,11,'A4 - (2,3 A 25 KV)' > ,T.tens_descr_RESUMIDA_tensao)) > GROUP BY > MESANO, > CLASSE, > DECODE(LOCL,1,'CAPITAL','INTERIOR'), > NATUREZA, > FAIXA, > SUBGRUPO > SELECT > * > ORA-01555: instantâneo muito antigo: número de segmento de rollback 6 com > nome "_SYSSMU6$" muito pequeno > *** Script stopped due to error *** > *** SCRIPT END : > Session:dmit...@ajuri.manaus.com.br<DMITOSO%40AJURI.MANAUS.COM.BR>(1) > 21/2/2009 11:06:55 *** > > > -- Atenciosamente, Gleyson Melo Oracle Database 10g Administrator Certified Professional [As partes desta mensagem que não continham texto foram removidas]