10g: DataFile Corruption Possible from Create

xiaoxiao2021-03-06  81

Create ControlFile Can Corrupt DataFile Headers this alert described The Issue Reported in bugs 3514615.

Versions affected

This Affects Oracle Server Version 10.1.0.2 ONLY.

Platforms affected

Generic, All Platforms Are Affected.

Description

Issuing a

Create ControlFile Command in oracle 10.1.0.2 when

Compatible is set Lower Than 10.0.0 can Cause Caurtion to datafile

Headers

Only if The Installation Uses Oracle Based Resilvering.

Likelihood of Occurrence

This Problem Can Only Occur iF All of the Following Are True:

The datafiles are at version 9.2 (or lower) compatibility (ie: The files are from a backup or shutdown where they were last written to by an instance with COMPATIBLE <10.0.0). Oracle based resilvering is in use A CREATE CONTROLFILE command is Issued

Oracle Resilvering Can BE Enabled for Files Which Are Created

On Top of An LVM (Logical Volume Manager). How Oracle Resilvering

IS Enabled Depends on The LVM in Use.

EG:

ON VERITAS VOLUMES ORACLE Resilvering Is Enabled by Setting Volcvm_smartsync

TO 1

IN / ETC / SYSTEM

Setting it to 0 disables Oracle Resilvering.

Oracle Resilvering Can Also Be Enabled for ASM FILES But As

this feature needs compatible> = 10.0.0 the this is online

Possible in this (obscure) Scenario:

If a database which was last written to with COMPATIBLE <10.0 is restored using RMAN into ASM (Automatic Storage Management) disks which have redundancy enabled (See the REDUNDANCY column in V $ ASM_FILE to check this) then this gives Oracle 9.2 compatible files in an ASM Environment. Creating a controlfile even with compatible = 10.0.0 or higher will lead to the corruption described in this Alert.

Possible Symptoms

IF Oracle Is Used For DataFile Resilvering The Create ControlFileWill Corrupt The DataFile Headers Through The Header Resilvering

Writes. bying to Perform A Subsequent "Open ResetLogs", Oracle Will

Detect The Header Corruptions and The Open Will Fail with Errors

Similar To this:

Error At Line 1:

ORA-01122: Database File 1 failed verification check

ORA-01110: Data File 1: '

... / db1 / t_db1.f '

ORA-26102: Relative File # in file header is 0 Rather Than 1 for File 1

Workaround

If you need to itssue a create controlfile1 disable Oracle Based

Resilvering Before Issuing the Command.

(How to disable it depends on the lvm being used)

If you have alleady corrupted the datafile headers thrupted the data

To Follow IS:

1. RESTORE A DATABASE Backup from Before The "Create ControlFile"

Command That Caused The Corruption

2. Disable Oracle Based Resilver

3. Issue the "Create ControlFile" Command to Recreate the ControlFile

4. Perform Media Recovery (As Required)

5. Open the Database Resetlogs

6. shutdown

7. RE-enabled Oracle Resilvering If Required

Patches

This Problem is fixed in the 10.1.0.3 patch set.

References

Bug for 3514615 the bug for the problem described in this Note

Keyword

Alertinfo

转载请注明原文地址:https://www.9cbs.com/read-88820.html

New Post(0)