Use the DBMS_PIPE built-in package to create, write to, and read from database pipes. Database pipes are chunks of memory in the System Global Area that serve as conduits of information, primarily between Oracle sessions. Since the information is stored in memory, all information in a pipe is lost when a database is shut down.
Prior to Oracle8 and Oracle8i, database pipes were used to build “a better debugger” (better than DBMS_OUTPUT, in any case) and, among other activities, interact with native operating system programs. The external program could then perform tasks that would otherwise be impossible from within PL/SQL.