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-27102 SVR4 Error: 12: Not enough space

lrpJun 1 2009 — edited Apr 1 2010
Our Oracle 11.1.0.7 database is running on Solaris 10 / Sunfire hardware. Unfortunately, we've been seeing our database crash and corrupt a datafile in the process several times. The key alert log message is below (which I've blanked out some info for security purposes):
KCF: write/open error block=0xbc28 online=1
file=6 /***************.dbf
error=27063 txt: 'SVR4 Error: 12: Not enough space
Additional information: -1
Additional information: 8192'

KCF: write/open error block=0x1571 online=1
file=57 *************.dbf
error=27063 txt: 'SVR4 Error: 12: Not enough space
Additional information: -1
Additional information: 8192'
Automatic datafile offline due to write error on
file 57: ***********.dbf
I've already done a forum search for the error codes but couldn't find any other post that matched my exact situation/code. The key coincidence here is that the number 8192 matches a value in my ulimit (stack size). Below is what I would currently see as my oracle user:
ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 10
stack size (kbytes, -s) 8192  <-------------
cpu time (seconds, -t) unlimited
max user processes (-u) 29995
virtual memory (kbytes, -v) unlimited
Oracle's documentation doesn't give me much information on what ORA-27063 means. Does anybody else know how Oracle reports 'Error 12:" codes coming from the OS? What the "additional information: -1" or "additional information: 8192" means? I need this in my troubleshooting so we can measure and adjust the correct resource, instead of blindly increasing stack size or other resource parameters on the OS.

Comments

LA County APEX

Usually, I used a staging table instead of loading the data directly into the working table so that I can clean up the data after the data has been loaded into the staging table.

However, if you can try to use a trigger by fetching the check list id from the lookup table.

For example:

create or replace trigger bi_my_tbl

before insert on my_tbl

for each row

begin

if :new.id_checklist is null then

   begin

     select id_checklist

       into :new.id_checklist

       from CHECKLIST_ITEM

        where Checklist_Content = :new.Checklist_Content

           and rownum = 1;

   exception when others then

     null;

   end;

end if;

end;

1 - 1
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Apr 29 2010
Added on Jun 1 2009
23 comments
17,064 views