Dear List I have a very large file basically it is logfile generated by sql loader......... In the production environment this file can have one million/ two million data. In this file there are 4 particular lines which i need to extract from this log file.
*Total logical records skipped: 0 Total logical records read: 4830 Total logical records rejected: 51 Total logical records discarded: 4760 * These four lines stayed at the bottom of the. Now if I use a filehandel to open the file and stored it contents in an array and after that I make a search to find these 4 lines then it will take lot of times to get output. So is there any other way where I dont need to store the file in a array and I can directly search the file and when I find these lines I can store these lines in some array or variables. I am pesting part of the file here. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SQL*Loader: Release 9.2.0.1.0 - Production on Tue Feb 5 10:58:04 2008 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Control File: FINAL.ctl Data File: FINAL.DAT Bad File: FINAL.bad Discard File: FINAL.dsc (Allow all discards) Number to load: ALL Number to skip: 0 Errors allowed: 50 Bind array: 64 rows, maximum of 256000 bytes Continuation: none specified Path used: Conventional Table DIM_DIAL_DIGIT, loaded when ISO_COUNTRY_CODE = 0X54554e(character 'TUN') Insert option in effect for this table: APPEND Column Name Position Len Term Encl Datatype ------------------------------ ---------- ----- ---- ---- --------------------- DIAL_DIGIT_KEY FIRST * ; O(") CHARACTER BU_KEY NEXT * ; O(") CHARACTER NULL if BU_KEY = 0X4e554c4c(character 'NULL') NOP_ID_KEY NEXT * ; O(") CHARACTER SDCA_LOCATION_CODE NEXT * ; O(") CHARACTER TARGET_REGION_DESC NEXT * ; O(") CHARACTER TARGET_COUNTRY_CODE NEXT * ; O(") CHARACTER NULL if TARGET_COUNTRY_CODE = 0X4e554c4c(character 'NULL') TARGET_COUNTRY_DESC NEXT * ; O(") CHARACTER LDCA_NAME NEXT * ; O(") CHARACTER SDCA_NAME NEXT * ; O(") CHARACTER LDCC_X_COORD NEXT * ; O(") CHARACTER NULL if LDCC_X_COORD = 0X4e554c4c(character 'NULL') LDCC_Y_COORD NEXT * ; O(") CHARACTER NULL if LDCC_Y_COORD = 0X4e554c4c(character 'NULL') SDCC_X_COORD NEXT * ; O(") CHARACTER NULL if SDCC_X_COORD = 0X4e554c4c(character 'NULL') SDCC_Y_COORD NEXT * ; O(") CHARACTER NULL if SDCC_Y_COORD = 0X4e554c4c(character 'NULL') POPULATION_DATE_TIME NEXT * ; O(") DATE MM/DD/YYYY HH24:MI:SS NULL if POPULATION_DATE_TIME = 0X4e554c4c(character 'NULL') ISO_COUNTRY_CODE NEXT * ; O(") CHARACTER HOTLIST_IND NEXT * ; O(") CHARACTER BLACKLIST_IND NEXT * ; O(") CHARACTER UPDATE_DATE_TIME NEXT * ; O(") DATE MM/DD/YYYY HH24:MI:SS NULL if UPDATE_DATE_TIME = 0X4e554c4c(character 'NULL') EVENT_TYPE_KEY NEXT * ; O(") CHARACTER NULL if EVENT_TYPE_KEY = 0X4e554c4c(character 'NULL') PROVIDER_DESCRIPTION NEXT * ; O(") CHARACTER DM_IND NEXT * ; O(") CHARACTER DIAL_DIGIT_OPERATOR_TYPE NEXT * ; O(") CHARACTER CALL_DIRECTION_KEY NEXT * ; O(") CHARACTER NULL if CALL_DIRECTION_KEY = 0X4e554c4c(character 'NULL') DIAL_DIGIT_DESCRIPTION NEXT * ; O(") CHARACTER Record 1: Discarded - failed all WHEN clauses. FORCE_RI_IND NEXT * ; O(") CHARACTER TEST_CALL_IND NEXT * ; O(") CHARACTER Record 1: Discarded - failed all WHEN clauses. Record 2: Discarded - failed all WHEN clauses. Record 3: Discarded - failed all WHEN clauses. Record 4: Discarded - failed all WHEN clauses. Record 5: Discarded - failed all WHEN clauses. Record 6: Discarded - failed all WHEN clauses. ...................................... ......................................... ............................................ Record 482500: Discarded - failed all WHEN clauses. Record 485001: Discarded - failed all WHEN clauses. Record 485002: Discarded - failed all WHEN clauses. Record 485003: Discarded - failed all WHEN clauses. Record 485004: Discarded - failed all WHEN clauses. Record 231: Rejected - Error on table DIM_DIAL_DIGIT. ORA-00001: unique constraint (SCOTT.SYS_C003608) violated ........................................ ............................................ Record 232: Rejected - Error on table DIM_DIAL_DIGIT. ORA-00001: unique constraint (SCOTT.SYS_C003608) violated Record 233: Rejected - Error on table DIM_DIAL_DIGIT. ORA-00001: unique constraint (SCOTT.SYS_C003608) violated Record 234: Rejected - Error on table DIM_DIAL_DIGIT. ORA-00001: unique constraint (SCOTT.SYS_C003608) violated Record 235: Rejected - Error on table DIM_DIAL_DIGIT. ORA-00001: unique constraint (SCOTT.SYS_C003608) violated Record 236: Rejected - Error on table DIM_DIAL_DIGIT. ORA-00001: unique constraint (SCOTT.SYS_C003608) violated MAXIMUM ERROR COUNT EXCEEDED - Above statistics reflect partial run. Table DIM_DIAL_DIGIT: 0 Rows successfully loaded. 51 Rows not loaded due to data errors. 4760 Rows not loaded because all WHEN clauses were failed. 0 Rows not loaded because all fields were null. Space allocated for bind array: 254904 bytes(38 rows) Read buffer bytes: 1048576 *Total logical records skipped: 0 *--------->* Total logical records read: 4830 Total logical records rejected: 51 Total logical records discarded: 4760 -------> these are the four lines i need to extract.* Run began on Tue Feb 05 10:58:04 2008 Run ended on Tue Feb 05 10:58:04 2008 Elapsed time was: 00:00:00.28 CPU time was: 00:00:00.11 Thanks & Regards in advance Anirban Adhikary.