Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-03113: end-of-file on communication channel and problems with triggers

694243Apr 3 2009 — edited Jan 10 2011
Hello!

I am using an oracle 10.2.0.4 on HP-UX 11.23

Here is the error message from my log file:
ORA-03113: end-of-file on communication channel
25.05.2008 18:28:56 my_db_package.insert_function     ERROR      end with exception at "ERROR at update into my_table" at record number ...
25.05.2008 18:28:56 my_db_package.insert_function     ERROR      unhandled exception ORA-12899: value too large for column "MY_SCHEM
A"."MY_TABLE"."TIMESTAMP" (actual: 42, maximum: 11)
25.05.2008 18:59:46 my_db_package.insert_function     ERROR      end with exception at "ERROR at update into my_table" at record number ...
25.05.2008 18:59:46 my_db_package.insert_function     ERROR      unhandled exception ORA-12899: value too large for column "MY_SCHEM
A"."MY_TABLE"."TIMESTAMP" (actual: 28, maximum: 11)
25.05.2008 18:22:37 my_db_package.insert_function     ERROR      end with exception at "ERROR at update into my_table" at record number ...
25.05.2008 18:22:37 my_db_package.insert_function     ERROR      unhandled exception ORA-12899: value too large for column "MY_SCHEM
A"."MY_TABLE"."TIMESTAMP" (actual: 25, maximum: 11)
So my questions are:

1. Should I consider the three ORA-12899 errors? Can I trust the output of the program after an ORA-03113 occurs? I mean, if ORA-03113 always leads to unexpected behaviour, then I should only consider it, and pay no attention to all following errors, right?

2. Is it possible that insufficient memory caused the ORA-03113? I tried to increase the SGA (to 12GB!) and then the program completed. However, the some (this time four) TIMESTAMP problems occured.

3. How can I handle the TIMESTAMP problem? The filed TIMESTAMP is set by a before insert trigger. The trigger is defined like this:
create or replace trigger my_table_bi
before insert on my_table for each row
begin
   if (some condition ) then 
      	RAISE_APPLICATION_ERROR(-20400,'Conflict: bla bla bla');
  end if;
   :new.timestamp := systimestamp;
end my_table_bi;
The filed TIMESTAMP is defined in the table MY_TABLE like this:

.....
timestamp TIMESTAMP NOT NULL,
.....

I think these declarations are normal. So does anyone have an idea what could have caused the problems with the TIMESTAMPs?
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 7 2011
Added on Apr 3 2009
35 comments
6,392 views