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

Home -> Community -> Usenet -> c.d.o.server -> Re: what could cause an index to corrupt?

Re: what could cause an index to corrupt?

From: Billy Verreynne <vslabs_at_onwe.co.za>
Date: Tue, 11 Sep 2001 10:53:23 +0200
Message-ID: <9nkjfi$b2v$1@ctb-nnrp1.saix.net>


"Guang Mei" <gmei_at_proteome.com> wrote

>

> We have twice seen a problem of index corruption after importing a schema.
> For example today I got:

Not an Oracle problem per se.

> ERROR at line 1:
> ORA-01115: IO error reading block from file 14 (block # 262144)
> ORA-01110: data file 14: '/oracle/u01/oradata/RPT1/indexes04.dbf'
> ORA-27072: skgfdisp: I/O error
> SVR4 Error: 25: Inappropriate ioctl for device

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\

That is the actual underlaying error. Unix System V Release 4 error. On the call ioctl.

--
 NAME
      ioctl - control device

 SYNOPSIS
      #include <sys/ioctl.h>

      int ioctl(int fildes, int request, ... /* arg */);

    Remarks
      The ANSI C ", ...  " construct denotes a variable length argument list
      whose optional [or required] members are given in the associated
      comment (/* */).

 DESCRIPTION
      ioctl() performs a variety of functions on character special files
      (devices), or regular files and directories on VxFS file systems.
<snipped>
--

The errors you can get from an ioctl() call:

[EBADF]   fildes is not a valid open file descriptor.
Unlikely as Oracle is not in the habit of opening a file without the correct
filehandle.

[ENOTTY] The request is not appropriate to the selected
         device.
Unlikely, unless you are trying to fun Oracle datafiles of something like a tape
device or NFS.. ;-)

[EINTR]   A signal was caught during the ioctl() system
          call.
Unlikely. Why would Oracle want to throw a signal in this mix? (it should/does
have a separate signal handler)

[EINVAL]  request or arg is not valid.
Possibly the error. You said that the datafile "indexes04.dbf" is 2048MB in
size. Does it have autoextend enabled? What is the maximum size of the a file
system on your platform? Is there additional space available?

Oracle is likely trying to do "something" with the datafile (the reason that the
icotl call was made). The operating system returned an error. Thus the
assumptions (usually defaults that you as DBA specify to Oracle) made by Oracle
for this datafile is wrong and is not supported (i.e. trying to extend the size4
of the file beyond the file system's limitations).


--
Billy
Received on Tue Sep 11 2001 - 03:53:23 CDT

Original text of this message

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