Re: Oracle Data Corruption error message

From: Todd Herr <therr_at_snoopy.sra.com>
Date: 2 Nov 1994 13:48:02 -0500
Message-ID: <398mt2$ssd_at_snoopy.sra.com>


Joe Kazimierczyk (kaz_at_sis.bms.com) wrote:

: In article <CyA8r2.6HA_at_skopen.dseg.ti.com>, joel_at_skopen.dseg.ti.com (Joel Quejada) writes:
: |>
: |>One of my users is getting the following Oracle data corruption
: |>message:
: |>
: |>ERROR:
: |>ORA-01578: ORACLE data block corrupted (file # 24, block # 2)
: |>ORA-00600:
: |> internal error code, arguments: [3339], [0], [1610612738], [], [], []
: |>
: |>
: |>This sounds like some kind of a disk media surface defect. However,
: |>I don't see any messages being reported by the OS. We are planning on
: |>doing a complete dump, reformat, and restore of this disk. Is this
: |>the only way to solve this problem?
: |>
 

: We had a regular occurrance of this problem in a 7.0.15 database on VMS.
: It turned out to be a bug (#235912) which would occurr under the following
: circumstance: if the last column of a table is of type LONG, and you
: set it to NULL, the block can become corrupt. I beleive this bug exists
: on other operating system too. It's fixed in 7.1.3, but patches are
: available for earlier versions.
 

: The immediate fix in our case was to just drop the corrupted table,
: and restore from the last export.

For future reference:

There's a utility called oerr in $ORACLE_HOME/bin. You pass it the 3 letter prefix (in this case ora) and the number of your error, and *sometimes* you get more descriptive information. (If I'm restating the obvious, a thousand pardons)

oerr ora 1578 yields:
01578, 00000, "ORACLE data block corrupted (file # %s, block # %s)"

// *Cause:  The data block indicated was corrupted, mostly due to software
//          errors.
// *Action: Try to restore the segment containing the block indicated. This
//          may involve dropping the segment and recreating it. If there
//          is a trace file, report the errors in it to your ORACLE
//          representative.

which seems to reflect exactly Mr. Kazimierczyk's solution and advice.

Also, oerr ora 600 yields:
00600, 00000, "internal error code, arguments: [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s]"

// *Cause:  This is the generic internal error number for Oracle program
//         exceptions.  This indicates that a process has encountered an
//         exceptional condition.
// *Action: Report as a bug - the first argument is the internal error number

: Bottom line is: Call Oracle support - you may not need to mess with your
: file system!
 

: ----------------
: Joe Kazimierczyk
: kaz_at_bms.com

--
Todd Herr					"Cogito cogito ergo cogito sum"
herrt_at_smtplink.sra.com				My views are my own
Received on Wed Nov 02 1994 - 19:48:02 CET

Original text of this message