Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Help ORA-07445: Struck again
Greetings,
While executing the following procedure I got an ORA-07445: error. I googled out on this error and came to know that I need to contact oracle support team.
But the same proc when made to run on some different application is
running just fine.
moreover on 10g this runs just fine.
Here I am giving some information (proc content, error, alert.log entry, db version info, os info).
I am not able use .TRC files pointed by alert.log. Its giving some permission problem.
It seems my current version is missing some patch that is available in 10g.
I even tried with only one record and it still fails.
Can someone point me a loop hole in my current procedure or some better way of writing the following procedure or do i need to contact Oracle support time?
let me know if something else is required
Proc content:
CREATE OR REPLACE PROCEDURE proc_test
AS
CURSOR cursor1 IS SELECT tab1.col1 col1, tab1.col2 col2, tab1.col3 col3, tab1.col4 col4, TO_CHAR (SYSDATE, 'YYYYMMDD') col5 FROM table1 tab1 WHERE tab1.col6 = 'BLB';
-- variable to hold Cursor return variables
inst1 cursor1%ROWTYPE; CURSOR cursor2 IS SELECT col1, col2, col3, col4, col5, col6, col7, col7_full_name, col7_iso, col8, col8_freq, col8_typ, col9, col10, col11, col12, col13, col13_shrt, col14 FROM table3; TYPE type_tab3 IS TABLE OF table3%ROWTYPE INDEX BY BINARY_INTEGER;
-- instance of the record type declared above
inst_tab3 type_tab3;
LOOP FETCH cursor1 INTO inst1; EXIT WHEN cursor1%NOTFOUND; --assigning the file name to a variable v_filename := inst1.col4 || '_' || inst1.col5 || '.txt'; SELECT tab2.col2 INTO v_location FROM table2 tab2 WHERE tab2.col1 = inst1.col1 AND tab2.col2 = inst1.col2; -- MY_FIR is a directory object mapped to a physical path on O.S drive v_file := UTL_FILE.fopen ('MY_FIR', v_filename, 'w'); OPEN cursor2; LOOP FETCH cursor2 BULK COLLECT INTO inst_tab3 LIMIT 1000; EXIT WHEN inst_tab3.COUNT = 0; FOR rec_loop IN 1 .. inst_tab3.COUNT LOOP -- Read and output first line. v_l_text := TRIM (inst_tab3 (rec_loop).col1) || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col2) || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col3) || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col4) || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col5) || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col6) || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col7) || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col7_full_name) || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col7_iso) || inst1.field_delimiter || inst_tab3 (rec_loop).col8 || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col8_freq) || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col8_typ) || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col9) || inst1.field_delimiter || inst_tab3 (rec_loop).col10 || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col11) || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col12) || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col13) || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col13_shrt) || inst1.field_delimiter || TRIM (inst_tab3 (rec_loop).col14); UTL_FILE.put_line (v_file, v_l_text); END LOOP; END LOOP; CLOSE cursor2; -- Close the file. UTL_FILE.fclose (v_file); END LOOP; CLOSE cursor1;
EXCEPTION WHEN OTHERS THEN
RAISE; DBMS_OUTPUT.PUT_LINE('exception reached');END proc_test;
>From Alert.log:
Errors in file /home/udump/psnorad1_ora_24885.trc: ORA-07445: exception encountered: core dump [ldxeti()+20] [SIGSEGV] [Address not mapped to object] [0x0] [] []
DB Version Info:
BANNER
OS Info:
SunOS 5.9 Received on Fri Mar 23 2007 - 22:28:45 CDT
![]() |
![]() |