官术网_书友最值得收藏!

Block corruption due to NOLOGGING

If a NOLOGGING (or UNRECOVERABLE) operation is performed on an object and the datafile containing that object is subsequently recovered, then the data blocks affected by the NOLOGGING operation are marked as corrupt and will signal an ORA-1578 error when accessed. In Oracle 8i, an ORA-26040 is also signaled (ORA-26040: Data block was loaded using the NOLOGGING option) which makes the cause fairly obvious, but earlier releases have no additional error message. If a block is corrupt due to recovery through a NOLOGGING operation, you need to understand that:

  • Recovery cannot retrieve the NOLOGGING data
  • No data is salvageable from inside the block

If this is your situation, please note that:

  • The indexes with corrupt blocks can be dropped and re-created
  • The corrupt tables can be dropped and built from an alternative data source
  • The datafile(s) impacted by the NOLOGGING operations can be refreshed from the primary or the backup which was completed after the NOLOGGING operation
  • Or a combination of the preceding points

Currently in Oracle 9i and Oracle 10g R1, only the primary database v$datafile view reflects NOLOGGING operations. In Oracle 10g R2, the v$datafile view was enhanced to include information regarding when an invalidation redo is applied and the aforementioned corrupted blocks are written to the corresponding datafile on a Redo Apply (or media recovery or standby) instance.

主站蜘蛛池模板: 讷河市| 镇平县| 天全县| 呼和浩特市| 马关县| 华阴市| 甘德县| 叶城县| 任丘市| 峨山| 丰原市| 洛南县| 蒙山县| 介休市| 宜川县| 浦北县| 大石桥市| 延长县| 麟游县| 安阳县| 武威市| 蛟河市| 揭西县| 南皮县| 卫辉市| 曲周县| 上栗县| 通江县| 疏勒县| 襄汾县| 临朐县| 洞口县| 锦屏县| 衡阳县| 昌都县| 兴城市| 汉川市| 尼玛县| 沿河| 建平县| 海林市|