Re: Large file I/O

From: Tim Jinkerson <TIMJ_at_mssint.demon.co.uk>
Date: 1995/07/12
Message-ID: <319987267wnr_at_mssint.demon.co.uk>#1/1


In article: <3u0496$mni_at_harbinger.cc.monash.edu.au> emm_at_daneel.rdt.monash.edu.au (Evan McLean) writes:
>
> We need to be able to read and particularly write large files from PL/SQL.
> Packages such as dbms_output seem to store everything you write into a
> table and only flush to disk when the program finishes. This is no good
> as some of the files we are writing are so large that the table runs out
> of room.
>
> Our current solution is having a I/O server program written in Pro*C that
> uses dbms_pipe's to allow PL/SQL to communicate with it. A front end
> package with functions and procedures like fopen, fclose and fputs have
> also been written in PL/SQL. This has the advantage of being "unbuffered"
> by Oracle, but has the disadvantages that if the server program dies for
> any reason, the program doing the I/O also dies. An inactivity timeout
> system is also required otherwise files could be left open indefinately
> by errant programs.
>
> I was wondering if there was a better way of achieving the writing of
> large disk files from PL/SQL that anybody may have.
>
> Thanx in advance.
>
> E.
> --
> emm_at_rdt.monash.edu.au | The continued survival of the human race,
> (Occasionaly thought | despite its own stupidity, is the strongest
> of as Evan McLean) | argument for the existence of a benevolent God.
>
>

If only there was! I can almost hear Oracle support saying 'Why would you want to create flat files from within PL/SQL?'.

Do you find that you get reasonable performance using pipes? In particular, how about bi-directional pipes?

Tim Jinkerson
MSS International Received on Wed Jul 12 1995 - 00:00:00 CEST

Original text of this message