由于数据量较大,蓝色标示的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]
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]
你看一下你是什么数据库版本,undo段的管理方式,10g一般采用undo段自动管理。
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
1.加数据文件到撤销表空间
alter undo tablespace add datafile 'xxxxx.dbf';
2.增打数据文件的大小
alter datafile fileId resize xxxM;
3.将你的数据文件改为自动扩展(推荐)
alter datafile fileId autotend on;不晓得单词有没有错误,自己检查下。。