0

我有一个非常简单的查询,它随机返回重复的行。有时我没有重复,有时我有重复的结果集,重复的记录每次都不同。我正在对冻结的数据库运行查询(数据不会改变)。我的Oracle版本是11g。

我在一个日期只有一个过滤器(在 WHERE 子句中)
to_char(date,'yyyy/mm') > = '2012/03':。

任何帮助,将不胜感激。感谢您的关注。此致。

完整查询

select distinct 
   B.ORD_V_COD_ROWID as c1,
   B.ORD_D_DAT_INSERITO_RIFIUTATO as c2,
   B.ORD_D_DAT_RIFIUTO_SIS as c3
  from   
       NRFTF_ORD_ORDINE A,
       NRFTF_COR_ORDINI_RDS B
  where  (A.ORD_N_DWH_NUM_ORDINE = B.ORD_N_DWH_NUM_ORDINE 
  and B.ORD_V_COD_CAUSALE = 'CLIENTE NON AFFIDABILE' 
  and B.ORD_V_COD_STATO = 'RIFIUTATO' 
  and B.RDS_C_DWH_FLG_CANCELLAZIONE = '0' 
  and B.ORD_C_DWH_FLG_CANCELLAZIONE = '0' 
  and B.ORD_V_COD_CAUSALE = 'CLIENTE NON AFFIDABILE' 
  and B.PER_NAME_MONTH >= '2012/03' 
  and (B.ORD_D_DAT_RIFIUTO_SIS >= TO_DATE('2012-03-22 00:00:00' , 'YYYY-MM-DD HH24:MI:SS') 
  or B.ORD_D_DAT_INSERITO_RIFIUTATO >= TO_DATE('2012-03-22 00:00:00' , 'YYYY-MM-DD HH24:MI:SS')) 
  and  TO_CHAR (A.ord_d_dat_creazione,'YYYY/MM') >= '2012/03' ) 
  order by c1, c2, c3
4

1 回答 1

0

有趣的。我已经看到索引损坏的类似行为。重建索引解决了一段时间的问题,但随后非确定性行为又回来了。我们最终致电 Oracle 支持。他们在一个非常令人印象深刻的 24 小时全球更新数据字典会话中修复了它。

我会尝试从头开始重建所有涉及的表和索引。

如果这没有帮助,并且您三次检查您没有任何动态发生在您身边,请联系 Oracle 支持。

于 2012-04-24T12:54:47.197 回答