I regularly happens to me that I want to generate a random set of records in an Oracle table. That could happen if we want to assess performance of a certain procedure. Or (other example) if we want to estimate the size of a table. A great thing of Oracle is the random function where random strings and numbers can be generated.
I created a table (GROOT) that contains three fields: an integer, a 10 character string and a date.
This can be loaded with this script. Within the script you will find also a number that indicates the number of records being generated. In my case, it is 2 million.
This scipt work blazingly fast. Within seconds, I had my table being loaded.
insert into SCOTT.GROOT SELECT ROWNUM n , dbms_random.string('U', 10) , to_date('2014-01-01', 'yyyy-mm-dd')+trunc(dbms_random.value(1,1000)) FROM ( SELECT 1 just_a_column FROM dual CONNECT BY LEVEL <= 2000000 );