Re: Oracle Data Corruption error message
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 ownReceived on Wed Nov 02 1994 - 19:48:02 CET