New ociuldr command line option -- batch

    One of my friends use ociuldr to unload 5 billion rows to text file, and finally got a 50GB text file. It's hard to process such a large text file by perl. And he finally made a suggestion to let ociuldr generate few small files. I added this option to implement this feature, a batch in ociuldr means 500000 rows, if you specified a value for this option, it will switch file name after specified batch, the default value is 0 (generate all in one file).

    If you specify the batch option, please also specify the file option for file name pattern (use %d to specify the file sequence, start from 1). Watch the following example:

SQL> SELECT COUNT(*) FROM T_OBJID;

  COUNT(*)
----------
   2430720

    Unload with the following command and check log output:

C:\TEMP>ociuldr user=anysql/anysql query="select * from t_objid" batch=2 file=test_%d.txt

       0 rows exported at 2006-11-23 21:09:19
  500000 rows exported at 2006-11-23 21:09:20
1000000 rows exported at 2006-11-23 21:09:21
         output file test_1.txt closed at 1000000 rows.
  500000 rows exported at 2006-11-23 21:09:21
1000000 rows exported at 2006-11-23 21:09:22
         output file test_2.txt closed at 1000000 rows.
  430720 rows exported at 2006-11-23 21:09:22
         output file test_3.txt closed at 430720 rows.

    Please download the latest binary file, or download source code and compile it. For Linux/Unix compilation, specify the 64-bit IO compile option for large file support.

Post a comment

SCode:
Mail(*, but will not be displayed):
Home: