| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: UTL_FILE performance
Try ....=20
CREATE OR REPLACE PROCEDURE read_asql_log (
p_filename IN VARCHAR2
, p_location IN VARCHAR2)
AS
fhandle UTL_FILE.FILE_TYPE; strtstamp VARCHAR2 (8); strrows VARCHAR2 (6); strdescription VARCHAR2 (255); v_logline VARCHAR2 (4000); v_tstamp DATE; v_rows_affected NUMBER; v_description VARCHAR2 (255); file_error EXCEPTION;
UTL_FILE.GET_LINE (fhandle, v_logline);
strtstamp :=3D SUBSTR(v_logline, 1, 8);
EXIT WHEN strtstamp =3D 'Time Use';
--
strrows :=3D SUBSTR(v_logline, 9, 16);
v_description :=3D SUBSTR(v_logline, 16, 255);
v_tstamp :=3D TO_DATE (TRIM (strtstamp), 'HH24:MI:SS');
v_rows_affected :=3D TO_NUMBER (TRIM (strrows) );
--
INSERT INTO asql_log (tstamp, rows_affected, description)
VALUES (v_tstamp, v_rows_affected, v_description);
EXCEPTION -- reached end =
of file
WHEN NO_DATA_FOUND THEN
EXIT;
I have a procedure that reads 10046^8 trace files and analyzes them, it =
reads 208mb file in under 5 minutes and I haven't got time to optimize =
it.
Raj
-------------------------------------------------------------------------=
-- Archives are at http://www.freelists.org/archives/oracle-l/ FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html -----------------------------------------------------------------Received on Tue Feb 17 2004 - 14:10:05 CST
![]() |
![]() |