05.04.09

ORACLE牛逼的问题

Posted in Oracle管理 at 3:56 pm by David.Guo

昨天晚上正在写报告列,结果有值班电话被接通,alan同学不方便接电话,我听的。

应用说,我有个表是的字段是date型的,写了sql,限定只查询4月1号的数据,可是3月29号等等乱七八糟的数据都出来了。

我第一反应,肯定是应用写的sql有问题吗,oracle不会傻到这个地步吧。然后,应用告诉我,大哥,我真的会写那个sql的。

ok,既然如此,mail给我所有的信息,数据库名,表名,使用的sql语句。

仔细检查,还真没啥问题列。

自己测试下,得到如下的结果(为客户隐私原因,隐去表名)。

metalink上搜索后,无确认对应bug。

处理方法是:处理方法先保密,看看大家觉得这是什么问题。

 PS:事后俺还电话给应用道歉,咋是文明人不是。

 

20 Comments »

  1. ricky said,

    May 4, 2009 at 4:17 pm

    难不成是TZ不一致?

  2. niubro said,

    May 4, 2009 at 4:24 pm

    to_date 转换忽略了时间

  3. Bin.Gong said,

    May 4, 2009 at 5:17 pm

    应该不是TZ的问题,如果是TZ问题就不会把29日的数据也Query出来。
    显示应该是30日的数据。
    David还是公布答案吧。

  4. onlydba@163.com said,

    May 4, 2009 at 5:25 pm

    原来是bug4156916啊,学习了。。

  5. paulyibinyi said,

    May 4, 2009 at 6:16 pm

    oracle 10g 也碰到过一次,最后表数据库重倒后又正常了

  6. NinGoo said,

    May 5, 2009 at 9:00 am

    我比较好奇,allan同学当时在干吗,不方便接听电话。。。。

  7. David.Guo said,

    May 5, 2009 at 1:26 pm

    To NinGoo
    Alan同学为啥不方便接听电话,这个这个这个吗,呵呵,自己想。

    我只能透露点,他女朋友在,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

    我得意的笑。

     

  8. YEXICHANG said,

    May 5, 2009 at 2:13 pm

    这些人,太不单纯了。。。
    是不是时间格式加上HH24:MI:SS就正确了?

  9. 巭熊猫 said,

    May 6, 2009 at 5:25 pm

    谜底是什么啊 我测试了一下 没出现这情况啊

  10. itpro_zhang said,

    May 7, 2009 at 1:28 pm

    TO_DATE without a full date format mask ??

  11. itpro_zhang said,

    May 7, 2009 at 1:29 pm

    9i里面好像遇到过,比较久了,记不大清楚

  12. jason said,

    May 8, 2009 at 9:08 am

    what? is this also need to discuss as a case.hahaha.

  13. MKing said,

    May 8, 2009 at 4:50 pm

    eygle也说是bug4156916,但比较怪啊,在9.2.0.1和9.2.0.8上测试都没发现这个问题,是不是还有什么特殊触发条件?

  14. xinhuatian said,

    May 21, 2009 at 3:22 pm

    sys.aud$里面的时间和系统时间会差8个小时,不过这个差的也太多了吧。
    我怀疑可能是另外一个bug导致的(bug号不清楚,咱没matalink帐户)
    bug现象是:当where后面的条件顺序调换一下后,查询处理的结果居然不同。
    放到这个问题上来讲,会不会只应用了rownum

  15. 风亦飞 said,

    May 31, 2009 at 2:04 pm

    猜测一下:难道是有人重载了to_date函数?

  16. hbwp2008 said,

    July 3, 2009 at 8:49 am

    这个几表是不是分区表呢?

  17. Terry-Tianjinhui said,

    July 16, 2009 at 10:39 am

    这个很简单的,

    alter session set nls_date_format=’yyyy-mm-dd’;

  18. 曾经最美 said,

    August 6, 2009 at 11:42 pm

    char?

  19. John said,

    September 16, 2009 at 2:41 pm

    没有发现问题,我在10g里测试了一下没有发现这种情况,LZ还是说一下原因吧。

  20. 我是DBA said,

    October 31, 2009 at 10:04 pm

    一直玩MSSQL,随便发几句,错了别怪我。yyyy/mm/dd是不是MM大写?

Leave a Comment