ステートメントを100万回実行する代わりに、単一の挿入ステートメントを使用することをお勧めします。
insert into myTable
select
dbms_random.value(1, 500),
dbms_random.value(1, 500)
from
dual
connect by
level <= 1*1000*1000;
補足:dbms_random
の実行に費やされた時間を測定しましたか 実際にどのくらいの時間 値を挿入しますか?