Your Doorstep to the Temple of Oracle

Oracle EBS


Posted by appsdba11i on April 10, 2011

This article discusses some reasons for blocks becoming corrupted.

A user trying to understand what has caused block corruptions to occur
within the database.

Often after a corruption is encountered, organizational management wants
information from their dba on how the corruption occured and what they can do
to prevent it.

There are numerous causes as to why corruption occurs which may be generically
categorized as follows:

1. Hardware failure.
The most common hardware failure is the physical damage to the blocks
on a hard disk or malfunctioning of a disk controller. In the cases
of disk failure, the disk may fail altogether or individual spots on
the disk platter may become damaged. Typically, the corruption is
limited to files on that disk. Common causes are power surges,
movement of the system while running, age of the hardware or
manufacturing defects. OS level system calls to that disk are
usually affected as well. (reading and writing to files)

In cases of disk controller failure, you may see the same
behavior as a disk failure, but typically it is not limited to
one disk. The controller may sporadically fail in reads or writes
or there may be problems with coordination of reads and writes
between mirrored disks. The controller may fail altogether as well.

In any of these cases, you will typically see OS related errors
and/or failures.

2. Software failure.
In the cases of software failure, you typically will get Oracle
errors that will not be manifested at the OS level. Often they
are accompanied by internal errors, core dumps, or specific errors
indicating inability to read or write to a file that are not
accompanied by OS errors and deliberate attempts to dd or copy
the file completed successfully. These errors are typically as
a result of several known causes. A database or OS that is severely
poorly tuned to the extreme that the database has very bad performance
or crashes repeatedly. Killing of background processes while the
database is open. Improper handling of any of the normal kernal
level activities involving reading or writing from disk or memory
which have or have not been identified as Bugs.

The causes of software corruption varies across the spectrum and
no one consistent cause is usually manifested unless it is bug related.

3. Hardware and software corruption.
These are the most difficult to differentiate. They may manifest
themselves in any number of ways and often take a collaberative effort
of hardware experts, software experts and or developers to sort out
what the root causes are.

How to prepare for corruption

a. Prepare contingency plans for failures.
b. Keeping patch releases up to date.
c. Tuning.

The number one solution is to prepare for the worst.

Perform regular backups and exports as well as keeping the database and os
tuned. Another consideration is researching the life expectancy of hardware
and planning into the capital budget to migrate to newer systems on a periodic
basis as determined by those life exspectancies.

In summary, there is no way to totally eliminate the risk of corruption. You
can only minimize the risk and plan accordingly.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s