由于数据量较大,蓝色标示的sql语句中就添加了并行参数,但运行时却报异常,请大虾定位下什么原因导致。[14:25:30 <ERR><27131><>] DBConnect Error - OCI_ERROR:[code:12801, msg:ORA-12801: error signaled in parallel query server P015, instance nresdb1:resdb1 (1)
ORA-01555: snapshot too old: rollback segment number 459 with name "_SYSSMU459$" too small
].SQL[select /*+parallel(B 8) */to_char(A.rowid || ''),
       replace(replace(replace(A.BUSI_ID,chr(9)),chr(10)),chr(13)),
       replace(replace(replace(B.inv_id,chr(9)),chr(10)),chr(13)),
       (select areaid from im.organization where orgid = A.STORE_ID and rownum < 2),
       replace(A.STORE_ID,chr(9)),
       (SELECT (case when disttype='dstpCunty' and ORGTYPE='004001' then 4 
             else  DISTLEVEL end) orglevel           
              FROM im.ORGANIZATION x,im_dict.T_UCP_DISTRICT y 
             WHERE 
               x.ORGID =a.STORE_ID
               AND x.AREAID = y.distid(+) 
               AND y.status =1),
       to_char(DECODE(A.INOUT_FLAG, 'IN', 0, 1)),
       to_char(b.status_date, 'yyyymmddhh24miss'),
       replace(replace(replace(A.MEMO,chr(9)),chr(10)),chr(13)), 
       null,
       null,
       null
  from im.im_inout_store A, im.im_inout_store_detail B
 where A.BUSI_ID = B.BUSI_ID
   and (b.status_date between to_date(20101119||'000000', 'yyyymmddhh24miss') and
       to_date(20101119||'235959', 'yyyymmddhh24miss'))
   and a.res_kind_id = 'rsclM'
   and a.region = 11
   and b.region = 11
]

解决方案 »

  1.   

    快照过旧一般是unod段(原来的回滚段)不够造成的。
    你看一下你是什么数据库版本,undo段的管理方式,10g一般采用undo段自动管理。
      

  2.   

    SQL> select * from v$version;
     
    BANNER
    ----------------------------------------------------------------
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    PL/SQL Release 10.2.0.4.0 - Production
    CORE 10.2.0.4.0 Production
    TNS for HPUX: Version 10.2.0.4.0 - Production
    NLSRTL Version 10.2.0.4.0 - Production
      

  3.   

    撤销表空间不够。。加大撤销表空间大小
    1.加数据文件到撤销表空间
    alter undo tablespace add datafile 'xxxxx.dbf';
    2.增打数据文件的大小
    alter datafile fileId resize xxxM;
    3.将你的数据文件改为自动扩展(推荐)
    alter datafile fileId autotend on;不晓得单词有没有错误,自己检查下。。
      

  4.   

    楼上大虾的建议后续再深入研究下;问题出现那天重新将并行参数改为(+parallel(A,10) parallel(B,10) ),虽然也运行了较长的近 2 hours,但结果最终出来了,近来虽然未出现异常了,但心里还是放心不下
      

  5.   

    aaaaaabbbbbbbbbcccccccccc