Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> ORA-03113: end-of-file on communication channel on 8.1.7 :-(

ORA-03113: end-of-file on communication channel on 8.1.7 :-(

From: Dries Verachtert <dries_at_ulyssis.org>
Date: Thu, 18 Jan 2001 00:44:34 +0100 (CET)
Message-Id: <10744.126945@fatcity.com>


Hello,

I would like to install oracle8i 8.1.6 or 8.17 on linux. The java universal installer runs fine and is able to create a script for creating my database.

When I try to run this database creation script, i get the following error: ORA-03113: end-of-file on communication channel

What can i do to solve this problem? I think it has something todo with the use of shared memory. The database-creation-script first starts /opt/oracle/product/8.1.6/svrmgrl. This program starts an 'oracle' process which crashes. It produces a core file in dbs/core-<pidnumber>/core. The backtrace of this file looks like:
#1 0x84691b6 in slcra ()
#2 0x846cd61 in ssexhd ()
#3 0x4048e329 in pthread_sighandler (signo=11, ctx={gs = 0, __gsh = 0,

      fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0,               
      edi = 3221216472, esi = 3221216600, ebp = 3221216372, esp = 3221215500,
      ebx = 3221215532, edx = 0, ecx = 3221215532, eax = 0, trapno = 14,      
      err = 4, eip = 138857842, cs = 35, __csh = 0, eflags = 66118, 
      esp_at_signal = 3221215500, ss = 43, __ssh = 0, fpstate = 0x0, 
      oldmask = 0, cr2 = 8}) at signals.c:97      

#4 <signal handler called>
#5 0x846cd72 in ssexhd ()
#6 0x4048e329 in pthread_sighandler (signo=11, ctx={gs = 0, __gsh = 0,
      fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0,   
      edi = 3221217696, esi = 3221217824, ebp = 3221217596, esp = 3221216724,
      ebx = 3221216756, edx = 0, ecx = 3221216756, eax = 0, trapno = 14,
      err = 4, eip = 138857842, cs = 35, __csh = 0, eflags = 66199,
      esp_at_signal = 3221216724, ss = 43, __ssh = 0, fpstate = 0x0, 
      oldmask = 0, cr2 = 8}) at signals.c:97 

#7 <signal handler called>
#8 0x846cd72 in ssexhd ()
#9 0x4048e329 in pthread_sighandler (signo=11, ctx={gs = 0, __gsh = 0,
      fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, 
      edi = 3221218920, esi = 3221219048, ebp = 3221218820, esp = 3221217948,
      ebx = 3221217980, edx = 0, ecx = 3221217980, eax = 0, trapno = 14, 
      err = 4, eip = 138857842, cs = 35, __csh = 0, eflags = 66195,  
      esp_at_signal = 3221217948, ss = 43, __ssh = 0, fpstate = 0x0, 
      oldmask = 0, cr2 = 8}) at signals.c:97  

#10 <signal handler called>
#11 0x846cd72 in ssexhd ()
#12 0x4048e329 in pthread_sighandler (signo=11, ctx={gs = 0, __gsh = 0,
      fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, 
      edi = 153736352, esi = 3221221320, ebp = 3221219236, esp = 3221219176, 
      ebx = 640, edx = 3221219188, ecx = 16244, eax = 502, trapno = 14, 
      err = 6, eip = 145158876, cs = 35, __csh = 0, eflags = 66067,
      esp_at_signal = 3221219176, ss = 43, __ssh = 0, fpstate = 0xbfffe6e8,
      oldmask = 2147483648, cr2 = 16244}) at signals.c:97   

#13 <signal handler called>
#14 0x8a6f2dc in sskgmstat ()

It seems to me a lot of stuff about shared mems and threads.. An 'strace -f /opt/oracle/product/8.1.6/bin/svrmgrl' contains the following:

[pid 16324] shmget(2154533560, 0, 0)    = 640
[pid 16324] shmctl(640, SHM_LOCK, 0)    = -1 EPERM (Operation not permitted)
[pid 16324] getuid32() = -1 ENOSYS (Function not implemented)
[pid 16324] shmctl(640, IPC_STAT, 0xbfffe71c) = 0
[pid 16324] --- SIGSEGV (Segmentation fault) ---
[pid 16324] rt_sigprocmask(SIG_SETMASK, [SEGV], NULL, 8) = 0
[pid 16324] --- SIGSEGV (Segmentation fault) ---
[pid 16324] rt_sigprocmask(SIG_SETMASK, [SEGV], NULL, 8) = 0
[pid 16324] --- SIGSEGV (Segmentation fault) ---
[pid 16324] rt_sigprocmask(SIG_SETMASK, [SEGV], NULL, 8) = 0
[pid 16324] --- SIGSEGV (Segmentation fault) ---
[pid 16324] rt_sigprocmask(SIG_SETMASK, [SEGV], NULL, 8) = 0 

I guess this means the child process gets some segv signals and dies. Pid 16328 is one of the oracle child processes: execve("/opt/oracle/product/8.1.6/bin/oracle", ["oracleORCL", "(DESCRIPTION =(LOCAL=YES)(ADDRESS"...], [/* 34 vars */]) = 0

I've checked the file $ORACLE_HOME/assistants/dbca/install and it's empty.

All oracle vars like ORACLE_SID and ORACLE_HOME are set like they should. I've defined all the variables that are defined by the database creation script. $LD_LIBRARY_PATH is also defined and the lib dir is also included in /etc/ld.so.conf. I'm using redhat 7.0 on an pentium II with 128 megs of ram. There is enough place on the harddisk. All X programs are exported to another computer so oracle can use all the ram it wants. I've defined 600megs of ram but only a few megs are used. The kernel is self compiled so i have reiserfs support. IPC support has been added to the kernel. The lsnrctl program is started.

Imho i think it has to do something with the shared mem stuff. 'ipcs -l' shows the following limits:
------ Shared Memory Limits -------- max number of segments = 128

max seg size (kbytes) = 32768         
max total shared memory (kbytes) = 16777216      
min seg size (bytes) = 1

'ipcs' tells me oracle uses 13918208 bytes shared memory before it crashes. I know that's very little but i lowered shared_pool_size to 2194304 and the block size to 4096 to get oracle working but it didn't help.

How can i calculate how much semaphores and shared mem the database will use? Is there somewhere a document that tells me this?

Are there any other things i should check? Does anybody know what i should to fix this problem? Is there any other info you might need? Any help is Received on Wed Jan 17 2001 - 17:44:34 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US