var my_action VARCHAR2(30); exec :my_action:='bulk insert'; @login select sysdate from dual; exec DBMS_APPLICATION_INFO.SET_ACTION (action_name => :my_action); DECLARE -- Configuration v_start_val INTEGER := 20000000; v_count INTEGER := 10000000; -- Define the collection type TYPE t_int_tab IS TABLE OF INTEGER INDEX BY PLS_INTEGER; v_numbers t_int_tab; BEGIN -- 1. Manual Loop to populate the variable -- This replaces the "BULK COLLECT" step with procedural logic FOR i IN 1 .. v_count LOOP v_numbers(i) := v_start_val + (i - 1); END LOOP; FORALL i IN 1..v_numbers.COUNT INSERT INTO SAMPLE.RANDOM_DATA_LOAD VALUES(v_numbers(i),'bulk insert',sysdate); commit; END; / select sysdate from dual;