Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Snapshot too old
Hi there
While running the following procedure, I get the following Oracle Error Message:
ORA-01555: snapshot too old: rollback segment number 3 with name "R02" too small
The size of the Rollback segments are: Initial 1M, Next 1M, Optimal 20M, Maxextents 99.
The amount of Rows being selected into the cursor is +- 1.4 million and the size of the source table is 80M.
Here is the procedure:
PROCEDURE LOAD3_RAG_SKUS_ST_HIST_FM IS
Cursor RSkusCursor is SELECT * FROM tru_stg_rag_skus_st_hist;
-- where rownum < 10000;
RSkusRecord RSkusCursor%ROWTYPE; v_trans_cnt number (5):=0; v_total number := 0;
update RAG_SKUS_ST_HIST set SALES = 1 where SKU = RSkusRecord.sku and STORE = RSkusRecord.from_branch and EOW_DATE = RSkusRecord.transaction_date and SALES_TYPE = 'R'; If SQL%NOTFOUND then insert into RAG_SKUS_ST_HIST (sku, style, store, eow_date, sales_type) values (RSkusRecord.sku, RSkusRecord.type||RSkusRecord.style, RSkusRecord.from_branch, RSkusRecord.transaction_date, 'R'); End if; v_trans_cnt:= v_trans_cnt + 1; If v_trans_cnt >= 500 then commit; v_total:=v_total + v_trans_cnt;
-- dbms_output.put_line ('Committed ' || v_trans_cnt);
-- dbms_output.put_line ('Total Committed ' || v_total);
v_trans_cnt:=0; End if;
Oracle DBA Truworths International Cape Town, South Africa Tel: +27 21 460-7561 Fax: +27 21 461-7641 E-mail: fmohidin_at_truworths.co.zaReceived on Thu Feb 26 1998 - 00:00:00 CST
![]() |
![]() |